扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

串口通信及对比(SPI,I2C,UART,CAN)

03/30 15:18
346
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1.SPI:异步串行通信

  • 原理:同步全双工协议,需4根线:CS(片选)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)、CLK(时钟)。主机通过拉低CS信号选择从机,时钟由主机控制,速率可达数Mbps至10Mbps以上,支持一主多从拓扑。
  • 典型应用:高速数据传输场景,如Flash存储器显示屏驱动。
  • 四种模式和spi协议时序图spi协议时序图和四种模式实际应用详解_stm32时序图怎么看-CSDN博客

2. I2C:同步串行通信

  • 原理:同步串行协议,使用2根线(SDA数据线、SCL时钟线),支持多主从架构。主机通过发送7位设备地址和1位读写位寻址从机,从机通过ACK信号确认。数据传输以起始条件开始,停止条件结束,速率通常为标准模式为100Kbps,快速模式为400Kbps,高速模式为3.4Mbps。
  • 典型应用:低速外设控制,如温度传感器EEPROM存储芯片
  • IIC协议时序图:I2C通讯协议及时序图_yanlaifan-GitCode 开源社区

3. UART:异步串行通信

  • 原理:采用异步串行通信,无需时钟线,通过预定义波特率(如115200、9600)实现数据同步。通常使用2根线(Tx发送、Rx接收),部分场景增加RTS/CTS流控线,支持全双工通信。数据格式包括起始位、数据位、奇偶校验位和停止位。
  • 典型应用:短距离设备间通信,如单片机与传感器、蓝牙模块等。
  • UART协议时序图:
    • FPGA学习-UART串口发送单字节(UART时序分析+真正的FPGA设计看图写代码)_串口时序图怎么看-CSDN博客
    • UART通信协议及其工作原理(图文并茂+超详细)-CSDN博客

4. CAN:多主线通信协议,采用消息优先级仲裁机制

  • 原理:基于差分信号(CAN_H/CAN_L)的多主总线协议,采用消息优先级仲裁机制,避免数据冲突。支持广播通信,具备强抗干扰能力,速率通常为125kbps~1Mbps,适用于长距离传输9。
  • 典型应用:汽车电子工业控制系统等高可靠性场景。
  • CAN协议时序图:
    • 一文读懂CAN总线协议 (超详细配34张高清图)_can总线协议详解-CSDN博客
    • CAN通信学习笔记——位时序_tq time quantum-CSDN博客

5. 不同协议之间的对比

6. 特征补充

  • 复杂度:
    • UART配置简单但是需要固定波特率
    • I2C需要管理地址冲突
    • SPI硬件资源占用多,且从机需要独立的CS
    • CAN协议复杂,但是可靠性极高
  • 扩展性
    • SPI通过增加CS线扩展从机
    • I2C通过地址支持多设备
    • CAN天然总线多节点网络
  • 抗干扰能力:
    • CAN因差分信号和优先级总裁机制

相关推荐