在嵌入式系统开发中,串口(UART)是工程师最常打交道的通信接口之一。它结构简单、应用广泛,是设备与设备、设备与上位机之间沟通的“基础语言”。今天,我们就来系统性地梳理一下串口通信的核心概念、参数和一种常见的应用层协议。

一、 串口通信:异步串行的艺术

UART,全称为通用异步收发器,其核心特点是“异步”和“串行”。

  • 异步:指通信双方没有统一的时钟线来同步节奏。它们依靠预先约定好的速度(波特率)来协调收发。

  • 串行:数据是一位一位地,通过一根信号线依次传输。与之相对的是“并行通信”(通过多根线同时传输多位数据)。串行通信虽然速度相对慢,但成本低、实现简单、抗干扰能力强、传输距离可以很远(尤其在使用了RS-485等差分标准后)。

一个完整的UART数据帧包含:

  • 起始位:标志一帧数据的开始。

  • 数据位:通常是8位,按LSB(低位先行)​ 原则发送。

  • 校验位:用于检错,可选“无校验(N)”、“奇校验(O)”或“偶校验(E)”。

  • 停止位:标志一帧数据的结束,通常为1位。

将这些参数组合起来,就是我们常说的“串口参数”,例如 9600 8N1,表示波特率为9600bps,8位数据位,无校验,1位停止位。

二、 关键概念辨析

理解串口,还需要厘清几组重要的通信模式:

  1. 单工、半双工与全双工

    • 单工:数据单向流动,如同广播,一方固定发,一方固定收。

    • 半双工:数据可以双向流动,但同一时刻只能朝一个方向传输,如同对讲机,需要“按键说话,松键收听”。

    • 全双工:数据可以同时双向传输,UART需要两根独立的数据线(RXD和TXD)来实现,如同电话通话。

  2. 电平标准

    UART本身是TTL电平,但为了延长传输距离和增强抗干扰性,常通过电平转换芯片(如CH340)转换为其他标准:

    • TTL:高电平5V/3.3V,低电平0V。适用于板内或短距离通信。

    • RS-232:采用负逻辑,高电平-3V~-15V,低电平+3V~+15V。传输距离可达15米。

    • RS-485:采用差分信号传输,抗共模干扰能力极强,传输距离可达千米级。

  3. 校验方式

    为了保证数据正确性,串口帧中可加入校验位:

    • 奇偶校验:确保数据位与校验位中“1”的总个数为奇数(奇校验)或偶数(偶校验)。但它有一个明显缺陷:无法检测出偶数个比特同时发生错误的情况

    • 文档中还提到了累加和校验CRC校验,这两种是更复杂、更可靠的校验方法,通常用于多个字节的数据包校验。

三、 对比其他常用串行总线

UART并非唯一的串行通信方式,在嵌入式领域,I2CSPI同样举足轻重,它们都是“同步”通信(有专用的时钟线SCL/SCLK)。

  • I2C:只需两根线(时钟线SCL和数据线SDA),支持多主多从,通过地址寻址。

  • SPI:通常需要四根线(时钟线SCLK、主机输出从机输入MOSI、主机输入从机输出MISO、片选CS),全双工,速率高,但占用引脚多。

核心区别:UART是异步的,点对点通信为主;I2C和SPI是同步的,更易于构建一对多的总线网络。

四、 从物理层到应用层:Modbus协议示例

仅有底层的物理连接和字节帧格式还不够,设备之间需要能理解彼此发送的“命令”和“数据”,这就需要应用层协议Modbus​ 是一种在工业控制领域极其流行的主从式应用层协议。

从您提供的文档指令示例中,我们可以解析出一个典型的Modbus RTU帧结构(基于串口传输):

主机发送指令0xAA 0x01 0x01 0x42 0x00 0x00 0xBB

  • 0xAA:帧起始标识。

  • 0x01:从机设备地址。

  • 0x01:功能码(例如,文档中0x01代表控制LED)。

  • 0x42, 0x00, 0x00:数据域(具体控制参数)。

  • 0xBB:帧结束标识。

通信流程

  1. 主机(如PC或主控制器)按照上述格式构造一个请求帧,通过串口发送出去。

  2. 从机(如传感器、执行器)接收到数据,首先进行CRC校验(文档示例中未体现,实际Modbus RTU必有),校验通过后,解析地址码、功能码和数据。

  3. 从机根据功能码执行相应操作(如点亮LED、读取温度),然后构造一个应答帧返回给主机,格式类似:起始位 + 自身地址 + 功能码 + 执行结果数据 + 结束位。

通过Modbus这样的协议,串口通信就从简单的字节流传输,上升为了有明确语义的“问答”机制,从而能够可靠地控制复杂系统。

串口是连接硬件世界与软件逻辑的经典桥梁。掌握其原理与协议,是开启嵌入式系统设计与调试大门的关键一步。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐