首页 理论教育 UART通信协议应用示例

UART通信协议应用示例

时间:2023-10-28 理论教育 版权反馈
【摘要】:下面重点介绍UART 通信数据帧结构,以及传输实现过程。图5.28UART 数据帧结构起始位:先发出一个逻辑“0”的信号,表示传输字符的开始。

UART通信协议应用示例

UART 串口通信协议非常简单,因为没有时钟同步,只需要3 根线即可完成通信,即RXD、TXD 和GND,而且RXD 和TXD 是保持相互独立,通信时序完全一样。下面重点介绍UART 通信数据帧结构,以及传输实现过程。

1. 数据帧格式

所谓数据帧是指UART 在进行串行通信时,控制位和数据位组成的一组数据集合。其格式主要由起始位、数据位、奇偶校验位、停止位构成,如图5.28 所示。

图5.28 UART 数据帧结构

(1)起始位:先发出一个逻辑“0”的信号,表示传输字符的开始。

(2)数据位:指发送有效数据内容,通常可以设置为5~8 位,低位在前,高位在后。

(3)奇偶校验位:在串口通信中一种简单的检错方式,有4 种检错方式:偶、奇、高和低。当然没有校验位也是可以的。

(4)停止位:它是一个字符数据的结束标志,可以是1 位、1.5 位、2 位的高电平

(5)波特率:这是一个衡量通信速度的参数,它表示每秒钟传送的二进制位数。

2. 发送/接收时序(www.xing528.com)

一个标准的10 位(1 个起始位、1 个停止位和8 个数据位)异步串行通信协议的发送和接收时序分别如图5.29 和5.30 所示。

图5.29 UART 发送时序

发送数据过程:空闲状态,线路处于高电位;当收到发送数据指令后,拉低线路一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧数据发送结束。

图5.30 UART 接收时序

接收数据过程:空闲状态,线路处于高电位;当检测到线路的下降沿(线路电位由高电位变为低电位)时说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备准备接收数据或存入缓存

由于UART 是异步传输,没有传输同步时钟。为了能保证数据传输的正确性,UART采用16 倍数据波特率的时钟进行采样。每个数据有16 个时钟采样,取中间的采样值,以保证采样不会滑码或误码。一般UART 一帧的数据位数为8,这样即使每个数据有一个时钟的误差,接收端也能正确地采样到数据。

UART 的接收数据时序为:当检测到数据的下降沿时,表明线路上有数据进行传输,这时计数器CNT 开始计数,当计数器为24=16+8 时,采样的值为第0 位数据;当计数器的值为40 时,采样的值为第1 位数据,以此类推,进行后面6 个数据的采样。如果需要进行奇偶校验,则当计数器的值为152 时,采样的值即为奇偶位;当计数器的值为168时,采样的值为"1"表示停止位,一帧数据接收完成。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈