欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > SPI、UART、IIC(I²C) 通信协议的详细介绍及对比分析

SPI、UART、IIC(I²C) 通信协议的详细介绍及对比分析

2025/4/18 20:33:41 来源:https://blog.csdn.net/weixin_45813121/article/details/147125463  浏览:    关键词:SPI、UART、IIC(I²C) 通信协议的详细介绍及对比分析

一、SPI(Serial Peripheral Interface,串行外设接口)

1. 基本特性
  • 开发背景:由摩托罗拉(Motorola)于1980年代推出,用于短距离、高速率的设备间通信。
  • 物理层
    • 4根信号线
      • SCK(Serial Clock):时钟线(主机提供);
      • MOSI(Master Out Slave In):主机输出、从机输入;
      • MISO(Master In Slave Out):主机输入、从机输出;
      • CS(Chip Select):片选线(低电平有效,主机控制,每个从设备需独立CS)。
    • 全双工(Full-Duplex)同步(Synchronous) 通信,主机主导时钟和数据方向。
2. 通信机制
  • 主从架构:1个主机(如MCU)可连接多个从设备,通过CS线独立选中从设备。
  • 数据传输
    • 主机通过SCK提供时钟,每个时钟周期传输1位数据,高位优先(MSB)。
    • 主机和从设备同时发送/接收数据(全双工),但从设备需在CS有效时才响应。
  • 无应答机制:主机不确认从设备是否收到数据,可靠性依赖硬件设计。
3. 优点
  • 高速率:可达数十Mbps(如32MHz),适合高速数据传输(如传感器、Flash存储)。
  • 简单灵活:无需复杂协议,硬件实现成本低,适合点对点或一主多从场景。
  • 全双工:支持同时收发数据,效率高。
4. 缺点
  • 多从设备支持差:每个从设备需独立CS线,引脚占用多,不适合大量设备组网。
  • 无寻址功能:依赖硬件CS选择从设备,扩展性有限。
  • 无错误校验:仅靠硬件时序保证,缺乏数据纠错机制。
5. 典型应用
  • 外设通信:EEPROM、ADC、DAC、显示驱动(如OLED)、传感器(如陀螺仪)。
  • 短距离高速场景:存储芯片(如QSPI Flash)、高速传感器数据采集。

二、UART(Universal Asynchronous Receiver-Transmitter,通用异步收发器)

1. 基本特性
  • 开发背景:最古老的串行通信协议之一,用于点对点异步通信。
  • 物理层
    • 2根信号线
      • TX(Transmit):发送线(主机→从机);
      • RX(Receive):接收线(从机→主机)。
    • 异步(Asynchronous):无时钟线,依赖波特率(Baud Rate)同步,支持全双工。
2. 通信机制
  • 数据格式
    • 以“帧”为单位传输,每帧包含:起始位(1位低电平)、数据位(5-8位,低位优先)、校验位(可选,奇偶校验)、停止位(1/1.5/2位高电平)。
  • 波特率:需双方预先约定(如9600、115200),误差需控制在一定范围内(通常≤5%)。
  • 流控制(可选):通过RTS/CTS线实现硬件流控制,或通过XON/XOFF字符实现软件流控制。
3. 优点
  • 引脚简单:仅需TX/RX,适合低成本、点对点通信(如MCU与PC)。
  • 长距离支持:配合RS-232/RS-485等电平转换,可传输数十米至千米。
  • 灵活性高:数据位、校验位、停止位可配置,适应不同设备需求。
4. 缺点
  • 异步同步依赖波特率:若双方波特率不一致,易导致数据错位。
  • 无硬件寻址:仅支持点对点,无法直接实现多设备组网。
  • 速率受限:通常低于1Mbps(RS-232),高速场景需更复杂的电平转换(如RS-422)。
  • 无应答机制:需上层协议(如Modbus)实现可靠性保证。
5. 典型应用
  • 设备调试:MCU通过UART连接PC串口(如USB转TTL),输出日志。
  • 工业控制:配合RS-485实现多设备总线(需地址协议,如Modbus RTU)。
  • 低速外设:GPS模块、蓝牙模块(AT指令通信)。

三、IIC(I²C,Inter-Integrated Circuit,集成电路间通信)

1. 基本特性
  • 开发背景:由飞利浦(Philips)于1982年推出,用于近距离、多设备低速通信。
  • 物理层
    • 2根信号线
      • SDA(Serial Data):数据线(双向,开漏输出,需外接上拉电阻);
      • SCL(Serial Clock):时钟线(主机提供,开漏输出,需外接上拉电阻)。
    • 半双工(Half-Duplex)同步(Synchronous),支持多主多从(需总线仲裁)。
2. 通信机制
  • 寻址方式
    • 每个设备有唯一7位或10位地址(由硬件或软件配置),主机通过发送地址帧选中从设备。
  • 数据传输
    • 起始信号(SCL高电平时SDA下降沿)→ 发送从设备地址(7位)+ 读写位(1位)→ 应答位(ACK,从设备拉低SDA)→ 数据帧(8位)→ 停止信号(SCL高电平时SDA上升沿)。
  • 总线仲裁:多主机同时发送时,通过SDA电平竞争决定主导权,避免冲突。
3. 优点
  • 引脚极少:仅2根线,支持挂载多个设备(理论上127个,受上拉电阻和总线电容限制)。
  • 多设备支持:通过地址寻址,无需独立片选线,适合组建简单设备网络。
  • 可靠的应答机制:从设备通过ACK确认接收,保证数据可靠性。
4. 缺点
  • 速率限制
    • 标准模式100kbps,快速模式400kbps,高速模式3.4Mbps,低于SPI。
  • 总线时序复杂:严格的起始/停止信号、应答机制,硬件实现需注意上拉电阻和总线电容匹配。
  • 半双工:同一时刻只能单向传输,效率低于SPI。
  • 主从限制:多主模式需仲裁,增加软件复杂度。
5. 典型应用
  • 低速传感器:温度传感器(如DS18B20)、湿度传感器(如SHT30)、加速度计(如MPU6050)。
  • 外设控制:EEPROM(如24C02)、实时时钟(RTC)、LED驱动芯片。
  • 多设备组网:主板上的外设(如声卡、传感器模块)。

四、三协议对比表格

特性SPIUARTIIC
通信方式同步、全双工异步、全双工同步、半双工
信号线数量4根(SCK、MOSI、MISO、CS)2根(TX、RX,可选RTS/CTS)2根(SDA、SCL,需上拉电阻)
寻址方式硬件片选(CS)无(点对点),依赖上层协议7/10位地址(软件寻址)
多设备支持一主多从(需独立CS)点对点(需总线协议如RS-485扩展)多主多从(总线仲裁)
速率高(数十Mbps)低(通常<1Mbps,RS-485可更高)中(标准模式100kbps,高速3.4Mbps)
应答机制无(需上层协议)有(ACK/NACK)
硬件复杂度中等(多CS引脚)低(简单引脚)中等(需上拉电阻、严格时序)
典型应用高速外设(Flash、传感器)点对点通信(串口、Modbus RTU)低速多设备(传感器、EEPROM)
优点高速、简单、全双工引脚少、长距离、灵活引脚极少、多设备寻址、可靠应答
缺点多从设备引脚多、无寻址异步依赖波特率、无硬件寻址半双工、时序严格、速率受限

五、选择建议

  • 高速点对点:选 SPI(如传感器实时数据传输)。
  • 简单点对点/长距离:选 UART(如设备调试、工业总线)。
  • 多设备低速组网:选 IIC(如主板内多个传感器通信)。

根据具体场景的 引脚数量、速率需求、设备规模、可靠性要求 综合选择,必要时可结合上层协议(如UART+Modbus、IIC+扩展地址)优化功能。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词