毕业设计(论文)基于FPGA串口通信系统设计.doc
《毕业设计(论文)基于FPGA串口通信系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGA串口通信系统设计.doc(42页珍藏版)》请在三一办公上搜索。
1、基于FPGA串口通信系统设计摘要:UART(即Universal Asynchronous Receiver Transmitter)是数据通信及控制中广泛使用的一种全双工串行数据传输协议。本设计基于 FPGA器件实现对UART的波特率产生器、UART发送器和接收器及其整合电路的模块化设计,采用Verilog HDL语言对三个功能模块进行硬件描述。通过串口调试助手进行验证,其结果完全符合UART协议的要求和预期的结果。关键词:UART ; FPGA ; Verilog HDL ; 验证Based on FPGA serial port communications system designA
2、bstract:UART (i.e. Universal Asynchronous Receiver Transmitter) is in the data communication and the control the widespread use one kind of full-duplex serial data transmission agreement. This design realizes based on the FPGA component to the UART baudrate producer, the UART transmitter and the rec
3、eiver and the conformity electric circuits modular design, uses Verilog the HDL language to carry on the hardware description to three functional modules. Debugs the assistant through the serial port to carry on the confirmation, its result meets.Key words:UART, FPGA , Verilog HDL , Validate目 录第一章 绪
4、 论11.1 课题背景11.2 现场可编程门阵列FPGA11.2 Verilog HDL简介3第二章 串行通信系统52.1 概述52.2 通信简述52.2.1串行通信概念62.3 RS-232C总线72.3.1 RS-232C接口特性82.4 串行通信接口组成92.5 UART通信协议102.6 系统整体结构12第三章 UART系统设计143.1UART简介143.2 接收模块功能设计描述173.3 发送模块功能设计描述233.4 波特率模块303.5验证31结 论33致 谢34参考文献35附录一37附录二38 第一章 绪 论1.1 课题背景随着微电子技术的发展,数字电路系统正朝着速度快、容量
5、大、体积小、重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋完善的专用集成电路ASIC(Application Specific Integrated Circuit)设计技术。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路,以及许多具有特定功能的专用集成电路ASIC。ASIC通常包括全制定、半制定及可编程逻辑器件(包括简单的SPLD 复杂的CPLD和FPGA)。对于前两种,由于生产中需要支付一次性工程费用所以小批量生产、试验项目等不可能采用前两种方法。因此可编程逻辑器件已成为实现ASIC的主要手段。可编程器件具有保密性强、体积小、重量轻、可靠性高等ASIC的共同优点,同
6、时它还具有现场可编程的特性。与普通电路的集成电路相比,它具有设计开发周期短、设计制造成本低、开发工具优先等特点,因而现在被广泛地应用在数字通信、图形图像、仪表、兵器等系统中。 由于集成电路的广泛应用,设计与制造集成电路的任务已不完全由半导体厂商类独立承担。系统设计师们更愿意自己设计专用集成电路芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而可编程逻辑器件正处于高速发展的阶段。新型的FPGA/CPLD规模越来越大,成本越来越低,。高性价比使可编程器件在硬件设计领域扮演着日益重要的角色。低端CPLD已逐步取代了74系列等传统的数
7、字元件,高端的FPGA也在不断地夺取ASIC的市场份额,特别是目前大规模FPGA多数支持可编程片上系统,与CPU的有机结合使FPGA已经不仅仅是传统的硬件电路设计手段,而逐步升华为系统实现工具。1.2 现场可编程门阵列FPGA20世纪80年代中期,FPGA刚出现时,大部分用来实现粘合逻辑、中等复杂度的状态机和相对有限的数据处理任务。在20世纪90年代早期,FPGA的规模和复杂度开始增加,那时它们的主要场所在通信和网络领域。到了20世纪90年代末,FPGA在消费、汽车和工业领域的应用经历了爆炸式增长。21世纪早期,已经可以买到数百万容量的高性能FPGA。今天FPGA几乎可以用来实现任何东西,包括
8、通信设备和软件定义无线电,雷达、影像和其它数字信号处理的应用,直至包含硬件和软件的片上系统。FPGA(field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了制定电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如A
9、ND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。 系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。 FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的
10、但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: 1、采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2、FPGA可做其它全定制或半定制ASIC电路的中试样片。 3、FPGA内部
11、有丰富的触发器和IO引脚。 4、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5、FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。当加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPG
12、A编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。当然FPGA存在于在某些场合选它而不是单片机的优势:、FPGA运行速度快:FPGA内部集成锁项环,可以把外部时钟倍频,核心频率可以到几百M,而单片机运行速度低的多。在高速场合,单片机无法代替FPGA。、FPGA管脚多,容易实现大规模系统:单片机IO口有限,而FPGA动辄有数百个IO口,可以方便连接外设。比如一个系统有多路AD、DA,单片机要进行仔细的资源分配,总线隔离,而FPGA由于丰富的IO资源,
13、可以很容易用不同IO连接各外设。、FPGA内部程序并行运行,有处理更复杂功能的能力:单片机程序是串行执行的,执行完一条才能执行下一条,在处理突发事件时只能调用有限的中断资源;而FPGA不同,逻辑可以并行执行,可以同时处理不同任务,这就导致了FPGA工作更有效率。、FPGA有大量软核,可以方便进行二次开发:FPGA甚至包含单片机和DSP软核,并且IO数仅受FPGA自身IO限制,所以FPGA又是单片机和DSP的超集,也就是说,单片机和DSP能实现的功能,FPGA一般都能实现。1.3Verilog HDL简介Verilog HDL是一种硬件描述语言(HDL:Hardware Discription
14、Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL是目前世界上最流行的两种硬件描述语言之一,是在20世纪80年代中期开发出来的。Verilog HDL这种硬件描述语言被用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验
15、证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电
16、子系统进行描述。第二章 串行通信系统2.1 概述在计算机系统和微机网络的快速发展领域里,串行通信在数据通信及控制系统中得到广泛的应用。UART(即Universal AsynchronousReceiver Transmitter 通用异步收发器)协议是数据通信及控制系统中广泛使用的一种全双工串行数据传输协议,在实际工业生产中有时并不使用UART的全部功能。只需将其核心功能集成即可。波特率发生器、接收器和发送器是UART的三个核心功能模块,利用Verilog-HDL语言对这三个功能模块进行描述并加以整合UART是广泛使用的串行数据传输协议。UART允许在串行链路上进行全双工的通信。串行外设用到
17、RS232-C异步串行接口,一般采用专用的集成电路即UART实现。如8250、8251、NS16450等芯片都是常见的UART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的UART的功能和这些辅助功能。或者设计上用到了FPGA/CPLD器件,那么我们就可以将所需要的UART功能集成到FPGA内部。使用VHDL或Veriolog -HDL将UART的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。本文应用EDA技术,基于FPGA/CPLD器件设计与实现UART。2.2 通信简述通信,指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递,从广义
18、上指需要信息的双方或多方在不违背各自意愿的情况下无论采用何种方法,使用何种媒质,将信息从某方准确安全传送到另方。通信在不同的环境下有不同的解释,在出现电波传递通信后通信(Communication)被单一解释为信息的传递,是指由一地向另一地进行信息的传输与交换,其目的是传输消息。然而,通信是在人类实践过程中随着社会生产力的发展对传递消息的要求不断提升使得人类文明不断进步。在各种各样的通信方式中,利用“电”来传递消息的通信方法称为电信(Telecommunication),这种通信具有迅速、准确、可靠等特点,且几乎不受时间、地点、空间、距离的限制,因而得到了飞速发展和广泛应用。1. 按传输媒质分
19、类:有线通信:是指传输媒质为导线、电缆、光缆、波导、纳米材料等形式的通信,其特点是媒质能看得见,摸得着的(明线通信、电缆通信、光缆通信、光纤光缆通信)。无线通信:是指传输媒质看不见、摸不着(如电磁波)的一种通信形式(例:微波通信、 短波通信、 移动通信、 卫星通信、 散射通信)。2. 按信道中传输的信号分类: 模拟信号:凡信号的某一参量(如连续波的振幅、频率、 相位, 脉冲波的振幅、宽度、位置等)可以取无限多个数值, 且直接与消息相对应的,模拟信号有时也称连续信号, 这个连续是指信号的某一参量可以连续变化数字信号:凡信号的某一参量只能取有限个数值,并且常常不直接与消息相对应的,也称离散信号。3
20、. 按工作频段分类:长波通信 中波通信 短波通信 微波通信 4. 按调制方式分类:基带传输:是指信号没有经过调制而直接送到信道中去传输的通信方式。频带传输:是指信号经过调制后再送到信道中传输,接收端有相应解调措施的通信方式。5.按按通信双方的分工及数据传输方向分类: 对于点对点之间的通信,按消息传送的方向,通信方式可分为单工通信、半双工通信及全双工通信三种。 所谓单工通信,是指消息只能单方向进行传输的一种通信工作方式。单工通信的例子很多,如广播、遥控、无线寻呼等。这里,信号(消息)只从广播发射台、遥控器和无线寻呼中心分别传到收音机、遥控对象和 BP 机上。 所谓半双工通信方式,是指通信双方都能
21、收发消息,但不能同时进行收和发的工作方式。对讲机、收发报机等都是这种通信方式。所谓全双工通信,是指通信双方可同时进行双向传输消息的工作方式。在这种方式下,双方都可同时进行收发消息。很明显,全双工通信的信道必须是双向信道。生活中全双工通信的例子非常多,如普通电话、手机。2.2.1串行通信概念计算机与计算机,计算机与外部设备进行数据交换也称为通信,一般有两种方式:并行通信和串行通信。信息的各位数据被同时传送的通信方法是并行通信,并行通信依靠I/O接口来实现。并行通信中,数据有多少位就需要多少条信号传输线,这种通信方式快,但由于传输线较多,所以成本较高,仅适合近距离通信,通常传送距离小于30米,常用
22、的并行通信协议有、ECP等。当距离大于30米时则多采用串行通信方式,串行通信是指外部设备和计算机间使用一根数据线(另外需要地线,可能还需要控制线)进行数据传输的方式。数据在一根数据线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。与并行通信方式相比,有以下优点:(1)传输距离长,可达数千公里。(2)长距离内串行数据传送速率会比并行数据传送速率快,串行通信的通信时钟频率比并行通信更容易提高。(3)抗干扰力强,串行通信信号间的相互干扰完全可以忽略。(4)通信成本低。(5)传输线既传输数据,又传输联络信息。因此串行通信得到广泛的应用。在串行通信中,数据通常在发送器和接收器间进行双向传送,而
23、这种传送又根据需要可分为单工通信、半双工通信和全双工通信。通常情况下,根据信息传送格式,串行通信又分为两类:异步串行通信和同步串行通信。同步串行通信是按软件识别同步字符来实现数据传送的;异步串行通信是一种利用字符再同步技术通信方式。同步通信是以数据块的方式传送的,数据传输率高,适合高速率、大容量的数据通信。同步通信在数据开始处用一个同步字符来指示。同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相信始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。在发送时要插入同步字符,接收端在检测到同步字符后,就开始接收任意位的串行数据,同步通信具有较高的传输率
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 FPGA 串口 通信 系统 设计
链接地址:https://www.31ppt.com/p-3979160.html