前言
文档版本:V1.0
编制日期:2026-10-19
适用对象:嵌入式硬件、单片机软件开发人员
内容范围:UART / USART / I²C / SPI / RS232 / RS485 / CAN / LIN 协议原理、电气特性、原理图、使用场景对比
目录
概述
UART(通用异步收发传输器)
USART(通用同步/异步收发传输器)
I²C(IIC,内部集成电路总线)
SPI(串行外设接口)
RS-232
RS-485
CAN(控制器局域网)
LIN(本地互连网络)
协议汇总对比表
选型建议
1. 概述
串行通信:数据按位依次传输,相比并行总线布线更少,广泛用于单片机外设、板间通信、工业车载通信。分为两大类:
板级短距离通信:UART/USART、IIC、SPI(芯片与芯片,PCB板内)
线缆长距离通信:RS232、RS485、CAN、LIN(板间、设备之间,车载/工控)
2. UART 通用异步收发传输器
2.1 原理
UART 是异步串行通信,无同步时钟线,依靠双方预先约定波特率。
信号线:TX(发送)、RX(接收)、GND(共地)
帧结构:起始位(1bit)+数据位(58bit)+校验位(可选)+停止位(12bit)
空闲电平:高电平;起始位拉低,通知接收方准备接收
通信方式:全双工,点对点,
不支持多设备总线
关键点:双方波特率必须一致;必须共地,否则容易出现乱码。
2.2 原理图(文字示意图)
单片机A 单片机B ┌───────┐ ┌───────┐ │ │ TX ─────────────►│ RX │ │ UART │ RX ◄─────────────│ TX │ │ │ GND ─────────────│ GND │ └───────┘ └───────┘
注意:交叉连接,A的TX接B的RX,A的RX接B的TX。
2.3 使用场景
单片机与蓝牙模块、GPS模块、串口屏
板内点对点短距离通信(PCB走线,一般<1m)
调试打印日志(串口打印)
2.4 优缺点
✅ 简单,仅两根信号线+地线;单片机内置外设
❌ 异步,无时钟;只能点对点;距离短;抗干扰弱
3. USART 通用同步/异步收发传输器
3.1 原理
USART = UART +同步模式,支持两种工作模式:
异步模式:和UART完全一致,无时钟
同步模式:额外提供一根时钟线 SCK,主机输出时钟,从机跟随时钟采样数据,波特率精度更高
信号线:TX、RX、SCK、GND
3.2 原理图
主机 从机 ┌───────┐ ┌───────┐ │USART │ TX ──────────────►│ RX │ │ │ RX ◄──────────────│ TX │ │ │ SCK ─────────────►│ SCK │ │ │ GND ─────────────►│ GND │ └───────┘ └───────┘
3.3 使用场景
异步场景:等同于UART
同步场景:高速短距离芯片通信(部分MCU外接高速ADC)
很多单片机文档里口语常把USART直接叫UART,硬件外设是USART,软件只用异步模式。
3.4 优缺点
✅ 模式可选;同步模式下时钟同步,可高速传输
❌ 同步模式需要额外时钟线;依然点对点
4. I²C(IIC)内部集成电路总线
4.1 原理
半双工同步串行总线,多从机总线结构,两根线:SDA(数据线)、SCL(时钟线)
主机:产生SCL时钟,发起通信
从机:带唯一7bit/10bit地址,主机通过地址寻址
总线电平:开漏输出,必须外部上拉电阻(4.7kΩ常见)
信号:起始信号、停止信号、应答位ACK/NACK
4.2 原理图
VCC │ ├─4.7kΩ─── SDA ─────┬───────┬───────┐ └─4.7kΩ─── SCL ─────┼───────┼───────┼ │ │ │ 主机 从机1 从机2 MCU 传感器 EEPROM │ │ │ GND ─────────────────┴───────┴───────┴
4.3 使用场景
板内多器件通信:EEPROM、OLED屏幕、温湿度传感器(SHT30)、RTC实时时钟、ADC芯片。PCB板内短距离通信,总线最多挂载几十个从机(受电容负载限制)。
4.4 优缺点
✅ 仅2根线,支持多从机;硬件简单
❌ 半双工;速率较低;总线电容限制走线长度;上拉电阻必不可少
5. SPI 串行外设接口
5.1 原理
高速同步串行总线,主从架构,全双工。
标准4线:
SCK:主机时钟输出
MOSI:主机发,从机收
MISO:从机发,主机收
CS(NSS):片选,每个从机独立一根片选线,低电平选中从机
四种时钟模式 CPOL/CPHA,决定采样时刻。
5.2 原理图
主机MCU ┌────────┐ │ │ SCK ────────────┬──────────┐ │ SPI │ MOSI ────────────┼──────────┼ │ │ MISO ◄───────────┼──────────┼ │ │ CS1 ────────────┤ │ │ │ CS2 ────────────┘ │ └────────┘ │ │ 从机1 从机2 (Flash) (ADC)
5.3 使用场景
高速板内外设:SPI Flash、高速ADC、显示屏、射频模块。
注意:每增加一个从机,需要增加一根独立CS片选线。
5.4 优缺点
✅ 速率高,全双工;协议简单;无ACK开销
❌ 从机多的时候片选线过多;不适合长距离;点对点总线
6. RS-232
6.1 原理
UART电平转换标准,单端信号。单片机UART是TTL电平(0~3.3V/5V);RS232电平:
逻辑1:-3V ~ -15V
逻辑0:+3V ~ +15V使用MAX232芯片做TTL ↔ RS232电平转换。全双工,点对点。
6.2 原理图
MCU TTL UART MAX232芯片 DB9 RS232接口 TX ───────────►Tin Tout ───────► RX(DB9 pin2) RX ◄───────────Rout Rin ◄────── TX(DB9 pin3) GND ───────────GND GND ─────── GND(DB9 pin5)
6.3 使用场景
老式电脑DB9串口,工业老设备。现在逐步淘汰。最大通信距离约15米,速率低,抗干扰差。
6.4 优缺点
✅ 协议就是UART,软件简单
❌ 单端信号,抗干扰差;距离短;电平芯片需要电荷泵;易损坏
7. RS-485
7.1 原理
差分信号传输,半双工总线标准。
A、B差分两根线:
Vab = VA-VB > +200mV → 逻辑1
Vab = VA-VB < -200mV → 逻辑0
差分信号抑制共模干扰,适合工业环境。
常用芯片:MAX485,芯片自带DE/RE控制收发方向。总线支持多节点,最多32节点(不加中继),终端120Ω匹配电阻。
7.2 原理图
MCU MAX485 RS485总线 TX ─────────►DI RX ◄─────────RO DE+RE ──────► 控制脚 │ │ A ────────────┬──────────────┬───────────┐ │ B ────────────┼──────────────┼───────────┼ │ │ │ │ GND 从机1 从机2 120Ω终端电阻
DE=1、RE=1:发送;DE=0、RE=0:接收。总线两端需要120Ω终端匹配电阻。
7.3 使用场景
工业仪表、传感器组网、楼宇控制,远距离多点通信。距离可达1200m,工业现场最常用串口总线。
7.4 优缺点
✅ 差分抗干扰强;距离远;多节点;成本低
❌ 半双工,需要软件控制收发方向;无内置CRC校验,需要软件实现
8. CAN 控制器局域网
8.1 原理
差分串行总线,多主架构,非破坏性位仲裁。
两根信号线:CAN_H、CAN_L
隐性电平:CAN_H≈CAN_L≈2.5V,逻辑1
显性电平:CAN_H=3.5V,CAN_L=1.5V,逻辑0
特点:
多主机,任意节点都可以发消息
ID仲裁:ID越小优先级越高,冲突时低ID优先发送
硬件自带CRC校验、错误检测、自动重发
总线两端120Ω终端电阻
8.2 原理图
MCU CAN控制器 CAN收发器TJA1050 TX_CAN ─────────►TXD RX_CAN ◄─────────RXD │ CAN_H ───────────────┼──────────────┬──────────────┐ CAN_L ───────────────┼──────────────┼──────────────┼ │ │ │ 节点1 节点2 120Ω终端电阻
8.3 使用场景
汽车电子(动力、车身电控)、工业自动化、机器人、储能BMS。车载领域标准总线,抗干扰极强。
8.4 优缺点
✅ 多主、冲突仲裁;硬件CRC;高可靠性;远距离;抗干扰极强
❌ 协议栈复杂;芯片成本高于RS485
9. LIN 本地互连网络
9.1 原理
单主多从,单线总线,基于UART协议简化。仅一根LIN总线 + GND,单端信号,主节点控制所有通信时序,从机被动应答。速率低,最高20kbps;硬件成本很低。
LIN是汽车次级总线,作为CAN的辅助总线。
9.2 原理图
主节点MCU + LIN收发器 LIN总线 ───────┬──────────────┬──────────────┐ │ │ │ 从机1 从机2 从机3 │ │ │ GND ───────────┴──────────────┴──────────────┴
9.3 使用场景
汽车车身低端外设:车窗、雨刮、座椅、车灯。
用来分担CAN总线负载,低成本低速车载外设。
9.4 优缺点
✅ 单线,成本极低;协议简单;单主架构
❌ 单端抗干扰弱;速率低;只能单主机
10. 协议汇总对比表
| 协议 | 时钟 | 工作模式 | 信号线 | 拓扑 | 最大距离 | 典型速率 | 核心特点 |
|---|---|---|---|---|---|---|---|
| UART | 无(异步) | 全双工 | TX,RX,GND | 点对点 | <1m | 9600~1Mbps | TTL板内串口 |
| USART | 可选 | 全双工 | TX,RX,SCK,GND | 点对点 | <1m | 最高数Mbps | UART+同步时钟 |
| IIC(I²C) | SCL同步 | 半双工 | SDA,SCL | 多从总线 | <0.5m | 100k~400k | 2线多器件 |
| SPI | SCK同步 | 全双工 | SCK,MOSI,MISO,CS | 多从(独立CS) | <0.3m | 几M~几十M | 高速板内 |
| RS232 | 异步 | 全双工 | TX,RX,GND | 点对点 | 15m | <115200 | UART电平转换 |
| RS485 | 异步 | 半双工 | A,B,GND | 多节点总线 | 1200m | <10Mbps | 差分工业总线 |
| CAN | 异步 | 半双工 | CAN_H,CAN_L | 多主总线 | 1000m | 最高1Mbps | 车载高可靠 |
| LIN | 异步 | 半双工 | LIN,GND | 单主多从 | 40m | 最高20kbps | 汽车低速辅助总线 |
11. 选型建议
PCB板内芯片通信:优先 SPI(高速)/ IIC(器件多、引脚少)
模块通信(GPS、蓝牙):UART
工业现场多点远距离:RS485
汽车电控、高可靠多节点:CAN
汽车低速车身外设:LIN
RS232:新项目尽量不选用,仅老旧设备对接