以前我们我们一直用I2C的协议,这几年看到很多设备都支持I3C,还是采用SDA和SCL这2根线,但协议有区别了,下面我从定义以及用表格来列举他们的区别。
I³C(Improved Inter-Integrated Circuit)是 MIPI 联盟推出的下一代两线串行总线,向下兼容 I²C、速度更高、功耗更低、功能更强。
一、基础定义
- I²C (Inter-Integrated Circuit)
1980 年代由 Philips 推出的经典低速两线(SCL/SDA)串行总线,半双工、多主多从,广泛用于传感器、外设低速通信。
- I³C (Improved Inter-Integrated Circuit)
MIPI 定义的 I²C 增强版,保留两线架构,兼容 legacy I²C,面向高传感器密度、低功耗嵌入式 / 移动场景设计。
二、核心参数对比表
|
特性 |
I²C |
I³C |
|
最高速率 |
3.4 Mbps (HS-mode) |
SDR: 12.5 Mbps;HDR-TSP: ~33.3 Mbps;多通道可达 100 Mbps+ |
|
驱动方式 |
纯开漏(需外部上拉电阻) |
推挽 / 开漏动态切换,SCL 高时 SDA 推挽驱动 |
|
地址机制 |
7/10 位静态地址,易冲突 |
7 位动态地址分配(DAA)+ 静态兼容,自动避冲突 |
|
中断 |
需额外 INT 引脚 |
带内中断(IBI)
,无需额外线 |
|
热插拔 |
不支持 |
支持 Hot-Join,设备可动态接入 / 移除 |
|
时钟延展 |
支持 |
禁止,避免总线挂死 |
|
功耗 |
上拉电阻持续耗电,能效低 |
推挽 + 高速快休眠,传输同数据能耗降 50%+ |
|
兼容性 |
仅 I²C |
完全兼容 I²C 设备,自动降速通信 |
|
错误校验 |
无 |
SDR 奇偶校验、HDR 5-bit CRC |
|
多主仲裁 |
基础仲裁 |
优先级 + 推挽优化,效率更高 |
|
命令集 |
无标准化管理命令 |
通用命令码(CCC),支持总线统一配置 / 复位 |
三、关键差异详解
1. 物理层与速度
-
I²C:开漏输出依赖上拉,速率受限,高速模式也难突破 3.4 Mbps,噪声容限低。
-
I³C:混合驱动架构,SCL 高时 SDA 用推挽,大幅提升速率并降低功耗;HDR 模式用三元编码进一步提速,可替代部分 SPI 场景。
2. 地址与设备管理
-
I²C:静态地址需硬件 / 软件预设,多设备易地址冲突,无法热加入。
-
I³C:主机通过 ENTDAA 命令动态分配 7 位地址,支持热插拔,总线扩展性大幅提升。
3. 中断与布线
-
I²C:传感器必须额外占用 GPIO 做中断线,增加 PCB 复杂度与成本。
-
I³C:IBI 带内中断,从机直接通过 SDA 发送中断包,彻底省掉专用中断引脚。
4. 功耗与能效
-
I²C:上拉电阻持续耗电,低速长时通信功耗高。
-
I³C:高速传输让设备更快回休眠,推挽驱动无持续上拉损耗,同等数据量能耗仅 I²C 的 1/5~1/18。
5. 兼容性与限制
-
I³C 兼容绝大多数 I²C 设备,但不支持时钟延展的 I²C 从机需在无延展模式下工作,否则通信异常。
四、适用场景选型
- 选 I²C
低速、低成本、存量设备、对速率 / 功耗要求低的简单系统(如传统家电、低端传感器)。
- 选 I³C
多传感器密集场景(手机、穿戴、汽车电子)、低功耗要求高、需热插拔 / 带内中断、追求高速两线通信的现代嵌入式设计。





