串行口数据传输的仿真及硬件实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

串行口数据传输的仿真及硬件实现

学院:信息与通信工程学院

专业:通信工程

班级:

姓名:

序号:

一、 实验目的

综合数字逻辑电路和串行口通信的有关知识,用硬件独立设计完成一个简单的串行口数据传输系统,并用FPGA 可编程逻辑器件进行仿真。 二、 实验要求

1) 发送信息码:111100010011010;

2)

用同步检测电路检测同步码:1111000,并使电路板加电后

首先显示同步码; 3) 同步码及其他各组串行码要求在数码管上逐个显示; 4)

字符检测电路中先用串行检测方法设计实现,再用并行检

测方法设计实现。 三、总体方案框图

电路总体分为7个模块:时钟电路模块、字符发生器模块、串/并转换模块、字符检测电路模块、控制电路模块、锁存显示模块和显示电路模块。各模块间的输入输出数据流如图所示。 四、 各部分电路的数字逻辑设计过程和结果

1、时钟电路模块:

实验室所提供的晶振的时钟频率为1MHz ,若直接使用人眼将无

信息码发生器

时钟电路 串并转换

锁存接收

显示电路

字符检测电路 控制电路

法正常观测出实验结果。所以需要设计分频模块,将1MHz的时钟频率通过分频器降低到约2Hz,这样才可以正确显示结果。

本次实验使用74LS163四位同步计数器级联实现分频功能。每个74LS163最多为2^4=16分频。为了实现本实验分频的要求,分频系数应该达到:10^6÷2=5×10^5≈2^19。所以需要5块74LS163芯片级联实现分频,所得频率为1MHz/2^19=1.9Hz.具体电路图如下:

2、字符发生器模块:

本次试验要求发送端产生信息码为111100010011010这个15位循环码。字符发生模块使用由D触发器构成移位寄存器的序列信号发生器。由于循环码为15位,2^3<15<2^4,故至少应该使用4位D 触发器。经检查,此序列所构成的15个4位的序列不重复,刚好可以用4为D触发器来做次序列发生器,D触发器选用74LS175四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

卡诺图:

由卡诺图得: 0000项为任意项,为了确保电路可以自启动,将其当1项圈入,得D= 。

电路图如下:

3、串/并转换模块:

串并转化的实现可以通过移位寄存器来实现,因为需要7位并行输出,所以需要两块移位寄存器74LS194级联构成。电路图如下:

4、串行字符检测模块:

串行字符检测需要一位一位检测,然后每位都符合才输出信号。

若每位都检测,将会使用较多触发器,使电路复杂化。经过观察,同步码1111000中后四位1000在整个序列111100010011010中是唯一的,所以检测1000四位即可。当连续有4位与1000相应匹配时,则输出信号。

状态转移图如下:

对A、B、C、D分别编码为00、01、11、10,则状态转移表为:

D=0 D=1

00 00 01

01 11 01

11 10 00

10 00 00

输出为:

Z

D=0 D=1

00 0 0

01 0 0

11 0 0

10 1 0

卡诺图分别如下:

所以,由卡诺图可得:

D1=

D2=

Z=

由此可得到电路图:

5、并行字符检测模块:

由两个数据比较器74LS85级联可得7位数据比较器,当并行输入为1111000时输出高电平作为控制电路输入,实现并行字符检测。具体电路图如下:

6、控制电路模块:

控制电路完成的功能比较复杂。首先,控制电路要保证在检测到同步码之前,锁存器关闭,没有任何输出;其次,在检测到同步码之后,字符检测电路不能对后级有任何影响,而是由控制电路控制每个

7位输出一次。

对于第一个功能可以使用一块D触发器74LS74接受字符检测电路的信号,再通过反馈电路使接收到同步码产生的高电平后D触发器的时钟信号恒为1,无触发沿,电路输出维持原状态,即恒为1,对锁存电路没有影响。

对于第二个功能,可以由一个7进制计数器实现,这里选用同步置位的计数器74LS161。用进位信号的非作为预置信号,计数器的状态循环为:1001 1010 1011 1100 1101 1110 1111 1001 。并用D触发器的输出和主时钟信号的与作为计数器的时钟,确保计数器从检测电路输出第一个高电平,即同步码1111000第一次出现的时刻起计数。

并行检测控制电路:由于信息码经过串并转换电路时延迟了一个CP,所以并行检测的输出比同步码1111000的输出晚了一个CP,而计数器74LS161在时钟信号未到达时默认起始状态为0000,故须在15个CP之后才产生第一个预置信号,从而才开始7进制计数。故7进制计数器输出的第一个高电平脉冲正好比第一个同步码1111000的输出迟了16个CP,从而正好对上了第二个同步码1111000的输出,从而达到使电路首先输出同步码1111000,再逐个显示其他各组串行码的目的。具体见坐标纸所画波形图。

相关文档
最新文档