SPI、I²C、CAN 通信协议对比

协议 SPI I²C CAN
通信方式 同步通信,全双工 同步通信,半双工 同步通信(基于位定时自同步),半双工
信号线数量 4线(SCLK + MISO + MOSI + SS) 2线(SCL + SDA) 2线(CAN_H + CAN_L)
速度 高(数 MHz,最高几十 MHz) 中(标准 100kHz,最高可达 3.4 MHz) 中(典型 1 Mbps,速率与距离成反比)
寻址方式 硬件片选(每个从机一个 SS) 软件地址(7 或 10 位) 报文 ID(11 或 29 位)
拓扑结构 一主多从 多主多从 多主多从
错误检测 协议层无(可由上层实现) ACK/NACK(无数据校验) CRC 校验 + 自动重发
抗干扰能力 弱(单端信号) 弱(单端信号) 强(差分信号)
引脚占用 高(主控每个从机需 1 个 SS 引脚) 低(所有设备共享 2 根总线) 低(2 线差分总线)
协议复杂度 简单 中等 复杂
典型应用 Flash 存储器、LCD 屏幕等高速外设 传感器、RTC 实时时钟等低速设备 汽车电子、工业控制、楼宇自动化等复杂网络系统

你可能感兴趣的:(单片机,嵌入式硬件,硬件工程)