UART协议总结

UART( Universal Asynchronous Receiver-Transmitter,通用异步收发器),是异步串行通信协议,用来传输串行数据。

1、UART原理说明

UART是全双工工作模式,其数据传输方法如下:

发送数据时:CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出;

接收数据时:UART检测另一根电线上的信号,将串行数据放在缓冲区中,CPU即可读取UART获得这些数据。

UART最精简的连线方法只需要3根线:TxD用于发送数据,RxD用于接收数据,Gnd用于给双方提供参考电平。连线如下图所示:

UART协议总结_第1张图片

                                                              UART连线图 

TxD、RxD数据线以“位”为最小单位传输数据。帧(frame)由具有完整意义的、不可分割的若干位组成,它包含开始位、数据位、校验位(需要的话)和停止位。发送数据之前,UART之间要约定好数据的传输速率(即每位所占据的时间,其倒数称为波特率)、数据的传输格式(即有多少个数据位、是否使用校验位、是奇校验还是偶校验、有多少个停止位)。

数据传输流程如下。

(1)平时数据线处于”空闲“状态(1状态)。

(2)当要发送数据时,UART改变TxD数据线的状态(变为0状态)并维持1位的时间,这样接收方检测到开始位后,再等待1.5位的时间就开始一位一位地检测数据线的状态得到所传输的数据。

(3)UART一帧中可以有5、6、7或8位的数据,发送方一位一位地改变数据线的状态将它们发送出去,首先发送最低位。

(4)如果使用校验功能,UART在发送完数据位后,还要发送1个校验位。有两种校验方法:奇校验、偶校验--数据位连同校验位中,”1“的数目等于奇书或偶数。

(5)最后,发送停止位,数据线恢复到”空闲“状态(1状态)。停止位的长度有3种:1位、1.5位、2位。

2、UART的使用方法

这里以S3C2410 UART为例说明UART的使用。

(1)设置波特率、传输格式。

在使用之前需要设置波特率和传输格式,传输格式包括有多少数据位、是否使用校验位、奇校验或偶校验、有多少停止位、是否使用流量控制。

(2)设置管脚位UART功能

(3)选择UART管道工作模式位中断模式或DMA模式

设置好以上各功能后,往某个寄存器写入数据即可发送,读取某个寄存器即可得到接收到的数据。可以通过查询状态寄存器或设置中断来获知数据是否已发送完毕,是否已接收到数据。

3、UART优点

(1)只需三线即可全双工通信:TX、RX、GND
(2)有校验位

4、UART缺点

数据传输速率较低。

你可能感兴趣的:(通信协议,UART,通信协议)