串口数据帧由什么组成

  串口数据帧(UART帧)是异步串行通信中最基本的数据传输单元,其结构设计用于在收发双方没有独立时钟线的情况下,实现可靠、同步的数据交换。一个标准的数据帧由起始位、数据位、可选的校验位和停止位四部分组成,各部分的定义、长度和作用如下:

  一、起始位(Start Bit)

  电平定义:逻辑低电平(0),通常为1位。

  作用

  同步标识:在通信线路空闲(高电平)时,发送设备首先输出一个低电平的起始位,通知接收端“数据即将开始”。

  时钟校准:接收端通过检测起始位的下降沿,与发送端的波特率时钟对齐,确保后续数据位的正确采样。

  常见设置:固定为1位长度,不可配置。

  二、数据位(Data Bits)

  长度范围:通常为5~9位,最常用的是8位。部分微控制器支持7~12位。

  传输顺序低位(LSB)在前,高位(MSB)在后。即先发送第0位,最后发送第n-1位。

  承载内容:实际要传输的有效信息(如ASCII字符、二进制数据)。例如,发送ASCII字符‘A’(0x65)时,数据位依次为1、0、1、0、0、0、0、1(从LSB开始)。

  常见配置:8位数据位是嵌入式开发中的标准配置,便于表示一个完整字节。

  三、校验位(Parity Bit,可选)

  作用:用于检测数据传输过程中是否发生单比特错误,提高可靠性。

  常见类型

校验类型说明
无校验(None)不发送校验位,帧结构仅由起始位、数据位和停止位组成。
奇校验(Odd)保证数据位+校验位中“1”的总数为奇数。若数据位中“1”为偶数,则校验位置1.否则置0.
偶校验(Even)保证数据位+校验位中“1”的总数为偶数。若数据位中“1”为奇数,则校验位置1.否则置0.
标记校验(Mark)校验位固定为逻辑1.
空格校验(Space)校验位固定为逻辑0.

  位置:紧跟在数据位之后,停止位之前。

  四、停止位(Stop Bit)

  电平定义:逻辑高电平(1)。

  作用

  帧结束标志:告知接收端当前字符传输完毕。

  提供处理间隔:额外的时间宽度允许接收端完成数据处理和时钟校准,防止错误累积。

  常见长度1位、1.5位、2位,无校验时固定为1位,有校验时固定为2位的配置也常见。

  1位:默认最快速率,适用于噪声较小的环境。

  1.5位和2位:增强同步可靠性,适用于长距离或高噪声环境。例如Modbus协议支持1.5位和2位停止位。

  配置影响:停止位越长,传输效率越低,但容错性越高。

  五、完整帧结构与常见配置示例

  1. 帧格式排列顺序(无校验时)

  [空闲位(高电平)] → [起始位(0)] → [数据位LSB→MSB] → [停止位(1)]

  典型长度:1位起始 + 8位数据 + 1位停止 = 10位(如8N1)。

  2. 带校验位的帧格式

  [空闲位] → [起始位(0)] → [数据位] → [校验位] → [停止位(1)]

  典型长度:1位起始 + 8位数据 + 1位校验 + 1位停止 = 11位(如8E1或8O1)。

  3. 常用配置缩写(如“8N1”)

  8:数据位8位

  N:无校验(None)

  1:停止位1位

  这是嵌入式开发中最为通用且高效的配置。

  六、补充说明

  •   空闲位:在停止位之后、下一个起始位之前,线路保持高电平,称为空闲位,表示无数据传输。
  •   波特率:整个帧的传输速度由双方约定的波特率控制(如9600、115200),接收端须以此速率采样。
  •   全双工通信:串口支持同时收发,TX和RX两路信号相互独立。

  与高级协议的区别:上述帧格式属于物理层/链路层的基本结构,而应用层协议(如Modbus)通常会在其基础上增加帧头、地址、数据长度、CRC校验等字段,用于实现更复杂的组网与控制。

  串口数据帧由起始位、数据位、可选的校验位和停止位组成,各部分均有明确的电平、长度和功能定义。实际通信中,收发双方必须事先约定好数据位长度、校验方式、停止位数量和波特率,才能正确解析数据帧。最常见的配置为 8位数据位、无校验、1位停止位(8N1)‍ ,既保证了传输效率,又兼顾了大多数应用场景的可靠性。

滚动至顶部