I2C
-
一个主人,多个从属可能
-
一种相对简单的协议,适用于短距离(即小于1m)的通信。
-
总线以100kHz或400kHz运行,但与其他协议相比,数据速率相对较低。
-
仅需 4 个引脚(VCC、GND、SDA、SCL)
SPI
-
一个主人,一个从属
-
20Mhz+ 速度意味着它非常快,尤其是与 I2C 相比
-
仅适用于短距离(10厘米)
-
至少需要 5 个引脚(VCC、GND、SCLK、主出从输入、主输入从输出)+ 每个从站 1 个从选择引脚
串行 / UART
-
一个主人,一个从属
-
与 I2C 和 SPI(即 1m)相比,基于字符的协议适合在更长的距离上进行通信
-
相对较快,57Kbps ~ 1.5Mbps
-
至少需要 4 个引脚(VCC、GND、TX、RX),外加 2 个可选引脚(清除发送、清除接收)
CAN总线
-
多主站总线,任何节点都可以在需要时启动数据传输
-
基于数据包的超长距离协议
-
高速,通常为 1 Mb(但是只有 50% 的总线比特率可以真正使用而不会发生重大碰撞)
-
至少需要 3 个引脚(GND、CAN HI、CAN LO)。可选 VCC 可用于为节点供电
-
点对点拓扑。不建议使用星形或存根拓扑
-
总线两端都需要端接