资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
四川大学本科毕业论文 UART接口设计及验证UART接口设计及FPGA验证 The Design of UART Interface and FPGA Verification专业:微电子一班学生:熊 涛 指导教师:王 勇,高 博摘 要:随着电子技术的发展,以及数据传送的需要,通用异步接收/发送器(UART)已成为MCU、CPU、DSP等的基本配置,应用广泛。UART数据通过串行输入、输出,不同装置间通信不需要传送时钟信号,避免了同步传送的时序处理问题,数据线引脚较少,避免了信号间的相互干扰,是未来数据传送的发展方向。本文主要讨论如何应用Verilog HDL语言,基于FPGA器件实现可复用的UART IP Core。通过修改配置文件,用户可以根据需要设置相应的参数,以实现相应功能的UART器件。本设计模块主要包括UART发送器、接收器、波特率发生器,以及总线接口控制逻辑。设计通过Xilinx公司的Spartan3系列器件XC3S400 FPGA进行功能验证。关键词:UART、IP核、发送器、接收器、波特率发生器、Verilog HDL Abstract: With the development of electronic technology, as the need of data transmitter, the Universal Asynchronous Receiver/Transmitter (UART) now is the basic component of MCU, CPU, DSP , etc. By series data input/output, there is no need to send clock signal when communication between different equipments, avoiding timing synchronous problem, and the data pin is only one, avoid the disturb among the signals in parallel communication. So, series data transmitting is the development direction in future. This paper focuses on how to use Verilog HDL to carry out reusable UART IP Core, based on FPGA. By modifying the configuration documents, the user can design different UART component. The design is made up of these modules, such as Transmitter, Receiver, Bade_rate generator, and the Bus interface mastering logic. When validating the design, we use XC3S400 FPGA of Xilinx CO.,LTDs Spartan-3 spectrum. Key Words: UART , IP Core,Transmitter, Receiver, Verilog HDL目录第一章 引言1第二章 UART的协议.22.1 异步通信22.2串行通信的过程及通信协议.3 2.2.1串并转换与设备同步.32.2.2串行通信协议32.3 UART的典型应用.52.4 UART的时钟控制.62.5 UART的数据采样.6第三章 UART的硬件设计.73.1 UART总体构架.73.1.1 UART结构.73.1.2 UART的帧格式.73.1.3 UART 的设计规格83.2 串行数据发送模块 113.2.1 发送顶层模块. 113.2.2 取数控制. 12 3.2.3 发送状态机. 133.2.4 EDA工具验证 143.3 串行数据接收模块 15 3.3.1 接收顶层模块. 153.3.2 数据同步装置. 153.3.3 数据抽样装置. 163.3.4 接收状态机. 173.3.5 EDA工具验证.183.4 波特率发生器 18 3.4.1 波特率发生器概述18 3.4.2 EDA工具验证193.5 总线接口控制模块. 193.5.1 接口功能描述203.5.2 EDA综合结果.21第四章 UART的FPGA验证.22 4.1 Xilinx Spartan-3 系列器件介绍. 22 4.2 FPGA实现过程 23第五章 结论26致谢27参考文献28外文译文29翻译原文35i 第一章 引 言目前,基于传统IC芯片的微电子应用系统设计技术正在转向基于知识产权(IP,Intellectual Property)核的片上系统(SoC,System on Chip)技术发展。IC设计在国内外的发展很快,各种规模的IC设计中心和公司不断出现。因此,IP核的设计已开始逐渐成为国内微电子系统设计的一项支撑技术。从应用功能角度划分,IP核分为两大类:微处理器IP核(如8位8051核、32位ARM核等)和各种接口IP核(如LCD控制器、各种串行总线接口IP核等)。其中,接口IP核在数字通信系统中有着广泛的应用。设备间的通信方式,可分为并行和串行两种。在相同频率下,并行总线优于串行总线。随着并行总线的数据传输率越来越高,传统的并行接口逐渐暴露出一些信号传输上的缺陷,其中最致命的莫过于信号互相干扰问题。要满足高速传输的需要,要么提升它的总线频率,要么增加数据宽度。但是这两种都会导致成本的上升,并且使信号偏移和串扰更加严重。而串行技术采有极少的数据线,并使用差分信号线,在传输数据时几乎不会因为受到干扰而出错。通用异步接收器和发送器(UART)用异步串行输入、输出进行通信。串行传输以速度为代价,换取了成本的降低和连线复杂度的降低。UART提供串行异步接收数据的同步化,发送器和接收器两个部分的并串转换和串并转换,对于串行传输系统而言,这些功能是必不可少的。串行数据流的同步化是通过给发送数据增加起始位和停止位、以形成一个数据字符而实现的。数据完整性是通过在数据字符中附加一个校验位来实现的,由接收器来检验。对于主机系统,UART就像一个能读取和写入的8位输入和输出端口,任何时候,当主机要发送数据,它只需以字节格式把这些数据发送到UART(8个位宽);当UART从另一个串行装置接收数据时,它把这些数据临时缓存在它的FIFO中(同样是8个位宽),然后通过内部寄存器位或硬件中断信号向主机指示这些数据的可用性。随着串行通信技术的发展,新一代的串行通信接口如USB1.0,USB2.0,1394,SATA等高速串行接口逐渐成熟,串行通信的传输速度不断提升,接口技术有串行化的趋势。本课题通过对由CCITT制定的串并转换协议RS-232-C, 及其协议实现的通用器件UART的研究、实现,以期进一步了解串行通信技术,并系统学习IP Core 的设计。42第二章 UART的协议UART(即通用异步接收传送器)按照异步通信传输格式传送数据,它的传送符合通信协议的规范。以下主要介绍异步通信及通信协议,以及UART中数据传输的具体方式。2.1 异步通信在异步通信中,数据是一帧一帧(包括一个字符代码或一个字节数据)传送的, 一帧的数据格式如下图所示。图 2-1 异步通信的一帧数据格式在帧格式中,一个字符由四个部分组成:起始位、数据位、奇偶校验位和停止位。起始位(0)只占用一位,通知接收设备一个待接收的字符开始到达。线路上不传送字符时应保持为1,接收端不断检测线路的状态,若连续为1后测到一个0,就表示发来一个新字符,应马上准备接收。字符的起始位还被用作同步接收端的时钟,以保证以后的接收能正确进行。起始位后面紧接着是数据位,它可以是5位(D0D4)、6位、7位或8位(D0D7)。奇偶校验(D8)只占一位,也可以不用校验位,则这一位就可省略。也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。停止位用来表征字符的结束,一定是高电位(1)。停止位位宽可以是1位、1.5位或者2位。接收端收到停止位后,表明上一字符已传送完毕,同时,也为接收下一个字符做好准备,如果再接收到0,就是新的字符开始传送。若停止位以后不是紧接着一个字符,则使线路电平保持为高电平(1)。2.2 串行通信的过程及通信协议串行通信指数据是一位一位按顺序传送的通信方式。它的突出优点是只需一对传输线,这样就大大降低了传送成本,特别适用于远距离通信;其缺点是传送速度较低。串行通信的传送方向通常有三种:单工、半双工、全双工。全双工是一对单向配置,它要求两端的通信设备都具备完整和独
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号