- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用FPGA实现UART的设计
查询EPLK30TC144-3供应商
FPGA 设计网
利用FPGA 实现UART 的设计
引言
随着计算机技术的发展和广泛应用,尤其是在工业控制领域的应用越来越广泛,计算机通信
显的尤为重要。串行通信虽然使设备之间的连线大为减少,但随之带来串/并转换和位计数
等问题,这使串行通信技术比并行通信技术更为复杂。串/并转换可用软件实现,也可用硬
件实现。用软件实现串行传送大多采用循环移位指令将一个字节由高位到低位(或低位到高
位)一位一位依次传送,这种方法虽然简单但速度慢,而且大量占用CPU 的时间,影响系统
的性能。更为方便的实现方法是用硬件,目前微处理器串行接口常用的LSI 芯片是UART(通
用异步收发器)、USART(通用同步异步收发器)和ACIA(异步通信接口适配器)等。不论是哪
一种芯片,它们的一种基本功能是实现串/并转换。正是这些串行接口芯片弥补了串行通信
较为复杂这一缺陷。本文应用EDA(电子设计自动化)技术,基于FPGA(现场可编程门阵列)
/CPLD(复杂可编程逻辑器件)设计与实现UART。
1 总体设计
整个设计包括两部分:基于FPGA 的UART 的设计和基于VB6.0 的上位机程序设计。UAR
T 的设计采用模块化的设计思想,可分为3 个模块:FPGA 数据发送模块、FPGA 波特率发
生器控制模块及数据接收模块。上位机程序采用VB 6.0 的Mscomm 控件,可分为画面设
计和功能设计两部分。串口采用标准的RS-232 协议,主要参数选择为:波特率9 600 bit
/s,8 位有效位,无奇偶校验位,1 位停止位。
2 UART 的结构和帧格式
UART 主要包括接收器和发送器。从异步接收输入信号SIN 接收到的异步信号通过接收器
完成串行/并行的转换,形成异步数据帧;发送器将CPU 发出的8 位数据进行并行/串行
转换,从SOUT 发送出去。功能包括微处理器接口、TBR(发送缓冲器)、TSR(发送移位寄
存器)、帧产生、并转串、RBR(接收缓冲器)、RSR(接收移位寄存器)、帧产生、串转并。U
ART 的结构如图1 所示。
FPGA 设计网
FPGA 设计网
UART 的帧格式包括线路空闲状态(idle,高电平)、起始位(start bit ,低电平)、5 位~8 位数
据位(da-ta bits) 、校验位(parity bit ,可选)和停止位(stop bit ,位数可为1、1.5、2 位)。这
种格式是由起始位和停止位来实现字符的同步。UART 内部一般 配置寄存器,可以配置数
据位数(5 位~8 位)、是否有校验位和校验的类型、停止位的位数(1,1.5,2 位)等设置。
3 UART 的设计与实现
UART 是广泛使用的串行数据传输协议。UART 允许在串行链路上进行全双工的通信。串行
外设使用RS-232-C 异步串行接口,一般采用专用集成电路即UART 实现。如8250、825
1、NS16450 等芯片都是常见的UART 器件,这类芯片已经相当复杂, 的含有许多辅助
的模块(如FIFO), 时不需要使用完整的UART 的功能和这些辅助功能,或者使用了FPG
A /CPLD,那么就可以将所需要的UART 功能集成到FPGA 内部。使用VHDL 将UART
的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。
下面分别设计UART 的3 个模块(发送器、接收器和波特率产生器),并给出其仿真结果。
3.1 发送器设计
UART 串行发送器模块框图如图2 所示。DIN 为8 位数据,其余为1 位。
从图2 的框图可以看出,串行发送器中包含 一个8 位THR(发送保持寄存器)和TSR(发送
移位寄存)。复位时,引 TRE 为高电平。当数据载入到TSR 之后,引 TRE 变为低电平。
发送完毕,TRE 变为高电平。当侦测到输入WRN 变为低电平时,自动使能串行数据发
文档评论(0)