基于FPGA的UART控制器的多模块设计与实现

基于FPGA的UART控制器的多模块设计与实现

ID:41704873

大小:232.41 KB

页数:6页

时间:2019-08-30

基于FPGA的UART控制器的多模块设计与实现_第1页
基于FPGA的UART控制器的多模块设计与实现_第2页
基于FPGA的UART控制器的多模块设计与实现_第3页
基于FPGA的UART控制器的多模块设计与实现_第4页
基于FPGA的UART控制器的多模块设计与实现_第5页
资源描述:

《基于FPGA的UART控制器的多模块设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、异步串行通信要求的传输线少,可靠性高,传输距离远,被广泛应用丁•微机和外设的数据交换。实现串口通信主要需要完成两部分工作:将串口电平转换为设备电路板的工作电平,即实现RS-232电平和TTL/CMOS电平的转换;接收并R检验串行的数据,将数据变成并行的并捉供给处理器处理。实现RS-232电平和TTL/CMOS电平转换可以用接口芯片来实现,实现数据的串行到并行转换丿IJ的是UART,它们是实现串行通信必不可少的两个部分。虽然口前人部分处理器芯片屮都集成了UART,但是一般FPGA芯片却没有这个特点,所以使用FPGA作为处理器可以有两个

2、选择,第一个选择是使用UART芯片进行串并转换,第二个选择是在FPGA内部实现UART功能。但所有的UART芯片都存在引脚较多、体积较大、打其他器件的接口较为复杂等缺点,从而会使设计的成本和难度增加。因此町以将需耍的"RT功能集成到FPGA内部,而利用VHDL语言将CART的核心功能集成,不仅解决传统芯片的缺点,也使整个设计更加紧凑、稳定且可靠。1、UART实现原理UART主耍有SRT内核、信号监测器、移位寄存器、波特率发生器、计数器、总线选择器和奇偶校验器总共7个模块组成,如图一所示。UART各个模块的功能如下:(1)UART内核

3、模块UART内核模块是整个设计的核心。在数据接收时,UART内核模块负责控制波特率发生器和移位寄存器,使得移位寄存器在波特率始终的驱动下同步的接收并fl.保存RS-232接收端口上的串行数据。在数据发送时,UART内核模块首先根据待发送的数据和奇偶校验位的设置产生完整的发送序列(包括起始位、数据位、奇偶校验位和停止位),Z后控制移位寄存器将序列加在到移位寄存器的内部寄存器里,最后再控制波特率发生器驱动移位寄存器将数据串行输出。(2)信号监督器模块信号检测器用于对RS-232的输入信号进行实时检测,一旦发现新的数据则立即通知UART内

4、核。(3)移位寄存器模块移位寄存器的作用是存储输入或者输出的数据。当UART接受RS-232输入吋,移位寄存器在波特率模式卜-采集RS-232输入信号,并且保存结果;当UART进行RS-232输出时,UART内核首先将数据加载到移位寄存器内,再使移位寄存器在波特率模式下将数据输出到RS-232输出端口上。(4)波特率发生器模块由于RS-232传输必定是工作在某种波特率下,比如9600,为了便于和RS-232总线进行同步,需要产生符合RS-232传输波特率的吋钟,这就是波特率发牛:器的功能。(5)奇偶检验器模块奇偶校验器模块是根据奇偶

5、校验的设置和输入数据计算出相应的奇偶校验位,它是通过纯组合逻辑实现的。(6)总线选择模块总线选择模块用于选择奇偶校验器的输入是数据发送总线述是数据接收总线。在接收数据时,总线选择模块将数据接收总线连接到奇偶校验器的输入端,來检查己接收数据的奇偶校验位是否正确;而在发送数据时,总线选择模块将数据发送总线连接到奇偶检验器的输入端,UART内核模块就能够获取并H保存待发送序列所需的奇偶校验位了。(7)计数器模块计数器模块的功能是记录串行数据发送或者接收的数日,在计数到某数值时通知UART内核模块。2、UART工作流程UART的工作流程可以

6、分为接收过程和发送过程两部分。接收过程指的是UART监测到RS-232总线上的数据,顺序读取串行数据并且将其输出给CPU的过程。当信号监测器监测到新的数据(RS-232输入逻辑变为0,即RS-232传输协议的起始位)就会触发接收过程,其流程图如图二所示。首先UART内核会重置波特率发先器和移位寄存器,并且设直移位寄存器的工作模式为波特率模式,以准备接收数据。具次,移位寄存器在波特率始终的驱动下工作,不断读取RS-232帝行总线的输入数据,并且将数据保存在内部的寄存器内。接收完成后,UART内核会对已接收的数据进行奇偶检验并门输出校验

7、结果。最后,UART内核会重置信号监测器,以准备进行下一次数据接收。基于FPGA的UART控制器的多模块设计与实现2010年12月2日14:59中国科技信息作者:张明发送过程山加载和发送两个步骤组成,如图三所示。加载步骤是IART内核按RS-232串行发送的顺序将起始位、数据位、奇偶校验位和停止位加载到移位寄存器内,这个过程工作在系统时钟下,相对于RS-232的传输速度来说非常快。完成加载步骤后,UART内核会重置波特率发生器,并且设置移位寄存器T•作在波特率模式下,于是移位寄存器便在波特率时钟的驱动下依次将加载的数据发送到RS-2

8、32的发送端TxD,这样便产生了RS-232的数据发送吋序。图二"RT发送数据流胖图3、UART各个模块的实现除UART内核模块以外,其他模块都较为简单,川于实现某一具休功能。现在重点对UART内核模块的实现做岀介绍。UART内核模块

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

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

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