1. I2C(Inter-Integrated Circuit)
- 定义:两线制串行总线(SDA数据线 + SCL时钟线),支持主从模式多设备通信。
- 特点:
- 地址机制:每个设备有唯一地址,主设备通过地址选择从设备。
- 低速到中速:标准模式(100 kbps)、快速模式(400 kbps)、高速模式(3.4 Mbps)。
- 半双工:同一时间只能发送或接收数据。
- 应用:传感器(温湿度、加速度计)、EEPROM、小型显示屏。
- 优缺点:引脚少、成本低,但速率有限,总线冲突需仲裁。
2. I2S(Inter-IC Sound)
- 定义:专为数字音频传输设计的3线制总线(SCK时钟、WS声道选择、SD数据)。
- 特点:
- 同步传输:时钟信号确保音频数据精准对齐。
- 立体声支持:通过WS信号区分左右声道。
- 高保真:支持16/24/32位音频数据。
- 应用:DAC/ADC芯片、音频编解码器、蓝牙耳机模块。
- 优缺点:专为音频优化,但不适合非音频场景。
3. SPI(Serial Peripheral Interface)
- 定义:四线制全双工串行接口(MOSI、MISO、SCLK、CS)。
- 特点:
- 全双工通信:主从设备可同时收发数据。
- 高速率:可达100+ Mbps(取决于设备)。
- 多从机支持:通过片选(CS)信号选择设备。
- 应用:Flash存储器、TFT屏幕、RF模块。
- 优缺点:速度快、灵活性高,但引脚占用多,布线复杂。
4. PCIe(Peripheral Component Interconnect Express)
- 定义:高速串行总线,用于计算机内部组件互联。
- 特点:
- 点对点拓扑:每个设备独享带宽。
- 差分信号:抗干扰强,支持长距离传输。
- 可扩展带宽:通过通道组合(x1/x4/x8/x16)提升速率。
- 版本演进:PCIe 3.0(8 GT/s)、PCIe 4.0(16 GT/s)、PCIe 5.0(32 GT/s)。
- 应用:显卡、NVMe SSD、高速网卡。
- 优缺点:带宽极高,但协议复杂,硬件成本高。
5. UART(Universal Asynchronous Receiver/Transmitter)
- 定义:异步串行通信协议(TX发送、RX接收)。
- 特点:
- 无需时钟线:依赖预定义的波特率(如9600、115200 bps)。
- 简单灵活:数据帧包括起始位、数据位、校验位、停止位。
- 应用:调试终端(如USB转TTL模块)、GPS模块、老旧外设。
- 优缺点:简单通用,但速率低且无硬件流控。
6. MIPI(Mobile Industry Processor Interface)
- 定义:专为移动设备设计的接口标准,包含多个子协议:
- DSI:用于显示屏接口。
- CSI:用于摄像头传感器。
- UniPro:通用高速数据传输。
- 特点:
- 低功耗设计:适用于电池供电设备。
- 差分信号:抗干扰能力强。
- 应用:智能手机摄像头、屏幕、触摸屏。
- 优缺点:专为移动优化,但协议复杂度高。
7. GPIO(General Purpose Input/Output)
- 定义:通用数字信号输入/输出接口。
- 特点:
- 可编程:通过代码配置为输入或输出模式。
- 电平控制:支持高/低电平(如3.3V或5V)。
- 应用:控制LED、读取按钮状态、驱动继电器。
- 优缺点:灵活易用,但功能单一。
8. CAN(Controller Area Network)
- 定义:汽车和工业领域的高可靠性总线。
- 特点:
- 差分信号:抗电磁干扰能力强。
- 多主架构:无中心控制器,节点可自主通信。
- 优先级仲裁:通过ID解决总线冲突。
- 应用:汽车ECU(如发动机控制)、工业自动化。
- 优缺点:可靠且容错,但协议栈复杂。
9. LIN(Local Interconnect Network)
- 定义:低成本汽车子网络,作为CAN的补充。
- 特点:
- 单线传输:简化布线。
- 主从架构:由主节点调度通信。
- 低速:典型速率20 kbps。
- 应用:车窗控制、座椅调节、雨刷器。
- 优缺点:成本低,但速率和可靠性有限。
补充协议
- USB(Universal Serial Bus)
- 通用高速串行总线,支持热插拔和多种设备类型(USB 3.2达20 Gbps)。
- HDMI(High-Definition Multimedia Interface)
- Ethernet
- 网络通信协议(如10Gbps、100Gbps),支持TCP/IP协议栈。
- Modbus
- 工业领域常用协议(基于RS-485或TCP),用于PLC通信。
- Bluetooth/BLE
- Zigbee
- 1-Wire
- JTAG
如何选择协议?
- 速度需求:高速用PCIe/USB,低速用UART/LIN。
- 距离:短距用I2C/SPI,长距用CAN/Ethernet。
- 功耗:移动设备优先MIPI/BLE。
- 复杂度:简单控制选GPIO/UART,复杂系统用PCIe/CAN。