☰
单片机常用串行通信协议技术文档
2026/10/29 10:56:08 网站建设 项目流程

前言

文档版本:V1.0

编制日期:2026-10-19

适用对象:嵌入式硬件、单片机软件开发人员

内容范围:UART / USART / I²C / SPI / RS232 / RS485 / CAN / LIN 协议原理、电气特性、原理图、使用场景对比

目录

  1. 概述

  2. UART(通用异步收发传输器)

  3. USART(通用同步/异步收发传输器)

  4. I²C(IIC,内部集成电路总线)

  5. SPI(串行外设接口)

  6. RS-232

  7. RS-485

  8. CAN(控制器局域网)

  9. LIN(本地互连网络)

  10. 协议汇总对比表

  11. 选型建议


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 +同步模式,支持两种工作模式:

  1. 异步模式:和UART完全一致,无时钟

  2. 同步模式:额外提供一根时钟线 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

特点:

  1. 多主机,任意节点都可以发消息

  2. ID仲裁:ID越小优先级越高,冲突时低ID优先发送

  3. 硬件自带CRC校验、错误检测、自动重发

  4. 总线两端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点对点<1m9600~1MbpsTTL板内串口
USART可选全双工TX,RX,SCK,GND点对点<1m最高数MbpsUART+同步时钟
IIC(I²C)SCL同步半双工SDA,SCL多从总线<0.5m100k~400k2线多器件
SPISCK同步全双工SCK,MOSI,MISO,CS多从(独立CS)<0.3m几M~几十M高速板内
RS232异步全双工TX,RX,GND点对点15m<115200UART电平转换
RS485异步半双工A,B,GND多节点总线1200m<10Mbps差分工业总线
CAN异步半双工CAN_H,CAN_L多主总线1000m最高1Mbps车载高可靠
LIN异步半双工LIN,GND单主多从40m最高20kbps汽车低速辅助总线

11. 选型建议

  1. PCB板内芯片通信:优先 SPI(高速)/ IIC(器件多、引脚少)

  2. 模块通信(GPS、蓝牙):UART

  3. 工业现场多点远距离:RS485

  4. 汽车电控、高可靠多节点:CAN

  5. 汽车低速车身外设:LIN

  6. RS232:新项目尽量不选用,仅老旧设备对接


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询