串行口数据传输的仿真及硬件实现.docx
《串行口数据传输的仿真及硬件实现.docx》由会员分享,可在线阅读,更多相关《串行口数据传输的仿真及硬件实现.docx(19页珍藏版)》请在冰豆网上搜索。
串行口数据传输的仿真及硬件实现
信息与通信工程学院
电路综合实验报告
题目:
串行口数据传输的仿真及硬件实现
姓名:
学号:
班内序号:
班级:
指导教师:
2013年10月8日
串行口数据传输的仿真及硬件实现
摘要
随着技术的进步,数字逻辑电路和数字系统的分析、设计方法也在快速地演变和发展。
现在,在一般数字系统设计中,普遍采用了规模越来越大的可编程逻辑器件,设计方法从传统的硬件设计,变为计算机软硬件辅助设计的方法。
电子设计自动化行业软件AlteraQuartus成为数字逻辑电路软件设计的首选。
串行口数据传输是数字逻辑系统中常用的一种传输方式。
大街小巷上的灯箱、广场LED电视、LED广告牌大都采用了串行口数据传输技术手段。
本实验在北京邮电大学本科生通信实验室的支持下,从软件模拟仿真和硬件实现两个方面对串行口数据传输系统进行了深入研究。
主要研究工作及创新成果主要包括以下几个方面:
(1)对串行口数据传输系统进行了系统全面的模拟和剖析:
从信号的产生、串并转换、检测、显示等方面重点阐述了串行口数据传输系统的工作机理。
(2)通过软件仿真,实现了脱离硬件的串行口数据传输系统的设计和验证,证明了现在利用软件完成书籍逻辑系统设计的全能性。
关键词:
数字系统数据传输可编程逻辑器件串行口数据传输数字逻辑电路
SIMULATIONANDHARDWAREIMPLEMENTATIONOFSERIALDATATRANSFER
ABSTRACT
Withthedevelopmentoftechnology,theanalysisandmethodofdesignofDigitalLogicCircuitanddigitalsystemhavebeingdevelopedandevolvedrapidly.Nowadays,ingeneraldesignworkofdigitalsystem,ProgrammableLogicDevicesoflargerandlargerscalearemoreandmoreused,andmethodshaveevolvedfromtraditionalhardwaredesigntomethodwhichcombineshardwaredesignandsoftwareemulation.ProfessionalsoftwareofEDAAlteraQuartushasbecomeapreferredsoftwareofdigitalsystemdesign.
Asausualwayoftransmissionindigitalsystem,serialdatatransferhasbeenusedinourlifesuchasLEDtelevisionsinsquaresandadvertisingboxes.
UnderthesupportofinformationandcommunicationsschoolofBeijingUniversityofPostsandTelecommunications,ourresearchhasexploreddeeplyinserialdatatransfersystemonsoftwaresimulationandhardwaredesign.Wehaveachievementsasfollows:
(1)Wedidcomprehensiveresearchinserialdatatransfersystem:
fromtheproduceofdigitalsignaltodigitalsignaltransfer,signalmatch,andsignalshowoutassoon,wehaveemphasizedthetheoryofserialdatatransfersystem.
(2)Werealizedthedesignandverificationofserialdatatransfersystemwithouthardware,weprovedthatsoftwarehasbecomeanimportantwayindigitalsystemdesign.
KEYWORDS:
DigitalSystem,DataTransfer,ProgrammableDigitalLogicDevices,SerialDataTransfer,DigitalLogicCircuit
目录
一实验研究目的........................................5
二实验内容............................................5
2.1系统原理框图....................................5
2.2各个部分功能综述.................................5
2.3实验具体要求......................................7
三实验设计.............................................7
3.1实验原理.........................................7
3.2硬件设计.........................................8
3.3编译仿真.........................................14
四实验的硬件实现及结果分析.............................17
4.1硬件实现.........................................17
4.2结果分析.........................................17
五遇到的问题与解决办法................................20
5.1布线问题.........................................20
5.2锁存器信号输出控制................................20
六心得体会............................................20
七参考文献............................................20
一实验研究目的
串行口数据传输是数字系统中常用的一种数据传输方式。
本次课程设计要求学生综合数字逻辑电路和串行口通信有关知识,用软件和硬件独立设计完成一个简单的串行口数据传输系统。
二实验内容
2.1系统原理框图
系统由7个单独的电路部分构成:
信号发生器,字符串并转换器,并行字符检测器,串行字符检测器,锁存接收器,控制电路及显示电路,
2.2各部分功能综述:
2.2.1信号发生器
功能:
产生目标串行字符串,输入端口为时钟信号,输出为目标串行字符
输入端口:
主时钟信号
输出端口:
串行目标信号
2.2.2时钟电路
功能:
为电路提供晶振时钟信号,经过分频后提供给各个部分电路使用(软件仿真时不用时钟电路分频)
输入端口:
晶振时钟信号
输出端口:
主时钟信号
2.2.3字符串并转换器
功能:
接收信号发生器输出的串行字符,并将其转换为并行字符串输出
输入端口:
时钟信号、信号发生器的输出
输出端口:
并行字符
2.2.4并行字符检测器
功能:
检测并行目标字符串(1111000),一旦检测到目标并行字符串,则输出高电平脉冲信号,作用于控制电路
输入端口:
时钟信号、字符串并转换器的输出
输出端口:
检测结果(检测到目标字符串(1111000)则输出一个时钟周期的高电平脉冲,否则保持低电平输出)
2.2.5串行字符检测器
功能:
检测串行目标字符串(1111000),一旦检测到目标串行字符串,则输出高电平脉冲信号,作用于控制电路
输入端口:
时钟信号、字符串并转换器的输出
输出端口:
检测结果(检测到目标字符串(1111000)则输出一个时钟周期的高电平脉冲,否则保持低电平输出)
2.2.6控制电路
功能:
控制锁存器接收字符串并转换器的并行字符输出的时机,若接收到检测电路输出的高电平脉冲,则开始输出与时钟信号同频率的时钟控制信号作用于锁存器,否则输出低电平
输入端口:
串、并字符检测电路的输出
输出端口:
控制信号
2.2.7锁存接收器
功能:
锁存接收字符串并转换器的并行输出字符,并且传送给显示电路
输入端口:
字符转换器的字符输出、控制电路的控制信号
输出端口:
并行字符
2.2.8显示电路
功能:
接收锁存器的输出字符并显示
输入端口:
锁存器的输出
输入端口:
显示屏幕
2.3实验具体要求
(1)发送端信息码:
111100010011010
(2)检测同步码:
1111000,在电路板加电后,首先显示同步码。
(3)用数码管逐个显示信息码。
(4)分频器将晶振的输出时钟降小到小于2Hz
(5)字符检测分开进行,先检测串行字符并显示,再检测并行字符并显示。
三实验设计
3.1实验原理
3.1.1信号发生器
根据目标字符串的特点,可触发器构成移位计数器或者计数器来作为信号发生器。
序列为15位,因此至少选用4个D触发器来构成移位寄存器,将序列按每四位分组写出:
1111-1110-1100-1000-0001-0010-0100-1001-0011-0110-1101-1010-0101-1011-0111-1111
发现没有重复,因此可以使用4D触发器74ls175构成移位寄存器.
状态转移表:
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
根据状态表画出卡诺图:
00
01
11
10
00
1
0
1
01
0
1
0
1
11
0
1
0
1
10
0
1
0
1
化简卡诺图,要求能自启动,则将任意项圈入,最后得到D=
3.1.2串并转换器
通过移位寄存器来一位一位地接收串行字符,并将其输出便可以完成串转并的功能,要求并行字符为七位一组,因此需要选用八位的移位寄存器,但是所给定的移位寄存器只有4位双向移位寄存器74ls194,因此先用两片74ls194级联成为8位移位寄存器,左右移位任选其一,我们选用了左移位。
3.1.3并行字符检测
使用八位数码比较器,预设一组比较码为同步码1111000,将串并转换的输出与之比较,以“等于”输出端作为此部分的检测结果,若检测到输入为1111000,则“等于”输出端将会输出半个时钟周期的高电平脉冲。
但是所给定的芯片中没有八位数码比较器,因此用两片四位数码比较器74ls85构成一个八位数码比较器。
3.1.4串行检测
使用4D触发器74LS175,连接为4位移位寄存器,序列从1D输入,逐个移位,当1Q2Q3Q为低位,4Q为高位,即检测的序列1000,利用4与门连接1Q非2Q非3Q非4Q。
当序列1000出现时输出一个高电平。
3.1.5控制电路
控制电路要保证在检测到同步码之前,锁存器关闭,没有任何输出;其次,在检测到同步码之后,字符检测电路不能对后级有任何影响,而是由控制电路控制每个7位输出一次。
对于第一个功能可以使用一块D触发器74LS74接受字符检测电路的信号,再通过组合逻辑电路使接收到同步码产生的高电平后此部分电路输出恒定,对锁存电路没有影响;对于第二个功能,可以由一个7进制计数器实现,这里选用同步置位的计数器74LS163
3.1.6锁存电路
用八位锁存器74ls273接收并行字符,通过控制电路的输出作为锁存器的时钟信号便可以实现锁存器在检测电路检测到同步码之后开始工作。
3.1.7时钟分频电路
晶振片输出的时钟信号为1MHz,数码管无法将如此高的频率信号显示,人的肉眼也不可见,因此在实际电路中必须加入时钟分频电路将1MHz降到2Hz以下。
本电路中使用5片计数器74ls163级联成计数模制为
的计数器,取最高位片的进位输出信号为分频后的时钟信号,分频后的频率为2Hz(在仿真电路中并没有加入分频电路,因为时钟频率对仿真结果没有影响)
3.2硬件设计:
硬件设计参照以下各部分电路原理图连接
3.2.1信号发生器:
D=
3.2.2串并转换电路
两片74ls194构成一个8位双向移位寄存器,选用左移位
3.2.3并行字符检测器
两片74ls85构成一片八位数码比较器,预设片1(高位片)的
=1111,片2(低位片)的
=0000
3.2.4串行字符检测器
3.2.5控制电路
3.2.6锁存电路
74ls273,在仿真时清零端口CLRN接高电平,但是在实际电路板上该端口接控制电路中74ls74芯片的输出端口1Q(原因将在后文详述)
3.2.7时钟分频电路
3.2.8整体框图
将各部分封装后的整体框图;
3.3编译仿真
(1)信号发生器
(2)串并转换器:
(3)并行检测电路:
(4)串行检测(检测到1000,即输出高电平脉冲)
(5)控制电路
注:
在实物电路中,oo作为控制电路的输出1,接锁存器的时钟输入,而oo1作为控制电路的输出2,接锁存器的清零端口CLRN,使得锁存器在控制信号来临前的输出保持为全0状态。
(6)总电路仿真结果
注:
o2-o8为锁存器的输出结果
四实验的硬件实现及结果分析
4.1硬件实现
(1)硬件的连接参照以上的原理图。
(2)原理图中锁存器74ls273的清零端口CLRN接高电平,但在实物电路图中该端口接接控制电路中74ls74芯片的输出端口1Q,原因将在后文详述。
(3)综合原理图中没有分频电路,但是实物电路中必须加入分频电路,电路时钟使用分频后的时钟。
4.2结果分析
根据以上硬件连接方式,进行各部分测试,得到测试波形结果如下:
(1)序列发生器输出:
结果分析:
输出序列准确,波形稳定,可以作为本次试验的目标序列使用。
(2)并行检测:
结果分析:
结果表明当检测电路检测到输入序列:
1111000(CH1)时在下一时钟上升沿即输出一个高电平脉冲,并且保持一个时钟周期,实现了对并行目标字符的检测功能。
(3)串行检测:
结果分析:
同并行检测一样,串行检测的结果符合预期要求。
(4)控制电路:
结果分析:
检测电路的高电平脉冲输入到达之前,控制电路的输出为低电平,到达之后,控制电路的输出为与主时钟同步的时钟信号,波形规则,可以作为控制信号。
(5)分频器:
结果分析:
由波形图可以看到,一个时钟周期占据半个格,即1s,时钟频率为1Hz,可以作为主时钟使用。
五遇到的问题与解决办法
5.1布线
本次实验电路复杂,器件引脚多,因此电路板的布线十分棘手。
原理图中布线有多处交叉的地方,这对实物电路的布线十分不便;导线长短不好控制,容易造成拱桥连线。
解决办法:
严格按照原理图进行连接,该拐角时才拐角,另外使用钳子对导线进行造型。
5.2锁存器在控制信号到来之前的输出不为零
按照原理图连好实物电路图的最后一部分后(前面的各部分经检查均正确无误),一经通电,数码管便输出“8”,经过预期时间后,开始输出“倒C”,这不符合要求。
分析原因是因为实物锁存器在不工作的情况下输出为高电平,而非仿真软件里的相同型号芯片输出的低电平。
解决办法:
更改原理图中控制电路和锁存器的连接线路,具体是;将锁存器的清零输入端CLRN从接高电平改接控制电路中芯片74ls74的输出1Q,理由是1Q在检测电路检测到同步码之前一直输出低电平,使得锁存器一直处于清零状态,从而使之输出为全0;而检测到同步码之后1Q输出一直为高电平,如此一来,锁存器的清零端将不工作,正常输出。
编译仿真电路未发现此处有警告或报错,但是仿真波形图中的锁存器输出却一直为全0,反复排错之后并未发现错误,因此按照这个连接方法连好了实物电路,通电后数码显示管从“倒C”开始循环显示,符合实验预期,因此分析仿真结果的错误可能是软件本身的漏洞。
解决办法:
仿真使用原来版本,实物电路使用更改后的版本。
六心得体会
本次实验周期较长,前期准备过程包括复习《数字电路与逻辑设计》等工作做得不够扎实,导致在设计实验电路时进度缓慢且错误频出,因此我们觉得做综合性实验还是应该将基础知识熟悉全面在下手。
在电路的排错方面我们也显得捉襟见肘,做实验还是贵在经验,不过经验是靠慢慢积累的,我们相信以后做实验一定会比这次有更大的进步!
十分感谢老师对我们的指导以及各位同学的意见!
七参考文献
[1]李晓飞,《数字逻辑设计》,现代电信科技出版社,no.1,2010年1月。