通用异步收发器简称UART,英文全称“Universal Asynchronous Receiver Transmitter”。UART使用标准的TTL/CMOS逻辑电平(0~5V、0~3.3V、0~2.5V、0~1.8V)来表示。为了增强数据的抗干扰能力、提高传输长度,通常将TTL/CMOS逻辑电平转换为RS232逻辑电平,3~12V表示0,-3V~-12V表示1。
数据的流程是如下。
(1)平时数据线处于“空闲”状态(1)。
(2)当要发送数据时,UART改变TxD数据线的状态(变为0)并保持1位的时间,这样接收方检测到开始位后,在等待1.5位的时间就开始一位一位的检测数据线的状态得到传输来的数据。
(3)UART一帧中可以有5、7或8位的数据,发送方移位移位地改变数据线的状态将他们发送出去,首先发送最低位。
(4)如果使用校验功能,UART在发送完数据后,还要发送1个校验位。有两种校验:奇校验,偶校验--数据位连同校验位中“1”的个数等于奇数或偶数。
(5)最后,发送停止位,数据线恢复到“”空闲状态。停止位的长度有3种:1位、1.5位、2位。
有一张图:
图11.2中演示的是UART使用7个数据外位、偶校验、2个停止位的格式传输字符‘A’(二进制值为0b1000001)时,TTL/CMOS逻辑电平、RS-232逻辑电平对应的波形。
版权声明:本文为博主原创文章,未经博主允许不得转载。