您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于FPGA串口通信系统设计
西南科技大学城市学院本科生毕业论文Ⅰ基于FPGA串口通信系统设计摘要:UART(即UniversalAsynchronousReceiverTransmitter)是数据通信及控制中广泛使用的一种全双工串行数据传输协议。本设计基于FPGA器件实现对UART的波特率产生器、UART发送器和接收器及其整合电路的模块化设计,采用VerilogHDL语言对三个功能模块进行硬件描述。通过串口调试助手进行验证,其结果完全符合UART协议的要求和预期的结果。关键词:UART;FPGA;VerilogHDL;验证西南科技大学城市学院本科生毕业论文ⅡBasedonFPGAserialportcommunicationssystemdesignAbstract:UART(i.e.UniversalAsynchronousReceiverTransmitter)isinthedatacommunicationandthecontrolthewidespreaduseonekindoffull-duplexserialdatatransmissionagreement.ThisdesignrealizesbasedontheFPGAcomponenttotheUARTbaudrateproducer,theUARTtransmitterandthereceiverandtheconformityelectriccircuit'smodulardesign,usesVerilogtheHDLlanguagetocarryonthehardwaredescriptiontothreefunctionalmodules.Debugstheassistantthroughtheserialporttocarryontheconfirmation,itsresultmeets.Keywords:UART,FPGA,VerilogHDL,Validate西南科技大学城市学院本科生毕业论文Ⅲ目录第一章绪论.....................................................11.1课题背景....................................................11.2现场可编程门阵列FPGA.....................................11.2VerilogHDL简介.............................................3第二章串行通信系统................................................52.1概述........................................................52.2通信简述....................................................52.2.1串行通信概念...........................................62.3RS-232C总线................................................72.3.1RS-232C接口特性.......................................82.4串行通信接口组成............................................92.5UART通信协议............................................102.6系统整体结构...............................................12第三章UART系统设计.............................................143.1UART简介................................................143.2接收模块功能设计描述.......................................173.3发送模块功能设计描述.......................................233.4波特率模块.................................................303.5验证.......................................................31结论............................................................33致谢.............................................................34参考文献..........................................................35附录一............................................................37附录二............................................................38西南科技大学城市学院本科生毕业论文1第一章绪论1.1课题背景随着微电子技术的发展,数字电路系统正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋完善的专用集成电路ASIC(ApplicationSpecificIntegratedCircuit)设计技术。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路,以及许多具有特定功能的专用集成电路ASIC。ASIC通常包括全制定、半制定及可编程逻辑器件(包括简单的SPLD复杂的CPLD和FPGA)。对于前两种,由于生产中需要支付一次性工程费用所以小批量生产、试验项目等不可能采用前两种方法。因此可编程逻辑器件已成为实现ASIC的主要手段。可编程器件具有保密性强、体积小、重量轻、可靠性高等ASIC的共同优点,同时它还具有现场可编程的特性。与普通电路的集成电路相比,它具有设计开发周期短、设计制造成本低、开发工具优先等特点,因而现在被广泛地应用在数字通信、图形图像、仪表、兵器等系统中。由于集成电路的广泛应用,设计与制造集成电路的任务已不完全由半导体厂商类独立承担。系统设计师们更愿意自己设计专用集成电路芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而可编程逻辑器件正处于高速发展的阶段。新型的FPGA/CPLD规模越来越大,成本越来越低,。高性价比使可编程器件在硬件设计领域扮演着日益重要的角色。低端CPLD已逐步取代了74系列等传统的数字元件,高端的FPGA也在不断地夺取ASIC的市场份额,特别是目前大规模FPGA多数支持可编程片上系统,与CPU的有机结合使FPGA已经不仅仅是传统的硬件电路设计手段,而逐步升华为系统实现工具。1.2现场可编程门阵列FPGA20世纪80年代中期,FPGA刚出现时,大部分用来实现粘合逻辑、中等复杂度的状态机和相对有限的数据处理任务。在20世纪90年代早期,FPGA的规模和复杂度开始增加,那时它们的主要场所在通信和网络领域。到了20世纪90年代末,FPGA在消费、汽车和工业领域的应用经历了爆炸式增长。21世纪早期,已经可以买到数百万容量的高性能FPGA。今天FPGA几乎可以用来实现任何东西,包括通信设备和软件定义无线电,雷达、影像和其它数字信号处理的应用,直至包含硬件和软件的片上系统。西南科技大学城市学院本科生毕业论文2FPGA(field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了制定电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:1、采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。2、FPGA可做其它全定制或半定制ASIC电路的中试样片。3、FPGA内部有丰富的触发器和I/O引脚。4、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5、FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。西南科技大学城市学院本科生毕业论文3当加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。当然FPGA存在于在某些场合选它而不是单片机的优势:⑴、FPGA运行速度快:FPGA内部集成锁项环,可以把外部时钟倍频,核心频率可以到几百M,而单片机运行速度低的多。在高速场合,单片机无法代替FPGA。⑵、FPGA管脚多,容易实现大规模系统:单片机IO口有限,而FPGA动辄有数百个IO口,可以方便连接外设。比如一个系统有多路AD、DA,单片机要进行仔细的资源分配,总线隔离,而FPGA由于丰富的IO资源,可以很容易用不同IO连接各外设。⑶、FPGA内部程序并行运行,有处理更复杂功能的能力:单片机程序是串行执行的,执行完一条才能执行下一条,在处理突发事件时只能调用有限的中断资源;而FPGA不同,逻辑可以并行执行,可以同时处理不同任务,这就导致了FPGA工作更有效率。⑷、FPGA有大量软核,可以方便进行二次开发:FPGA甚至包含单片机和DSP软核,并且IO数仅受FPGA自身IO限制,所以FPGA又是单片机和DSP的超集,也就是说,单片机和DSP能实现的功能,FPGA一般都能实现。1.3VerilogHDL简介VerilogHDL
本文标题:基于FPGA串口通信系统设计
链接地址:https://www.777doc.com/doc-3856267 .html