




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、异步串行通信要求的传输线少,可靠性高,传输距离远,被广泛应用于微机和外设的数据交换。实现串口通信主要需要完成两部分工作:将串口电平转换为设备电路板的工作电平,即实现RS-232电平和TTL/CMOS电平的转换; 接收并且检验串行的数据,将数据变成并行的并提供给处理器处理。 实现RS-232电平和TTL/CMOS电平转换可以用接口芯片来实现,实现数据的串行到并行转换用的是UART,它们是实现串行通信必不可少的两个部分。虽然目前大部分处理器芯片中都集成了UART,但是一般FPGA芯片却没有这个特点,所以使用FPGA作为处理器可以有两个选择,第一个选择是使用UART芯片进行串并转换,第二个选择是在F
2、PGA内部实现UART功能。但所有的UART芯片都存在引脚较多、体积较大、与其他器件的接口较为复杂等缺点,从而会使设计的成本和难度增加。因此可以将需要的UART功能集成到FPGA内部,而利用VHDL语言将UART的核心功能集成,不仅解决传统芯片的缺点,也使整个设计更加紧凑、稳定且可靠。1、UART实现原理UART主要有UART内核、信号监测器、移位寄存 器、波特率发生器、计数器、总线选择器和奇偶校验器总共7个模块组成,如图一所示。UART各个模块的功能如下:(1)UART内核模块UART内核模块是整个设计的核心。在数据接收时,UART内核模块负责控制波特率发生器和移位寄存器,使得移位
3、寄存器在波特率始终的驱动下同步的接收并且保存RS-232接收端口上的串行数据。在数据发送时,UART内核模块首先根据待发送的数据和奇偶校验位的设置产生完整的发送序列(包括起始位、数据位、奇偶校验位和停止位),之后控制移位寄存器将序列加在到移位寄存器的内部寄存器里,最后再控制波特率发生器驱动移位寄存器将数据串行输出。(2)信号监督器模块信号检测器用于对RS-232的输入信号进行实时检测,一旦发现新的数据则立即通知UART内核。(3)移位寄存器模块移位寄存器的作用是存储输入或者输出的数据。当UART接受RS-232输入时,移位寄存器在波特率模式下采集RS-232输入信号,并且保存结果;当UART进
4、行RS-232输出时,UART内核首先将数据加载到移位寄存器内,再使移位寄存器在波特率模式下将数据输出到RS-232输出端口上。(4)波特率发生器模块由于RS-232传输必定是工作在某种波特率下,比如9600,为了便于和RS-232总线进行同步,需要产生符合RS-232传输波特率的时钟,这就是波特率发生器的功能。(5)奇偶检验器模块奇偶校验器模块是根据奇偶校验的设置和输入数据计算出相应的奇偶校验位,它是通过纯组合逻辑实现的。(6)总线选择模块总线选择模块用于选择奇偶校验器的输入是数据发送总线还是数据接收总线。在接收数据时,总线选择模块将数据接收总线连接到奇偶校验器的输入端,来检查已接收数据的奇
5、偶校验位是否正确;而在发送数据时,总线选择模块将数据发送总线连接到奇偶检验器的输入端,UART内核模块就能够获取并且保存待发送序列所需的奇偶校验位了。(7)计数器模块计数器模块的功能是记录串行数据发送或者接收的数目,在计数到某数值时通知UART内核模块。2、UART工作流程UART的工作流程可以分为接收过程和发送过程两部分。接收过程指的是UART监测到RS-232总线上的数据,顺序读取串行数据并且将其输出给CPU的过程。当信号监测器监测到新的数据(RS-232输入逻辑变为0,即RS-232传输协议的起始位)就会触发接收过程,其流程图如图二所示。首先UART内核会重置波特率发生器和移位寄存器,并
6、且设置移位寄存器的工作模式为波特率模式,以准备接收数据。其次,移位寄存器在波特率始终的驱动下工作,不断读取RS-232串行总线的输入数据,并且将数据保存在内部的寄存器内。接收完成后,UART内核会对已接收的数据进行奇偶检验并且输出校验结果。最后,UART内核会重置信号监测器,以准备进行下一次数据接收。基于FPGA的UART控制器的多模块设计与实现2010年12月2日 14:59 中国科技信息 作 者:张明发送过程由加载和发送两个步骤组成,如图三所示。加载步骤是UART内核按RS-232串行发送的顺序将起始位、数据位、奇偶校验位和停止位加载到移位寄存器
7、内,这个过程工作在系统时钟下,相对于RS-232的传输速度来说非常快。完成加载步骤后,UART内核会重置波特率发生器,并且设置移位寄存器工作在波特率模式下,于是移位寄存器便在波特率时钟的驱动下依次将加载的数据发送到RS-232的发送端TxD,这样便产生了RS-232的数据发送时序。3、UART各个模块的实现除UART内核模块以外,其他模块都较为简单,用于实现某一具体功能。现在重点对UART内核模块的实现做出介绍。UART内核模块的功能是控制数据接收、数据加载和数据发送的过程,这可以用状态机来实现。下面就按接收和发送的过程来介绍UART内核模块状态机的实现。(1)数据接收过程数据接收过程的流程图如图二所示,可以定义3个状态空闲、接收和接收完成,其中状态变换图如图四所示。(2)数据加载和发送过程数据加载和发送过程都是为了发送数据而设定的,所以将它们放在一起进行介绍。可以用4个状态来实现上述的过程,即空闲、加载、发送和发送完成,其中的空闲状态就是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 以人为本打造以客户为中心的供应金融服务模式
- 企业级医疗信息系统集成方案的研究与实施
- 企业健康关怀的科技创新-引入远程监测技术的研究
- 创新升级之路如何利用专用芯片提高区块链技术性能
- 健康教育大观全息透视医疗健康管理重要性
- 工程履约保证合同协议
- 四到六岁孩子美术课程大纲
- 创新技术打造高效的医疗保险服务流程
- 信息共享与智慧化在医疗服务中的应用
- 利用区块链强化医疗知识产权的解决方案和投资策略分析
- 2024年认证行业法律法规及认证基础知识答案
- (一模)2025年深圳市高三年级第一次调研考试 英语试卷(含标准答案)
- 电商物流中的税务问题及优化措施
- 中考英语专项练习-语法填空20篇(含解析)
- 快鱼导购培训
- 国家森林公园景区信息化建设规划方案
- 盘扣式脚手架安全管理课件
- 大学生应征入伍学费补偿申请表
- 6-4协同进化与生物多样性的形成教案
- 2025年烧烤店创业计划书
- 光伏强条执行计划
评论
0/150
提交评论