北京邮电大学信息与通信工程学院电路综合实验报告串行口数据传输的仿真及硬件实现姓名:学号:班内序号:班级:指导老师:日期:2014年10月10日摘要:本实验模拟了现代数字逻辑电路中的数据传输过程。使用连续的代表0、1的高低电平作为数字信号,将该数字信号从输出端发送到接收端,并分别用串行、并行两种方式进行锁存,检测。本实验模拟了序列信号的发生装置、串并转换装置、串行并行两种方式的检测装置、锁存输出和控制电路,实现了一个简单的串行口数据传输模型。在此试验中,通过对常见芯片的组合实现功能,将一串由0、1组成的数字信号进行传输、转换、检测,使之显示在数码管上成为可读信息。并且,还实现了对此电路显示的控制,使数码管在满足条件的情况下才点亮。在实验中,还使用了QuartusⅡ对设计的电路进行了仿真模拟。关键字:数据传输、串并转换、数据检测、QuartusIIAbstract:Thisexperimentsimulateddatatransferinmoderndigitallogiccircuit.Digitalsignalwastransferredfromtheoutputterminaltothereceivingend,whichwasconsistedofcontinuoushighorlowlevelrepresent0and1asdigitalsignal,andlatch,testitthroughserialorparallelmode.Ourexperimentsimulatedtheproducingequipmentofsequencesignal,thesignalconversionmodule,testingmoduleofserialandparallelmode,latchoutputandcontrolcircuit.Itimplementsasimpleserialportdatacommunicationmodel.Intheexperiment,weusethecombinationofsimplechipstorealizethefunctionthattransport,transferandtestasequenceofthedigitalsignalconsistingof0and1,anddisplayitonLEDSegmentDisplays.Inaddition,werealizethecontrolofdisplay.TheLEDSegmentDisplaysworksonlyinspecificconditions.WealsoconductsimulationsonQuartusⅡ.Keywords:Datatransmission,Stringconversion,Datadetection,QuartusII目录一、实验目的········································4二、实验仪器········································4三、实验内容及设计任务···························4四、实验设计········································61.分频电路········································62.序列信号发生器··································63.串、并转换模块··································84.串行检测模块····································95.并行检测模块····································116.控制电路········································117.锁存显示模块····································128.总体电路图和仿真结果····························12五、实验的硬件实现及结果分析···················14六、遇到的问题及解决办法························15七、心得体会········································16八、参考文献········································17•实验目的串行口数据传输是数字系统中常用的一种数据传输方式。本次课程设计要求学生综合数字逻辑电路和串行口通信的有关知识,用硬件独立设计完成一个简单的串行口数据传输系统,并用FPGA可编程逻辑器件进行仿真。•实验仪器1双踪示波器1台2直流稳压电源1台3频率计1台4数字万用表1台5面包板1台•实验内容及设计任务•实验内容实验要求学生独立去设计一个完成一个简单的串行口数据传输系统,系统框图如下:由图可见,系统分为发送端,接收端两部分。发送端主要是同步字符、结束字符、时钟电路和信息码发生器。接收端包括串/并转换电路、字符检测电路、控制电路、锁存接收和显示电路。要求学生将以上电路分别设计出来,然后互相连接和总体调测。•设计任务•设计时钟电路•设计信息码,其中包含同步字符•设计串并转换电路•设计同步字符检测电路•设计控制电路•设计锁存接收电路•设计显示电路•总体连接、联调•具体要求1)发送端信息码:111100010011010,由信息码形成电路实现。2)同步码:1111000。信息码的前7位为同步码,需要用同步检测电路检测,在电路板加电后,首先显示同步码。3)同步码及其它各组串行码要求在数码管上逐个显示。4)要求在字符检测电路中,先用串行检测的方法设计实现,再用并行检测的方法设计实现。•实验设计1.分频电路实验提供的晶振频率为1MHz,用数码管显示同步码和其它串行码时,应将频率降到小于2Hz/秒,我们使用的是74LS161计数器,每一片芯片可实现16分频,经计算可知需要5片74LS161。5片74161逐级分频,前4片芯片实现16分频,最后一片实现8分频,得到的频率为1MHz÷(164×8)≈1.9Hz。电路原理图如下:分频电路原理图2.序列信号发生器本次实验需要产生的循环码“111100010011010”为15位,此序列产生的15种4位序列互不重复,因此可用4位D触发器产生此序列,反馈电路中的逻辑关系用一个数据选择器实现。状态转移表如下:卡诺图如下:Q4Q3Q2Q1D111101110011000100010001000100010011001100110011011101010101010111011101111Q4Q3Q2Q10001111000Φ101010101110101100101由卡诺图得D=Q4⊕Q3,同时为了使电路自启动,Φ应该为1,则D=电路原理图如下:序列信号发生器电路原理图发生序列如下:序列信号发生器电路仿真波形图3.串、并转换模块串并的转化可以通过移位寄存器来实现,因为需要7位并行输出,所以需要两块移位寄存器74LS194级联构成。电路原理图如下:4.串行检测模块串行检测可只检测同步码的后四位1000,当有连续4位与1000符合时,则输出信号。状态转移图如下:对A、B、C、D分别编码为00、01、11、10,状态转移表如下:D=0D=1000001011101111000100000输出为:ZD=0D=10000010011001010卡诺图如下:由卡诺图可得:D2=Q2n+1=D1=Q1n+1=Z=电路原理图如下:5.并行检测模块并行数据需要检测15位数据,由两个74LS85比较器级联即可比较15位数据,电路图如下:并行检测模块电路原理图6.控制电路控制电路的输入为串/并行检测电路的输出,控制电路的结果输出至锁存器,从而控制数码管的显示,可利用D触发器的特性实现此功能。串/并行检测电路的输出从D触发器的时钟输入,检测信号得到一个脉冲时D触发器被触发,开始输出时钟信号。电路原理图如下:控制电路原理图7.锁存显示模块锁存的功能可用一片74LS273芯片即可实现,电路图如下:锁存显示模块电路原理图8.总体电路图和仿真结果串行检测总图:并行检测总图:仿真波形:•实验的硬件实现及结果分析1.实验所用芯片清单芯片名称简介数量74LS161四位同步计数器574LS153双4-1线数据选择器174LS1944位双向移位寄存器374LS273输入端三或非门274LS175四D触发器174LS113输入端三与门274LS046反相器174LS85四位量值比较器274LS74双D触发器174LS2738D锁存器12.硬件实现图2.结果分析由结果波形可以看出,当发生序列到达同步码1111000时,检测电路检测到同步码,锁存器开始输出数据,从而使数码管开始显示。•遇到的问题与解决方法(一)电路设计在设计分频电路时,我们用到5片74LS161同步计数器,我们把分频的原理与计数原理混淆,把分频电路设计成了计数电路,虽然在软件上仿真结果是正确的,但实际在面包板上无法实现分频功能。好在及时向老师寻求帮助,找出了问题,让5片计数器芯片逐级分频,得到了正确的结果。(二)硬件搭建1、在搭建电路的过程中,由于元件之间连线复杂,面包板接线点有限,导致导线没有地方插,而且出现很多交叉的情况。我们改变了芯片的布局,经过精心安排,使整个线路变得清晰美观,解决了这个问题。2、我们对数码管的使用方法不是特别了解,为了检查数码管是否工作,直接将5V电源接在了数码管的管脚,导致数码管电流过大,损坏了数码管。在老师的帮助下,我们了解了正确的使用方法。3、连接了检测电路以后,我们接通了电源来检测电路的输出是否正确,但是数码管有异常。我们用万用表仔细检查,发现了锁存电路中有短路点。通过一级一级向上检查,检查到我们使用的74LS273芯片损坏。我们及时更换了新的芯片,解决了这个问题。4、在全部电路连接完成后,我们先接通了VCC和地线,然后打开了直流稳压电源。直流稳压电源启动瞬间产生了一个脉冲,导致我们的数码管第一个显示的图形不正确。后来我们先启动电源,然后再接进VCC,解决了这个问题。•心得体会通过本次试验,我们复习了数字电路与逻辑设计课程的知识。实验中我们应用了序列信号发生器的设计、状态机的设计、分频器的设计,移存器、锁存器、触发器的功能与使用等知识。通过自己参与设计电路,巩固了理论知识,并且将所学的知识应用到了实际中。在对电路进行仿真的过程中,我们不仅复习了QuartusⅡ的使用方法,还在过程中发现了软件模拟并不完全等于硬件实现的结果。软件仿真时成功了,但在后期由于各种芯片的时延并不相同,输出信号也是有差别的,还需要后期自行调整。在硬件搭建的过程中,我们自己查询芯片的管脚图,对各种芯片有了初步的了解。通过设计电路的布局、布线,完成了电路的美化,提高了动手能力。在后期检查电路的过程中,我们发现了一些连接错误,这警示我们以后要细心。我们还掌握了利用双踪示波器检测电路输出是否正确方法,我们还使用数码管来显示输出信号的方法来检测电路各部分的输出是否正确,这种方法更加直观,而且便捷。我们也在调成信号第一个输出图形的过程中,了解了各种芯片的时延的相关知识,也初步尝试了对时延进行调整。这次试验是和同学一组共同完成,在共同设计电路、搭建电路的过程中,我们增强了协作能力,提高了我们的动手能力。同时也培养了我们独立思考以及解决问题的能力,也培养了我们的兴趣。•参考文献•《数字电路与逻辑设计第2版》·北京邮电大学出版社·2013年•《现代数字电路与逻辑设计实验教程》·北京邮电大学出版社·2011年•串行口数据传输的仿真及硬件实现·刘文京·2014年•74LS系列管脚图附录1.完整的电路图串行检测电路图并行检测电路图2.硬件实现图