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 可用于为节点供电
-
点对点拓扑。不建议使用星形或存根拓扑
-
总线两端都需要端接

本文介绍了四种常见的串行通信协议:I2C适合短距离、低速通信,SPI速度快但需要更多引脚,串行/UART能在更长距离上传输数据,而CAN总线支持多主站且适合长距离高速通信,但需要特定的拓扑结构。

被折叠的 条评论
为什么被折叠?



