二、菊花链通信协议:常见协议特点与选择

在菊花链拓扑中,通信协议的选择直接决定了系统的可靠性、实时性和可扩展性。本节将深入剖析四种主流菊花链协议——SPI、I2C、RS485 和 CAN 的核心特性,并通过对比分析帮助您做出最佳选型决策。

📊 四大协议特性对比总览

菊花链协议特性雷达图 SPI 全双工 · 主从 ✅ 速率极高 (10-50 Mbps) ✅ 硬件简单,延迟低 ⚠️ 无内置应答机制 ⚠️ 从站数量受限 ⚠️ 菊花链需额外逻辑 🔗 4线 (SCK, MOSI, MISO, CS) I2C 半双工 · 多主 ✅ 2线制 (SDA, SCL) ✅ 内置应答 (ACK/NACK) ✅ 多主仲裁支持 ⚠️ 速率较低 (100k-3.4M) ⚠️ 总线电容限制节点数 🔗 地址冲突需注意 RS485 半双工 · 多点 ✅ 差分信号,抗干扰强 ✅ 传输距离远 (1200m+) ✅ 最多256节点 ⚠️ 需外置协议栈 ⚠️ 半双工需方向控制 🔗 2线 (A, B) + GND CAN 半双工 · 多主 ✅ 实时性高,优先级仲裁 ✅ 错误检测与重发 ✅ 差分信号,抗干扰 ⚠️ 速率与距离权衡 ⚠️ 硬件成本略高 🔗 2线 (CAN_H, CAN_L)

1. SPI(串行外设接口)—— 速度之王

SPI 是菊花链应用中最常见的协议之一,尤其适用于高速数据采集系统(如 ADC 链、DAC 链)。其主从架构通过片选信号(CS)实现设备寻址。

🔧 SPI 菊花链典型拓扑

主设备 (Master) 从设备1 (Slave) 从设备2 (Slave) 从设备3 (Slave) SCK 时钟线 (共享) MOSI (主→从) MISO (从→主) SCK (时钟)
参数 SPI 特性 菊花链注意事项
速率 10~50 Mbps(典型) 链越长,速率需适当降低
线数 4线(SCK, MOSI, MISO, CS) CS 可共享或独立
寻址方式 片选信号(硬件寻址) 菊花链中数据移位传递
典型故障 时序偏移、信号反射 链末端信号质量下降

2. I2C(集成电路总线)—— 双线制多面手

I2C 以其两线制(SDA、SCL)和内置应答机制著称,非常适合板级短距离通信。在菊花链中,每个设备通过唯一地址识别。

🔧 I2C 菊花链地址分配示意

主控 从设备1 地址: 0x50 从设备2 地址: 0x51 从设备3 地址: 0x52 R SDA (数据线) SCL (时钟线) 上拉电阻 (4.7kΩ)
参数 I2C 特性 菊花链注意事项
速率 标准 100kbps,快速 400kbps,高速 3.4Mbps 总线电容随节点增加而增大,限制速率
线数 2线(SDA, SCL) 所有设备共享总线
寻址方式 7位/10位地址(软件寻址) 地址冲突是常见故障
典型故障 总线锁死、应答超时 某个设备拉低 SDA 导致总线阻塞

3. RS485 —— 工业远距离王者

RS485 采用差分信号传输,具有极强的共模抑制能力,传输距离可达 1200 米以上。它本身只定义物理层,需配合上层协议(如 Modbus RTU)实现菊花链通信。

🔧 RS485 菊花链终端匹配

主机 从机1 从机2 从机3 120Ω 120Ω A 线 (非反相) B 线 (反相) 终端电阻 (仅末端)
参数 RS485 特性 菊花链注意事项
速率 100kbps ~ 10Mbps(距离相关) 长距离时需降低波特率
线数 2线(A, B)+ 参考地 必须共地,否则共模电压超限
节点数 最多 256 节点(标准) 实际受驱动芯片能力限制
典型故障 终端电阻缺失、极性反接 末端无匹配电阻导致信号反射

4. CAN(