通信接口

嵌入式系统通过各种通信接口与外部设备交互——传感器、显示屏、无线模块、其他 MCU 都需要通过接口连接。


接口对比总览

接口线数速率距离拓扑协议适用
GPIO2+板内点对点LED/按键
UART29600-115200 bps15m点对点异步串行调试/通信
SPI410-100 MHz板内主从(多从)同步串行Flash/显示屏
I2C2100-400 KHz1m多主多从同步串行传感器/EEPROM
CAN21 Mbps1km多主差分串行汽车/工业
USB4+480Mbps-10Gbps5m主从复杂PC 通信
Ethernet8100Mbps-10Gbps100m点对点/交换TCP/IP网络通信

UART(串口)

最基本的异步通信接口——只需两根线(TX/RX)即可通信。

参数常见值说明
波特率9600 / 115200每秒传输的比特数
数据位8每帧数据长度
停止位1帧结束标志
校验无/奇/偶错误检测

接线规则:设备 A 的 TX 接设备 B 的 RX,A 的 RX 接 B 的 TX(交叉连接)。

典型应用:串口调试(USB 转串口)、GPS 模块通信、蓝牙模块通信。


SPI(串行外设接口)

高速同步串行接口——4 根线,全双工,速度可达 100MHz。

信号名称说明
MOSI主出从入主机发送数据
MISO主入从出从机发送数据
SCLK时钟主机提供时钟
CS/SS片选选择从机(每个从机一根)

优点:速度快、全双工、协议简单。

缺点:每增加一个从机需要一根 CS 线,不能多主机共享。

典型应用:Flash 存储(W25Q64)、TFT 显示屏、SD 卡。


I2C(集成电路总线)

两线式同步串行接口——只需 SDA(数据线)和 SCL(时钟线)两根线,可挂载多个从机。

参数标准模式快速模式高速模式
速率100 KHz400 KHz3.4 MHz
地址长度7bit7bit10bit
最大从机数1121121024

优点:仅 2 根线、支持多主多从、有地址机制。

缺点:速度较慢、半双工。

典型应用:温度传感器(TMP102)、加速度计(MPU6050)、EEPROM(AT24C02)。


CAN(控制器局域网)

差分信号的多主总线——抗干扰能力极强,广泛用于汽车和工业。

参数标准 CANCAN FD
速率1 Mbps8 Mbps
数据帧长度8 字节64 字节
传输距离40m@1M100m@1M

接线:CAN_H 和 CAN_L 两根差分线,两端各接 120 欧姆终端电阻。

典型应用:汽车 ECU 通信、工业控制网络、无人机飞控。


接口选择指南

场景推荐接口原因
调试输出UART最简单,USB 转串口即用
高速数据采集SPI速度快,适合 ADC/Flash
多传感器挂载I2C2 线挂多个设备
汽车/工业CAN抗干扰,长距离
PC 通信USB标准接口,即插即用
网络连接EthernetTCP/IP,远程通信