收藏 分享(赏)

UART原理及接收模块设计原理.doc

上传人:yjrm16270 文档编号:7659072 上传时间:2019-05-23 格式:DOC 页数:5 大小:93KB
下载 相关 举报
UART原理及接收模块设计原理.doc_第1页
第1页 / 共5页
UART原理及接收模块设计原理.doc_第2页
第2页 / 共5页
UART原理及接收模块设计原理.doc_第3页
第3页 / 共5页
UART原理及接收模块设计原理.doc_第4页
第4页 / 共5页
UART原理及接收模块设计原理.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、UART 原理2.1 UART 的通信原理UART即通用异步收发器,是一种串行通信方式。数据在传输过程中是通过一位一位地进行传输来实现通信的,串行通信方式具有传输线少,成本底等优点,缺点是速度慢。串行通信分为两种类型:同步通信方式和异步通信方式。但一般多用异步通信方式,主要因为接受和发送的时钟是可以独立的这样有利于增加发送与接收的灵活性。异步通信是一个字符接着一个字符传输,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成。每一个字符的传输靠起始位来同步,字符的前面一位是起始位,用下降沿通知收方开始传输,紧接着起始位之后的是数据位,传输时低位在前高位在后,字符本身由58位数据位组成。数据位

2、后面是奇偶校验位,最后是停止位,停止位是用高电平来标记一个字符的结束,并为下一个字符的传输做准备。停止位后面是不同长度的空闲位。停止位和空闲位都规定为高电平,这样可以保证起始位有一个下降沿。UART的帧格式如图2.1所示。图2.1 UART的帧格式Figure 2.1 The frame format of UARTUART的帧格式包括线路空闲状态 (idle ,高电平)、起始位(start bit ,低电平)、58位数据位(data bits)、校验位(parity bit,可选)和停止位(stop bit,位数可为1、1.5、2位)。 在串口的异步通信中,数据以字节为单位的字节帧进行传送。

3、发送端和接收端必须按照相同的字节帧格式和波特率进行通信。其中字节帧格式规定了起始位、数据位、寄偶效验位、停止位。起始位是字节帧的开始。使数据线处于逻辑0状态 ,用于向接收端表明开始发送数据帧,起到使发送和接收设备实现同步。停止位是字节帧的终止,使数据线处于逻辑1状态。用于向接收端表明数据帧发送完毕。波特率采用标准速度9600bit/s。0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 LSB MSB起始位 数 据 位 停止位校验位 空闲位这种格式是由起始位和停止位来实现字符的同步。UART内部一般有配置寄存器,可以配置数据位数(58位)、是否有校验位和校验的类型、停止位的位数(1

4、,1.5,2)等设置将发送器和接收器模块组装起来,就能较容易地实现通用异步收发器总模块,而且硬件实现不需要很多资源,尤其能较灵活地嵌入到FPGA/CPLD的开发中。2.2 UART 的结构UART的设计采用模块化的设计思想,主要分为 3个模块:数据发送模块、数据接收模块及波特率发生器控制模块。发送模块实现数据由并行输入到串行输出,接收模块实现数据由串行输入到并行输出,波特率发生器模块控制产生UART时钟频率。图2.2 UART的典型结构图Figure 2.2 The typical structure of UART从图中可以看出UART主要有由数据总线接口、控制逻辑、波特率发生器、发送部分和

5、接收部分组成且控制逻辑一般是由MP即微处理器模块实现,图中的对象器件一般指和CPU进行通信的外围串行通信设备类打印机等。连线采用最简单的3线制连接模式,即只需要两根信号线和一根地线来完成数据收发。而FPGA 只需要选择两个普通I/O引脚分别与接口芯片MAX3232对应引脚T2IN、R2OUT相连即可完成将串口电平转换为设备电路板的工作电平,即实现RS-232电平和TTL/ CMOS 电平的转换。一个MAX3232芯片可以支持两个串口的电平变换,我们选择其中的一组接口,图中的4个电阻可以省去。在电路中加入了0的跳线电阻,是为了在这组接口出故障时可以方便地跳线,使用另一组接口。CPU总线接口控制逻

6、辑发送部分接收部分波特率发生器对象器件接收3 UART 模块设计3.2 接收模块3.2.1 接收模块的实现方法串行数据帧和接收时钟是异步的,发送来的数据由逻辑1变为逻辑0可以视为一个数据帧的开始。接收器先要捕捉起始位,在rdn信号有效的条件下,由rxd1 非与rxd2相与,启动接收程序,计数器开始计数,数据从rxd70串行输入,由接收移位寄存器rsr70逐位移位接收,并在接收完成时传送给接收缓冲寄存器rbr70,最后,接收缓冲寄存器rbr70将接收的数据传送至dout70,由它并行输出。确定rxd输入由 1到0,逻辑0要8个CLK16时钟周期,才是正常的起始位,然后在每隔16个CLK16时钟周

7、期采样接收数据,移位到输入接收移位寄存器rsr,最后输出数据 dout。还要输出一个数据接收标志信号标志数据接收完。当rdn为0的情况下,接收器才开始接收数据,而数据由接收移位寄存器传给接收数据缓冲器主要由no_bits_sent信号控制。当no_bits_sent=0时SDO的值为0,就是数据的起始位,当no_bits_sent=1,2,3,4, 5,6,7,8时开始接收八位数据,当 no_bits_sent=9时sdo= 奇偶校验位的值此时的位叫做一个数据侦中的奇偶校验位,当no_bits_sent=10时此时sdo =1,为停止位,标志着数据接收结束,由dout 并行输出。3.2.2 接

8、收模块的端口信号此模块是本设计的重点,完成对并行数据的串行输出。接收器的端口信号如下图3.3所示。图3.3 接收器模块信号引脚Figure 3.3 The signal chip of the receiving module Table3-2 The signal chip definition of the receiving module表 3-2 接收器模块引脚定义端口信号名 I/O 备 注rst input 全局复位,低电平有效Clk16x input 全局时钟由波特率发生器提供rdn input 控制是否将接收缓冲器(rbr)中的数据由CPU读取(在本程序中表现的是由dout输出)

9、 ,当rdn为0可以 dout output 接收模块并行输出Dataready output 接收模块数据接收完毕标志framing_error output 奇偶出错标志parity_error output 奇偶校验出错标志rxd input 接收模块串行输入3.2.3 接收模块的前仿真图3.4 接收模块前仿真Figure 3.4 The function simulation of receiving module接收模块功能仿真结果如上图3.4所示。二进制数11101010从引脚rxd70串行输入,rxd1非和 rxd2相与,启动发送程序,计数器开始计数,接收移位寄存器 rsr70将串行输入的数据逐位移位接收,并通过接收缓冲器rbr 70发送并行数据至并行数据输出端dout 。当no_bits_sent=0时SDO的值为0,就是数据的起始位,当no_bits_sent=1,2,3,4,5 ,6,7,8时开始接收八位数据,当 no_bits_sent=9时sdo=奇偶校验位的值此时的位叫做一个数据侦中的奇偶校验位,当no_bits_sent=10时此时,为停止位。并行输出dout为 11101010,起始位0,8位数据位,1位停止位,证明了接收模块的正确性。 (splendid)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报