UART串口协议详解

      最后更新:2022-07-29 10:46:37 手机定位技术交流文章

      详细的UART序列协议

      通用非同步接收/发送器(Universal Asynchronous Receiver/Transmitter,通常称为UART)是嵌入式领域广泛使用的串行、非同步和全双重通信协议。
      * 串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。
      *非同步通信使用单个字符作为传输单元。通信中的两个字符之间的时间间隔是固定的,然而,同一字符中的两个邻近 bit 之间的时间间隔是固定的。
      *数据传输速率由比特速率表示,即,每秒传输的二进制位数。例如,数据传输速率是每秒120字,每个字符是10位(开始位),7个数据位,1个校验位,1个结束位),它的传输速率为10×120 = 1200 字符/秒 = 1200 位。

      数据通信格式如下:
      在这里插入图片描述

      这些词的含义如下:

      起始位:

      每开始一次通信时发送方先发出一个逻辑”0”的信号(低电平),表示传输字符的开始。因为总线空闲时为高电平所以开始一次通信时先发送一个明显区别于空闲状态的信号即低电平。

      数据位:

      在最初的位置是我们想要传输的数据之后,数据位数可以是5,6,7,8,9位等,构成一个字符(通常是8位)。例如,ASCII(7位),扩展BCD代码(8位)。先发送最低位,最后发送最高位,使用低压表示'0'高压表示'1'完成数据传输。

      奇偶校验位:

      数据位在该位之后被添加,所以“1”的位数要么是奇数(双校正)要么是奇数(双校正)来验证数据传输的准确性。 校正位置实际上是调整数目,序列校正分为几个方面:

      1、无校验(no parity)。
      2、奇校验(odd parity):如果数据位中“1”的数目是偶数,则校验位为“1”,如果“1”的数目是奇数,校验位为“0”。
      3、偶校验(even parity):如果数据为中“1”的数目是偶数,则校验位为“0”,如果为奇数,校验位为“1”。
      标记平价:检查点总是1(不常使用)。
      5,偶数:校正位置总是0(不常使用)。

      停止位:

      这是字符数据结束的迹象.它可以是1或1高压5和2位。因为数据在传输线上定时,每个设备都有自己的时钟,在通信中,这两个设备之间可能存在着一点不一致。因此,停止不仅仅是传输的结束,它还提供了计算机校正时钟的机会。停止位个数越多,数据传输越稳定,但数据传输速度越慢.

      空闲位:

      UART协议指定,当总线处于闲置状态时,信号线的状态为'1',即高压水平,表明当前线没有数据传输。
      传输方向:即数据是从高位(MSB)开始传输还是从低位(LSB)开始传输。比如传输“A”如果是MSB那么就是01000001(如图-2),如果是LSB那么就是10000010(如下图的图-4)

      UART数据传输的顺序:

      刚开始传输一个起始位,接着传输数据位,接着传输校验位(可不需要此位),最后传输停止位。这样一帧的数据就传输完了。接下来接着像这样一直传送。

      帧间隔:

      即传送数据的帧与帧之间的间隔大小,可以以位为计量也可以用时间(知道波特率那么位数和时间可以换算)。比如传送”A”完后,这为一帧数据,再传”B”,那么A与B之间的间隔即为帧间隔

      注:非同步通信由字符传递,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始点的到达也会导致同步重新校准(取决于起始点的检测实现发送给接收机的时钟的自同步)
      在这里插入图片描述

      波特率

      单位 bps: 每秒字节, 每秒传输的字节数.
      比特率:每秒传输的二进制比特数,单位为百分比
      比特率 = 比特率 x 调制为系数单位所需的比特数,即Bd/s
      频率是通过0或1发送的秒数。
      当带宽为9600bps时,一个比特的传输时间间隔约为104.16us;在115200bps时,一个比特的传输时间间隔约为8us。

      例如,以ASCII字母"A"为例:

      字母A

      例如, 传输 "0X53" 例如:

      请添加图片描述
      序列协议通常先发送最低有效位数,因此最低位数是最左边的LSB。 低四位数的字符串实际上是0011 = 0x3,高四位数的字符串是0101 = 0x5

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30769.html

          热门文章

          文章分类