基于FPGA的异步串行通信毕业论文

上传人:876****10 文档编号:142026791 上传时间:2020-08-15 格式:DOC 页数:43 大小:3.40MB
返回 下载 相关 举报
基于FPGA的异步串行通信毕业论文_第1页
第1页 / 共43页
基于FPGA的异步串行通信毕业论文_第2页
第2页 / 共43页
基于FPGA的异步串行通信毕业论文_第3页
第3页 / 共43页
基于FPGA的异步串行通信毕业论文_第4页
第4页 / 共43页
基于FPGA的异步串行通信毕业论文_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《基于FPGA的异步串行通信毕业论文》由会员分享,可在线阅读,更多相关《基于FPGA的异步串行通信毕业论文(43页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA的异步串行通信毕业论文 作者: 日期:摘 要为了适应全数字化自动控制更加广泛的应用,采用FPGA对UART进行多模块的系统设计的方法,使串口通信的集成度更高。对UART系统结构进行了多模块的分解。UART(通用异步收发器)是一种应用广泛的短距离串行传输接口,常用于短距离、低速、低成本的通信中。本文采用Verilog语言设计了一个UART发送模块和接收模块,从而可实现FPGA和PC机的异步串行通。利用Altera公司的EP1C6Q240I8芯片,采用Altium Designer Summer 09画出原理图及PCB图且在QuartusII9.0环境下进行设计、编译、仿真。关键字:U

2、ART,FPGA,Verilog,原理图,PCB ABSTRACTIn order to meet the full digital automatic control is used more and more widely, a systematic design method of FPGA module of UART, the serial communication, a higher degree of integration. The structure of UART system is decomposed multi module. UART (Universal Asy

3、nchronous Receiver Transmitter) is a short distance serial transmission interface is a widely used, communication used in short distance, low speed, low cost. This paper describes the design of a UART transmitting module and a receiving module using Verilog language, which can be asynchronous serial

4、 FPGA and PC machine implementation. Using EP1C6Q240I8 chip of Altera company, 09 draw the schematic diagram and PCB diagram and design, compile, simulation in QuartusII9.0 environment using Altium Designer Summer. Key Words: UART,FPGA,Verilog,Schematic diagram,PCB 目 录第1章 引言11.1 课题任务11.2 课题要求21.3 研究

5、意义3第2章 设计方案52.1 硬件部分52.1.1 电源模块52.1.2复位电路82.2.1软件工具102.2.2模块流程图13第3章 实现功能描述163.1实现功能描述163.2电路设计163.2.1主要芯片介绍163.2.2原理图设计183.2.3 PCB图设计213.3 软件设计25第4章 调试与实现314.1 调试中遇到的重点和难点314.2 解决方案314.3 实现展示31第5章 总结36参考文献37 第1章 引言1.1 课题任务本课题任务是使用Verilog语言,写一个异步串行通信(UART)接口,并在FPGA上面仿真实现。Verilog HDL是一种硬件描述语言(HDL:Har

6、dware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。异步串行通信(UART)是一种广泛应用的串行数据传输协议,UART的要求是传输线少,可靠性高而且传输距离远。UART功能负责从总线采集数据,转换成传输格式,然后发送到串口。也负责从串口接收数据,检查和删

7、除附加的位,并传送结果数据给总线。异步串行通信广泛的应用于军事、工业、自动控制、仪器、通信、医药、话音图像处理等众多领域。现实应用中多采用专用集成芯片实现UART功能,如8250、825 0A、16450、16C451、16C551等。但在实际应用中,一般只需要UART的几个主要功能,专用芯片成本比较大且造成资源的浪费。近年来随着电子设计技术的日趋成熟,特别是FPGA在集成度和速度上的大幅提高,可以用一个芯片构成一个复杂的系统。一个芯片就能完成处理计算、通信、控制等多功能,而且成本大幅度降低。根据以上考虑,本文采用FPGA实现UART功能。在本文的设计中有着重要作用。FPGA(FieldPro

8、grammableGateArray)现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物跚1。FPGA的应用领域最初为通信领域,但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域心引。并随着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越多的设计也开始以ASIC转向FPGA,FPGA正以各种电子产品的形式进入了我们日常生活的各个角落。FPGA主要由三种可编程单元和一个用于存放编程数据的静态存储

9、器组成。三种可编程单元是可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块lOB(InputOutputBlock)和互连资源IR(InterconnectResource)口钔。它们的工作状态全部由编程数据存储器中的数据设定,工作时需要对片内的数据存储器进行编程。用户可以根据不同的配置模式,采用不同的编程方式。它是一种大规模可编程逻辑器件,包含大量的单个逻辑单元,它的体系结构和逻辑单元灵活、集成度高以及适用范围宽,并且设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验。FPGA以其突出的优点,减少了电子系统的开发风险和开

10、发成本,缩短了上市时间,通过在系统编程、远程在线重构等技术降低维护升级成本。随着可编程逻辑器件应用的日益广泛,许多IC制造厂家涉足FPGA领域。主要生产厂商有:Altera、Xilinx、Actel、Lattice等。其中Altera和Xilinx主要生产RAM工艺的作为一般用途的FPGA产品。而Actel主要生产采用反熔丝工艺和Flash工艺的非易失性的FPGA产品。本设计采用的FPGA是Altera公司的Cyclone系列的芯片,AlteraCyclone低成本FPGA前所未有地将低功耗、低成本和丰富的功能结合在一起。1.2 课题要求基本的UART通信只需要两条信号线,即RXD和TXD,T

11、XD是UART的发送端,RXD是UART的接收端,接收与发送时全双工工作的。UART是异步通信方式,发送方和接收方分别有各自独立的时钟,传输的速率由双方约定,使用起止式异步协议。起止式异步协议的特点是一个字符一个字符的进行传输,字符之间没有固定的时间间隔要求,每个字符都以起始位开始,以停止位结束。基本的帧格式每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身由5-8bit数据位组成,接着是一位校验位(也可由没有校验位),最后是一位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高点平,这样就保证起始位开始处一定有一个下降沿。数据发送实际就是按照基本UART帧格式将寄存器中

12、的并行数据转换为串行数据,为其加上起始位和停止位,以一定的波特率进行传输。波特率(Baud Rate)即调制速率,指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。它是对符号传输速率的一种度量,1 Baud即指每秒传输1个符号。在基于FPGA实现通用异步通信时,波特率发生器是一个必不可少的部分。波特率发生器实际上就是一个分频器,可以根据给定的系统时钟频率和要求的波特率算出波特率分频因子,算出的波特率分频因子作为分频器的分频数从而产生所需的时钟频率。在设定发送和接收使用相同的波特率的情况下,UART只需要一个波特率发生器就可以了,波特率可以有多种选择,如9600bit/s、

13、14400 bit/s、19200 bit/s、38400 bit/s等,本文选择的是最常用的9600bit/s。UART的数据接收的首要任务是能够正确检测到数据的起始位,起始位是一位0,它作为联络信号附加发送信息,因为空闲位都为高电平,所以当接收数据线的信号突然变为低电平时,告诉接收端将有数据传送。一个字符接收完毕后,对数据进行校验(若数据包含奇偶校验位),最后检测停止位,以确认数据接收完毕。数据传输开始后,接收端不断检测传输线,看是否有起始位到来。当收到一系列的“1”之后,检测到一个下降沿,说明起始位出现。但是,由于传输中有可能会产生毛刺,接收端极有可能将毛刺误认为是起始位,所以要对检测到

14、的起始位进行判别。一般采用以下方法:取接收端的时钟频率是发送频率的16倍频,当检测到一个下降沿后,在接下来的16个周期内检测接收到的“0”的个数,若“0”的个数超过8个或者10个,则认为是起始位,否则认为不是起始位,继续检测。在检测到起始位后,还需要确定起始位的中间点位置,由于检测起始位采取16倍频,因此计数器到8的时刻即是起始位的中间点位置,在随后的数据位接收中,应恰好在每一位的中间点采样,这样可提高接收的可靠性,接收数据位时可采取与发送数据相同的时钟频率,如果8位数据位、1位停止位的话,则需要采样9次,还需要进行串并转换,完成一个字符的接收。由上述描述中可以知道,异步通信是按字符传输的,每

15、传输一个字符,就用起始位来通知接收方,以此来重新核对收发双方同步。若接收设备和发送设备两者的时钟频率略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。但由于要在每个字符的前后加上起始位和停止位这样的一些附加位,使得传输效率降低,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2Kbit/s)。本课题需要的要求为以48MHZ晶振产生驱动,以产生波特率9600、8位数据位、一位停止位的格式进行数据传送。1.3 研究意义通用异步收发器主要实现功能是接收外设传送的串行数据转换为并行数据同时校验该数据,然后将并行数据提供给处理器处理,或者将处理器发送来的并行数据转换成串

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号