嵌入式常用通信协议速率对比及布线要点全解析

在嵌入式系统设计中,不同通信协议的速度差异巨大,布线策略也各有侧重。本文系统对比主流协议的速率,并详细说明各协议的布线原则及其背后的原因。

一、常见协议速率对比(通用情况)

协议 常用速率 最高稳定速率 理论最高速率 传输类型
SPI 10 ~ 50 MHz 50 ~ 100 MHz 100 ~ 200 MHz+ 同步单端
I2S 1 ~ 12 MHz 24.576 MHz 更高 同步单端/差分
UART 115200 bps 1 ~ 3 Mbps ≈ 10 Mbps 异步单端
I2C 100 kHz / 400 kHz 400 kHz ~ 1 MHz 3.4 MHz (FM+) 同步单端
CAN 500 kbps 1 Mbps (经典) 8 Mbps (CAN FD) 8~12 Mbps 差分
USB 12 Mbps (FS) 480 Mbps (HS) 480 Mbps (HS) 10 Gbps (USB 3.1) 差分
HDMI 1.65 Gbps ~ 18 Gbps 18 Gbps (HDMI 2.0) 48 Gbps (HDMI 2.1) 差分
Ethernet 100 Mbps 1 Gbps 10 Gbps+ 差分

二、各协议布线原则及核心原因

1. SPI(高速单端同步总线)
  • 布线要点 :时钟线(SCK)必须严格包地 ;时钟线与数据线(MOSI/MISO)保持 15~20 mil 以上间距;参考完整地平面。
  • 原因:速率极高 + 单端信号 → 极易产生 EMI 辐射和串扰。包地可抑制辐射,提供低阻抗回流路径;保持间距可减少数据线被时钟干扰。
2. I2S(音频同步总线)
  • 布线要点 :主时钟(MCLK)、位时钟(BCLK)、帧同步(LRCK)建议包地或靠近地平面;数据线(SD)与时钟线保持一定间距;三条时钟线尽量等长。
  • 原因 :虽然速率不算最高,但音频对时钟抖动(Jitter) 极其敏感。包地和等长走线是为了减少时钟抖动,保证音频质量。
3. UART(异步单端)
  • 布线要点 :推荐类差分布线(TX 配一根伴随 GND,RX 配一根伴随 GND),平行靠近走线;重要信号可加保护环。
  • 原因:虽然速率低,但存在地电位差和共模噪声。类差分可大幅抑制共模干扰,提高长距离传输可靠性。
4. I2C(多设备同步单端)
  • 布线要点:SCL 和 SDA 建议各自配伴随地线,或四线一起走(SCL、SDA、GND、GND);严格控制总线电容(<400pF)。
  • 原因:同 UART,低速但对共模噪声敏感;同时 I2C 是开漏结构,上拉电阻 + 类差分可改善信号完整性。
5. CAN(差分总线)
  • 布线要点 :CAN_H 与 CAN_L 严格平行等长;间距一致;总线两端接 120Ω 终端电阻。
  • 原因:依靠差分特性抑制共模噪声,重点在于保持差分对的对称性,而非包地。
6. USB(高速差分总线)
  • 布线要点 :D+ 和 D- 必须严格差分等长平行(长度差 < 5mil);阻抗控制在 90Ω±15%;靠近地平面走线。
  • 原因:高速差分信号对长度对称性和阻抗连续性要求极高,任何不对称都会导致眼图劣化、信号完整性下降。
7. HDMI(极高速差分总线)
  • 布线要点:采用多组差分对(TMDS 通道);每组差分对必须严格等长、等间距;阻抗控制在 100Ω;使用多层板 + 完整地平面。
  • 原因 :速率极高(单通道可达几 Gbps),属于极高速差分信号,对长度匹配、阻抗控制、串扰抑制要求苛刻。

三、布线核心思想总结

  • 速率越高 + 单端信号 (SPI、I2S 时钟线)→ 需要包地 + 保持间距 ,核心是抑制辐射和串扰
  • 差分信号 (CAN、USB、HDMI)→ 核心是保证差分对的对称性(等长、等距、平行) 和阻抗连续性,利用共模抑制能力抗干扰。
  • 低速单端信号 (UART、I2C)→ 推荐类差分布线 (信号 + 伴随 GND),核心是抑制共模噪声和地电位差
相关推荐
cmpxr_5 小时前
【单片机】STM32的启动流程(Keil)
stm32·单片机·嵌入式硬件
cmpxr_7 小时前
【单片机】RAM和ROM
单片机·嵌入式硬件
信息安全专家9 小时前
sigmastar SSD222D编译问题总结2-dash问题
linux·嵌入式硬件·dash
yong999010 小时前
可自动调整的24V步进电机设计方案
单片机·嵌入式硬件
R6bandito_10 小时前
自实现FLASH读取函数中的隐式类型转换bug踩坑记录
c语言·开发语言·经验分享·stm32·单片机·mcu·bug
Bin Watson10 小时前
STM32 HRTIM 学习心得(3):SVPWM 输出
stm32·单片机·嵌入式硬件
perseverance5211 小时前
MCU串口实现串行flash编程器功能
单片机·flash编程
421!11 小时前
C 语言学习笔记——11(函数指针与指针函数)
c语言·开发语言·笔记·单片机·学习
Redemption12 小时前
嵌软面试每日一阅----freeRTOS(三)
stm32·单片机·嵌入式硬件·mcu·物联网·面试·51单片机