串行口数据传输的仿真和硬件实现实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行口数据传输的仿真
及硬件实现
第*组
班级:**********
姓名:*** ***
指导老师:***
一、实验目的:
串行口数据传输是数字系统中常用的一种数据传输方式。本次课程设计要求学生综合数字逻辑电路和串行口通信的有关知识,用硬件独立设计完成一个简单的串行口数据传输系统,并用FPGA可编程逻辑器件进行仿真。
二、实验仪器
1 双踪示波器 1台
2 直流稳压电源 1台
3 频率计 1台
4 数字万用表 1台
5 面包板 1台
三、实验内容与设计:
1、实验内容:一个简单的串行口数据传输系统的系统框图如下:
由图可见,系统分为发送端,接收端两部分。发送端主要是同步字符、结束字符、时钟电路和信息码发生器。
接收端包括串/并转换电路、字符检测电路、控制电路、锁存接收和显示电路。
2、各部分功能的端口设置:
(1)时钟电路:晶振的时钟输入信号、通过分频后提供系统使用的输出信号。
(2)信号发生电路:时钟电路发出的时钟信号输入端、生成的序列输出端。
(3)串并转换电路:时钟信号输入、串行序列输入端、并行序列输出端。
(4)字符检测电路:若采用并行检测,有并行数据输入端、检测信号输出端;
若采用串行检测,有串行数据接入端、时钟信号输入端、
检测信号输出端。
(5)控制电路:时钟信号输如端、检测信号输入端、控制信号输出端。
(6)锁存电路:控制信号输入端、并行数据输入端、并行数据输出端。
(7)显示电路:并行数据输入端。
3、各部分的逻辑设计:
(1)时钟电路设计:
由于晶振产生的时钟频率为1MHz,而为了显示稳定,需要的时钟频率为2Hz以下,所以需要分频。本次设计采用的是同步计数器来进行分频,输出端为Qa~Qd,分频系数为2N (N为端口数)。每个74LS163最多为24=16分频,而需要的分频系数:106÷2=5×105≈219。所以需要5块74LS163芯片用作分频。具体电路图如下:
所得的输出频率约为2Hz.
(2)序列信号发生器设计:
本次实验需要产生的序列为15位循环码“111100010011010”,通过检验可知,此序列产生的15个4位序列不互相重复,因此可以用4个D触发器来构造序列发生器。此序列信号发生器的反馈电路可以通过“与”、“或”、“非”逻辑门或数据选择器实现。本次实验中,我们使用了数据选择器。
状态表及卡诺图如下所示:
Q4 Q3 Q2 Q1 D 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
0 1 0 0 1
1 0 0 1 1 0 0 1 1 0
0 1 1 0 1
1 1 0 1 0 1 0 1 0 1
0 1 0 1 1
1 0 1 1 1 0 1 1 1 1 Q4Q3
Q2Q100 01 11 10
00 φ 1 0 1
01 0 1 0 1
11 0 1 0 1
10 0 1 0 1
为使系统能够自启动,令φ=1。
使用Q4Q3作为数据选择器的输入,有
C0=,C1=1,C2=1,C3=0
故序列信号发生器的电路图设计如下所
(3)串并转换电路的设计
因为系统需要7位并行输出,所以串并转换电路可由两块移位寄存器74LS194级
联构成。电路图如下:
(4)串行字符检测电路的设计:
串行字符检测实际就是依次对字符进行检测,符合同步码的输出1,否则输出0。但若对7位同步码都进行检测,需要的触发器较多,电路将非常复杂。通过观察发现同步码后4位1000在整个序列中是唯一的,因此实验中通过检测1000来达到检测同步码的效果。检测电路可通过状态机来实现。
状态转移图如下所示:
1/0 0/11/01/00/0
0/0
对A 、B 、C 、D 进行编码: A 00,B 01,C 11,D 10
X=0 X=1 00 00 01 01 11 01 11 10 01 10
00
01
卡诺图如下:
Q 2Q 1 D 00 01 11 10 0 0 1 1 0 1
Q 2n+1 Q 2Q 1 D 00 01 11 10 0 0 0 0 1 1
Z 由卡诺图可得: D 2=Q 2n+1
=Q 1 D 1=Q 1n+1=Q1+D Z=Q2··
A
B
D
C
0/0 1/0 Z
X=0 X=1 00 0 0 01 0 0 11 0 0 10
1
Q 2Q 1 D 00 01 11 10 0 0 1 0 0 1
1
1
1
1
Q 1n+1
可用D触发器实现,电路图如下所示:
(5)并行字符检测电路的设计:
并行字符检测,即将原序列经串并转换电路后产生的并行信号与同步码1111000相比较,当与同步码相同时,即产生一个高电平。此检测电路可通过两个比较器实现,比较时应由低位到高位依次进行。本实验采用了两个数据比较器74LS85级联的方式。
电路图如下所示:
(6)控制电路的设计:
字符检测电路若检测到同步码就会对控制电路输出一个信号,控制电路对此信号做出反应,以此来控制锁存电路的开关。检测信号通过控制电路使锁存器开启,此后检测信号对锁存器的影响就不存在了。
电路图如下所示:
(7)锁存电路的设计:
锁存电路比较简单,只需要一块74LS273锁存芯片就可以。只要把7个数据输入端分别连接到串并转换电路的并行输出端,再将控制电路的输出端接到锁存器的时钟输入端即可。电路如下所示:
(8)显示电路的设计:
将锁存器的7个输出端接到数码显示管的7个管脚即可实现显示电路。要注意的是,数码管的abcdefg七个管脚分别对应数据的高位到低位。