很多人听过有UART接口,但是很少人知道它是个什么样的接口,也不知道它有什么用,今天帝特就来给大家详细介绍一下这个不常用但很实用的UART接口。
UART接口介绍
通用异步收发器(Universal Asynchronous Receiver/Transmitter), 通常称作UART。UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工的发送和接收。
嵌入式里面说的串口指的也是UART,在嵌入式领域可以说是应用非常广泛,在主机与辅助设备直接进行通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。
UART通信协议
UART工作原理我爱线报网是将传输数据的每个字符一位接一位地在UART总线上传输。
起始位:先发出一个逻辑”0”的信号,表示数据传输的开始。
数据位:紧接着起始位之后。 可以是5~8位逻辑0或1 ,构成一个字符。通常采用ASCII码。从最低位开始传送,靠波特率进行定位。
奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。奇偶校验位可有可无。
停止位:它是一次传输的结束标志。可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟我爱线报网同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
波特率:是控制数据传输速率的,表示每秒钟传送的位数。常用的波特率115200 9600等。
空闲位:处于逻辑1状态, 表示当前总线处于空闲状态,没有数据传送。
UART基本结构
(1)输出缓冲寄存器,它接收CPU从数据总线上送来的并行数据,并加以保存。
(2)输出移位寄存器,它接收从输出缓冲器送来的并行数据,以发送时钟的速率把数据逐位移出,即将并行数据转换为串行数据输出。
(3)输入移位寄存器,它以接收时钟的速率把出现在串行数据输入线上的数据逐位移入,当数据装满后,并行送往输入缓冲寄存器,即将串行数据转换成并行数据我爱线报网。
(4)输入缓冲寄存器,它从输入移位寄存器中接收并行数据,然后由CPU取走。
(5)控制寄存器,它接收CPU送来的控制字,由控制字的内容,决定通信时的传输方式以及数据格式等。例如采用异步方式还是同步方式,数据字符的位数,有无奇偶校验,是奇校验还是偶校验,停止位的位数等参数。
(6)状态寄存器。状态寄存器中存放着接口的各种状态信息,例如输出缓冲区是否空,输入字符是否准备好等。在通信过程中,当符合某种状态时,接口中的状态检测逻辑将状态寄存器的相应位置“1”,以便让CPU查询。
UART的数据发送和接收
发送时,数据被写入发送FIFO。如果UART 被使能,则会按照预先设置好的参数(波特率、数据位、停止位、我爱线报网校验位等)开始发送数据,一直到发送FIFO 中没有数据。所以在发送数据时要先判断发送FIFO是否为空,只有为空的情况下,才能往FIFO里面写。
接收数据时,UART的接收器会将接收的数据一位一位的移位到接收FIFO中,我们读接收FIFO既可以读到接收到的数据。
UART的物理引脚
UART有4个pin(VCC, GND, RX, TX), 用的TTL电平, 低电平为0(0V),高电平为1(3.3V或以上)。
VCC:供电pin,一般是3.3v
GND:接地pin,一般也可不接,但是如果rx接收的数据有问题,就要接上这个pin
RX:接收数据pin
TX:发送数据pin
当我们使用putty、SecureCRT我爱线报网等串口工具接收串口数据时出现异常,可能是在终端设置了流控,将流控关闭即可。
好了,以上内容就是帝特电子关于UART接口的详细介绍,希望能对大家有所帮助!感谢您的阅读与支持!
帝特电子长期致力于为客户提供品质的HDMI、DP、DVI(4K/8K)光纤线、音视频高清线、网络延长器、光端机、工业光纤收发器、音视频分配器、音视频切换器、工业232/485/422转换器、串口服务器、电脑周边线材等音视频产品工业线材,打造数字化音视频领先品牌,传递精彩画面,分享快乐时光!欢迎前来了解、交流。
推荐阅读
友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:226333560 站长微信:qgzmt2