用户中心

资讯 > 嵌入式系统

基于FPGA的UART接口开发

作者:齐志强2007.10.13阅读 2764

设计背景

       串口即通用异步收发器(UART,Universal Asynchronous Receiver Transmitter)。串行通信具有传输线少、成本低、可靠性高等优点,所以系统间互联常采用RS-232接口方式,一般该接口由UART 专用芯片来实现。但UART接口芯片一般引脚较多,内含许多辅助模块和一些辅助功能,在实际使用时往往用不到这些功能,因此若采用UART专用芯片,必将使电路变得复杂,PCB面积增大,从而导致成本增加,系统的稳定性和可靠性降低。基本的UART通信只需要两条信号线(RXD和TXD),接收与发送是全双工形式控制工程网版权所有,其中TXD是UART的发送端, RXD是UART的接收端。由于FPGA的功能日益强大,开发周期短、可重复编程等优点也越来越明显,可以在FPGA芯片上集成UART功能模块,从而简化电路,缩小PCB面积,提高系统可靠性。此外控制工程网版权所有,FPGA的设计具有很高的灵活性,可以方便地进行升级和移植。

设计要求

       本接口作为一

个关于内容保护系统的电路板的一部分,主要用于和计算机进行通信,也可与其他带UART接口的电路板进行通信。对数据传输速率要求不高,传输距离也不要求很长,但传输数据要求准确可靠。该接口可用来监控电路内部状态,将FPGA内部信息通过串口输出至计算机,以达到辅助调试电路的目的。另外,电路板上的FPGA外挂有串行Flash,可通过串口对Flash进行调试,将Flash中的数据输出至计算机,并可将数据通过串口写入Flash中。简而言之,该接口是作为计算机与电路板的一个可靠的双向数据传输通道。

UART的实现原理

       UART是异步通信方式,通信的发送方和接收方各自有独立的时钟www.cechina.cn,传输的速率由双方约定。本设计采用最常用的每秒9600波特的传输速度。

       UART的通信协议十分简单www.cechina.cn,以低电平作为起始位,高电平作为停止位,中间可传输5~8比特数据和1比特奇偶校验位,奇偶校验位的有无和数据比特的长度由通信双方约定。一帧数据传输完毕后可以继续传输下一帧数据,也可以继续保持为高电平,两帧之间保持高电平,持续时间可以任意长。本方案采用不添加校验位的方法,以提高数据传输效率。发送端发送数据时先发一低电平,然后发送8比特数据,之后马上把信号拉高,从而完成一帧数据传送。接收端接收到低电平时开始计数,然后接收8比特信息位后如果检测到高电平即认为已接收完一帧数据,继续等待下一帧起始信号低电平的到来,若接收完8比特数据后没有检测到高电平则认为这不是一帧有效数据,将其丢弃,继续等待起始信号。时序关系如图1所示,收发可同时进行,互不干扰。

基于FPGA的UART接口开发如图

图1 RS-232接口的工作时序

硬件电路原理图及说明


       一个完整的RS-232接口是一个25针的D型插头座,25针的连接器实际上只有9根连接线,所以就产生了一个简化的9针D型RS-232插头座,常用的就是一个9针的D型插头座。通常只用到一根发送信号线、一根接收信号线和一条地线,其余的振铃指示、请求传送、清除传送、准备就绪及数据载波检测等线可以做悬空处理。

      RS-232标准规定逻辑1的电平为 -15~-3V,逻辑0的电平为+3~+15V。CMOS电路的电平范围一般是从0V到电源电压,FPGA的I/O输入输出电压通常为0~3.3V,为了与FPGA 供电电压保持一致控制工程网版权所有,必须加电平转换芯片。选用Maxim公司的MAX3232电平转换芯片,电路原理图如图2所示。

基于FPGA的UART接口开发如图

图2 RS-232接口电路

       连线采用最简单的3 线制连接模式,即只需要两根信号线和一根地线来完成数据收发。而FPGA 只需要选择两个普通I/O引脚分别与接口芯片MAX3232 对应引脚T2IN、R2OUT相连即可完成将串口电平转换为设备电路板的工作电平,即实现RS-232电平和TTL/ CMOS 电平的转换。一个MAX3232芯片可以支持两个串口的电平变换,我们选择其中的一组接口,图中的4个电阻可以省去。在电路中加入了0Ω的跳线电阻,是为了在这组接口出故障时可以方便地跳线,使用另一组接口。

软件设计

       异步收发器由波特率发生器、UART接收器和UART发送器三个模块

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688