摘要:SPI,I2C,CAN是什么?他们之间有什么区别?今天一篇文章彻底介绍清楚!
SPI,I2C,CAN是什么?他们之间有什么区别?今天一篇文章彻底介绍清楚!
1. SPI协议特点
物理连接:
主机通过独立CS片选线连接每个从机(如选择TF卡或显示屏)。
时钟极性(CPOL)和相位(CPHA)灵活配置。
时序示例
数据传输以CS拉低开始→SCK同步时钟→MOSI/MISO同步收发→CS拉高结束。
实例:STM32通过SPI驱动OLED屏,全双工传输图像数据无需等待应答。
2. I2C协议特点
地址寻址:
位地址(支持128设备)或扩展10位地址。
起始信号(SCL高时SDA下降沿)→发送地址+读写位→ACK应答。
冲突处理:
多主机时通过仲裁机制避免总线冲突。
实例:单片机读取BMP280气压传感器,发送地址0x77后获取数据。
3. CAN协议特点
可靠性设计:
差分信号抗电磁干扰,CRC校验+自动重传。
消息优先级仲裁(低ID值优先发送)。
工业应用:
实例:汽车刹车系统ECU发送ID=0x100的紧急指令,优先抢占总线。
车载网络:CAN连接发动机ECU与仪表盘。
工业控制:SPI驱动高速ADC采集数据。
优先SPI:需高速(>10Mbps)且距离
优先I2C:引脚资源紧张的低速传感器网络(
必须CAN:长距离(>100m)、强干扰场景(如工厂机器人控制)。
来源:互联网AI工程师