基于FPGA的UART设计

2012-10-25 13:07:50来源: 现代电子技术
   

摘要:UART作为RS232协议的控制接口得到了广泛的应用,将UART的功能集成在FPGA芯片中,可使整个系统更为灵活、紧凑,减小整个电路的体积,提高系统的可靠性和稳定性。提出了一种基于FPGA的UART的实现方法,具体描述了发送、接收等模块的设计,恰当使用了有限状态机,实现了FPGA片上UART的设计,给出了仿真结果。
关键词:通用异步收发器;串口通信;现场可编程逻辑器件;有限状态机

    通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)可以和各种标准串行接口,如RS232和RS485等进行全双工异步通信,具有传输距离远、成本低、可靠性高等优点。一般UART由专用芯片来实现,但专用芯片引脚都较多,内含许多辅助功能,在实际使用时往往只需要用到UART的基本功能,使用专用芯片会造成资源浪费和成本提高。当我们不需要用到完整的的UART功能和一些辅助功能时,就可以将需要的UART功能集成用FPGA来实现,然而,FPGA内部并不拥有CPU控制单元,无法处理由UART控制器产生的中断,所以FPGA不能利用现成的UART控制器构成异步串行接口,必须将UART控制器的功能集成到FPGA内部。从而可以大大的减少了体积、简化了电路,也提高了系统的灵活性。

1 UART的工作原理
    UART是一种串行数据总线,用于异步通信,并且双向通信,可实现全双工发送和接收。基本的UART只需要两条信号线(TXD、RXD)和一条地线就可以完成数据的互相通信,接收和发送互不干扰,这样就大大节省了传输费用。由于UART是异步通信,所以需要对数据进行同步。UA RT发送/接收数据的传输格式如图1所示,一个字符单位由开始位、数据位、校验位、停止位组成(其中校验位可供选)。

b.JPG


    发送或接收一个完整的字节信息,首先是一个作为起始位的逻辑“0”位,接着是8个数据位。然后是停止位逻辑“1”位,数据线空闲时为高或“1”状态。在字符的8位数据部分,先发送数据的最低位,最后发送最高位。每位持续时间是固定的,由发送器本地时钟控制,每秒发送的数据位个数,即为“波特率”。起始位和停止位起着很重要的作用。显然,它们标志每个字符的开始和结束,但更重要的是他们使接收器能把他的局部时钟与每个新开始接收的字符再同步。异步通信没有可参照的时钟信号,发送器随时都可能发送数据,任何时刻串行数据到来时,接收器必须准确地发现起始位下降沿的出现时间,从而正确地采样紧接着的10或者11位(包括开始位、数据位和停止位),接收器的时钟和发送器的时钟不是同一个,因此,接收器所确定的采样点的间隔和发送器所确定的位间隔时间不同,这点要特别注意。

2 UART功能设计
   
异步通信的一帧传输经历以下步骤:1)空闲状态。发送方连续发送信号,处于信息“1”状态。2)开始传输。发送方在任何时刻将传号变成空号,即“1”跳变到“0”,并持续1位时间表明发送方开始传输数据。而同时,接收方收到空号后,开始与发送方同步,并期望收到随后的数据。3)奇偶传输。数据传输之后是可供选择的奇偶位发送或接收。4)停止传输。最后是发送或接收的停止位,其状态恒为“1”。
    设计的基本原则是保留最主要的功能,基于FPGA的UART系统由波特率时钟发生器、接收器和发送器3个子模块组成,如图2所示。

c.JPG

[1] [2] [3]

关键字:FPGA  UART

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2012/1025/article_3218.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
UART

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved