基于fpga的uart设计与实现

基于fpga的uart设计与实现

ID:33937872

大小:491.00 KB

页数:4页

时间:2019-02-28

基于fpga的uart设计与实现_第1页
基于fpga的uart设计与实现_第2页
基于fpga的uart设计与实现_第3页
基于fpga的uart设计与实现_第4页
资源描述:

《基于fpga的uart设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第23卷第2期中原工学院学报Vol.23No.22012年4月JOURNALOFZHONGYUANUNIVERSITYOFTECHNOLOGYApr.,2012文章编号:1671-6906(2012)02-0066-04基于FPGA的UART设计与实现董秀洁,付凯(中原工学院,郑州450007)摘要:提出了一种基于FPGA的UART的实现方法.利用有限状态机和硬件描述语言VHDL实现了通用异步收发器UARTIP核的设计,给出了用VHDL实现UART的数学模型,并进行了仿真分析.结果表明,各项通信指标均满足要求,并可提高系统的可靠性和稳定性

2、.关键词:有限状态机;硬件描述语言;通用异步收发器;FPGA中图分类号:TN402文献标志码:ADOI:10.3969/j.issn.1671-6906.2012.02.015通用异步收发器(UniversalAsynchronousRe-片的缺点,提高了FPGA系统的集成度,使FPGA系ceiverTransmitter,UART)是一种能够支持近距离和统有强大的现场可编程能力,也使系统更加稳定而可[2-3]远距离传输的异步串行接口.由于异步串行通信接口靠.具有传输线少、成本低、可靠性高、实现简单等优点,广[1]泛地应用于PC和外设数据

3、间的交换.在当今流行1URAT工作原理的嵌入式微处理器芯片的设计中,异步串行通信接口已成为不可缺少的一部分.本文采用硬件描述语言UART的一帧数据由起始位、数据位、奇偶校验[4]VHDL,设计了一个具有UART功能的模块,将位和停止位组成.UART的数据帧格式如图1所UART的功能集成到FPGA芯片内部,解决了传统芯示.图1UART的数据帧格式收发双方通信时,首先在数据帧中设置起始位和每一帧的信息在传送之前,传输线处于逻辑高电停止位,在一个有效数据信息正式发送前,发送器先发平状态.在传送一个字符信息的时候,首先发送起始位送一个起始位,然后

4、开始发送有效字符位,在有效字符逻辑,一般为低电平;紧随其后发送的是5到8位的信位发送结束时再发送一个停止位.这样,由起始位到停息位,先传送低位后传送高位;发送完字符的最高位之止位构成一帧.这种通信方式又称为起止式异步通信后,是可选择的奇偶校验位(有奇校验、偶校验或无校方式.验可供选择);奇偶校验位后是标志着一帧字符结束的收稿日期:2011-09-15作者简介:董秀洁(1957-),女,山东潍坊人,教授.第2期董秀洁,等:基于FPGA的UART设计与实现·67·停止位,为高电平.在传送数据时,数据的帧与帧之间该模块可以看作一个可控分频器,提

5、供了300、2400、如果有间隙,就要在停止位之后附加空闲位(用逻辑l9600、115200四种常用的波特率.来表示),当然空闲位也可没有,这时的传送数据效率(2)串口接收模块.接收模块是整个UART的设是最高的.图1中,起始位:l位,为逻辑0;数据位:5~计的重点,其主要功能是检测数据帧的起始位,然后对8位,为逻辑1或者0;奇偶校验位:1位,为逻辑l或者接收的数据进行串行到并行的转换,并将接收好的数0;停止位:l位、1.5位或2位,为逻辑1;空闲位:不限.据储存在寄存器内等待PC机处理.接收器的接受时在数据接收过程中,接收器要首先检验起

6、始位.在钟与每个接收字符同步是接收功能实现的关键,但是检验起始位后,触发接收过程,UART控制器会重置串行数据帧与数据接收时钟是异步的,所以必须有效波特率发生器和移位寄存器,以准备接收数据.其后,地控制采集通信线路上的电平信号的时机,以保证异串行总线的输入数据将不断被移位寄存器读取,并且步通信的双方准确无误地交换信息.接收模块流程图保存在其UART的寄存器内.接收完成之后,UART如图3所示.控制器会在输出结果之前对已经接收的数据进行奇偶校验.最后,UART控制器准备下一次的数据接收,并重置控制器内的信号检测器.数据发送的过程由加载和发送

7、组成.加载就是UART控制器按照串行发送的顺序将起始位、数据位、奇偶校验位和停止位加载到移位寄存器内,这个过程的时钟为系统时钟,其对于串行发送的数据的传输速度来说非常快.加载之后,UART控制器会再次重置波特率发生器,并且将移位寄存器设置在波特率模式下,于是移位寄存器便在波特率时钟的驱动下将加载的数据发送出去.2UART设计2.1UART系统组成UART系统主要由波特率发生模块、接收模块和发送模块3部分组成,如图2所示.图3接收模块流程图其中,parityerr是奇偶校验是否有错的标志,framingerr表示一帧的数据格式是否有错,rx

8、rdy表示数据接收完毕.图2UART整体结构图(3)串口发送模块.发送模块的主要功能为从CPU接收需要发送的并行数据,将并行数据转换为串行数(1)波特率发生模块.波特率发生模块可根据电路据,并

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。