板级串行外设(Peripheral Buses)
板级串行外设总线的核心目的,是在同一块电路板或短线缆内,把主控器件与各类外围器件以最低的引脚成本和实现复杂度连接起来,同时满足对配置、状态读取与中低速数据交换的常见需求。它们主要承担“控制面”(register/config)的职责,必要时也承载小规模的“数据面”(如音频流或传感器数据),在系统层面与高速互联(USB/PCIe/以太网)与并行存储接口形成互补。
这类总线有一些共同特征。首先是短距与近端:典型工作范围是板内或几十厘米级别,电气设计以器件间的直连或短FPC为主。其次是轻协议、薄栈:链路层简单、帧格式紧凑,软件侧多以读写寄存器的事务抽象暴露给驱动和应用。再次是低~中等吞吐、可预测时延:虽然不追求极致带宽,但强调主控对外设的快速轮询、命令响应和较低的接口延迟,以支持控制回路与实时采样。
从系统结构看,它们普遍采用控制器/目标(controller/target)的角色划分,通过“寻址”或“片选”来确定对话对象。拓扑多为点到点或小规模多点,并以命令–响应与流式传输两种通信样式为主。同步方式既有时钟随载的同步,也有无需时钟的异步;部分总线允许总线仲裁或时钟延展来缓解负载差异,但整体仍以主控主动发起、外设被动应答为基本模式。
电气层面,它们大多采用单端低电压信号以降低成本与功耗,极少数场景会选用差分对来提升抗干扰与距离。常见设计关注点包括总线电容与上升沿、参考地与回流路径、端接与匹配、跨电压域的电平转换、以及ESD/EMI抑制。由于“近场+轻载”的假设,这些总线通常不设计热插拔与远距离传输;一旦走线变长、线束复杂或电磁环境恶劣,就需要收紧速率、增加隔离/屏蔽或改用更合适的物理层。
在实时性与可靠性方面,板级外设总线通常依赖主机调度、FIFO/环形缓冲与DMA来平滑突发流量,靠超时、重试与简单的应答机制处理错误;较高层的CRC与故障恢复策略常由上层协议或应用承担。与面向网络的协议不同,它们更强调本地可控性与时序可预见性,而非跨节点的大规模鲁棒传输。
软件集成上,这些总线在操作系统与BSP中一般以统一的总线驱动模型呈现:控制器驱动负责时序与事务,外设驱动聚焦寄存器表与功能逻辑。为兼顾实时性和可维护性,驱动常提供阻塞/非阻塞接口与中断/DMA两条路径;设备树或板级配置用于声明外设的寻址、片选、极性、时序参数与供电依赖。良好的可测试性同样关键——预留调试点、使用协议分析仪与逻辑分析仪,是定位边界条件与量产问题的常用手段。
从工程实践看,板级串行外设总线的价值在于“足够好 + 足够简单”:以很小的硬件代价,完成大量常规的控制与采集任务。当系统对带宽、距离或确定性提出更高要求时,常见的演进路径是扩宽同类物理层的并行度/通道数,或引入针对性更强的高速/差分互联,并通过桥接器、扩展器与交换结构平滑过渡。
1. 常见板级串行外设
I²C 是一种开漏加上拉的双线总线(SDA/SCL),电平常见 3.3V/5V,典型速率 100 kHz 到 3.4 MHz,适用于板内或 1 米以内的短线缆连接。它支持多主多从,采用同步时钟与应答机制(ACK/NACK),协议轻量,常用于 EEPROM、低速传感器、RTC 等配置与采集任务。
I³C 作为 I²C 的升级版本,仍保持两线物理接口,但混合了推挽与开漏驱动,速率可达 12.5 MHz,延迟更低并具备节能特性。它支持动态寻址和多主模式,还可选 CRC 保障完整性,主要应用于高密度传感器网络、PMIC 控制等场合。
SPI 使用单端多线接口(通常四线:SCK/MOSI/MISO/CS),速率常见 10–50 MHz 甚至更高,拓扑为主从+片选,完全由主机驱动时钟。协议简单,没有内建校验,常用于 ADC/DAC、LCD、以太网芯片等高速外设通信。
QSPI/OSPI 是 SPI 的并行扩展(4bit 或 8bit 数据线),可将带宽提升到数百 Mbps,常用于外部 NOR Flash 或 XIP(execute-in-place)执行,解决代码/数据存储带宽瓶颈。
UART (TTL) 是最经典的异步串行点对点链路,使用单端电平(常见 3.3V/5V),速率从 9.6 kbps 到数 Mbps,采用起止位和可选奇偶校验。它结构简单、实现成本极低,广泛用于调试、日志、串口下载等人机交互。
RS-485 则是 UART 的差分物理层延伸,抗干扰能力更强,速率可达 10 Mbps(短距离)或在低速下传输超过千米。它支持多点拓扑,常用于工业控制和 Modbus RTU 等现场总线应用。
1-Wire 通过单线(加地线)承载供电与数据,速率约 16 kbps,适合短距离总线拓扑。其协议通过严格的时序定义实现主从交互,通常带 CRC 校验,常见于 Dallas/Maxim 系列的温度传感器、ID 芯片等。
I²S/TDM 面向音频数据流,采用单端多线(时钟、帧同步、数据)同步传输,带宽为几 Mbps 到十几 Mbps,拓扑为点到点主从。它没有内建校验,通常由上层协议处理,广泛用于编解码器、音频接口与多声道传输。
PDM (Pulse Density Modulation)主要用于数字麦克风,通过一条数据信号线加时钟,输出一位流(1bit oversampling),典型速率 1–3 Mbps/声道。其优点是接口简单,直接送入解码滤波器即可恢复音频。
SPMI(System Power Management Interface)是 MIPI 定义的 PMIC 控制总线,采用多主多从拓扑,速率可达 26 Mbps,具备 CRC 校验保障可靠性。它常见于移动 SoC 与电源管理芯片之间,用于寄存器控制与功耗调度。
2. 典型对比表
| 协议 | 物理/电平 | 典型速率 | 距离(板内/线缆) | 拓扑 | 同步 | 校验/纠错 | 常见用途 |
|---|---|---|---|---|---|---|---|
| I²C | 开漏 + 上拉(3.3/5V) | 100k ~ 3.4M | <0.5–1 m | 多主多从总线 | 同步 | ACK/NACK | 低速传感器/EEPROM |
| I³C | 推挽/开漏混合 | ≤12.5M | <0.5 m | 多主 | 同步 | CRC(可选) | 传感网络/PMIC |
| SPI | 单端 | 10–50M+ | 板内 | 主从、片选扇出 | 同步 | 无内建 | 高速外设/ADC/DAC |
| QSPI/OSPI | SPI x4/x8 | 数十–数百 Mbps | 板内 | 主从 | 同步 | 无内建 | NOR Flash/XIP |
| UART (TTL) | 单端 | 9.6k–1M+ | <3–5 m | 点到点 | 异步 | 奇偶(可选) | 调试/日志 |
| RS-485 | 差分 | ≤10M | ≤1200 m(低速) | 多点总线 | 异步 | 上层CRC | 工业现场/Modbus RTU |
| 1-Wire | 单线 | ~16 kbps | <2–5 m | 总线 | 时序 | CRC | ID/简单传感 |
| I²S/TDM | 单端 | 几M–十几Mbps | 板内 | 主从 | 同步 | 无内建 | 音频流 |
| PDM | 单端 | ~1–3 Mbps/声道 | 板内 | 点到点 | 同步 | 无内建 | 数字麦克风 |
| SPMI | MIPI 电源管理 | ≤26 Mbps | 板内 | 多主多从 | 同步 | CRC | PMIC 控制 |