
I3C接口图解
两线兼容 I²C · 动态地址 DAA · 带内中断 IBI · 推挽高速 · 多主控热接入
一块现代主板上往往挂着几十颗传感器——加速度计、陀螺仪、气压、温湿度、光感……过去它们要么靠一堆 I²C 加中断脚,要么用引脚昂贵的 SPI。MIPI 联盟提出的 I3C,正是为收拾这个局面而来:只用两根线,却兼得 I²C 的省线与 SPI 的高速,还加了动态地址、带内中断这些现代特性。这一期,我们把 I3C 的兼容性、动态地址、带内中断、速率与角色一次讲清。
01 I3C 是什么:兼得省线与高速
I3C(Improved Inter Integrated Circuit)是 MIPI 联盟制定的一种两线串行接口,定位非常清晰:站在 I²C 与 SPI 之间,既保留I²C“两根线、可挂多设备”的省线优势,又把速率、寻址、中断这些短板补齐,逼近 SPI 的性能。它的目标场景是传感器汇聚(sensor hub)——把大量低速到中速的传感器整合到同一条两线总线上。

图 1I3C 的定位:兼得 I²C 的省线与SPI 的高速
简单说,I3C 想用一条两线总线,替代过去“I²C + 一堆中断脚 + 偶尔再加SPI”的混搭布线。对引脚和走线寸土寸金的小型化设备来说,这种整合带来的价值很直接:更少的线、更少的脚、更低的成本。
02 向后兼容:与 I²C 共用一条总线
I3C 最务实的一点,是它在电气与协议上向后兼容 I²C,让升级可以平滑进行:

图 2 向后兼容:I3C 与传统 I²C 设备共用一条两线总线
同样是 SDA/SCL 两根线,I3C 主控可以和新的 I3C 器件、遗留的 I²C 器件混挂在同一条总线上:I3C 器件享受高速与新特性,传统 I²C 器件仍按老方式工作。这意味着工程师不必为了用上 I3C 而推倒重来,可以让两代器件共存、逐步替换——这正是 I3C 能快速被采用的关键。
03 动态地址分配(DAA)
I²C 的老大难之一是地址冲突:器件地址出厂固定,挂两颗同型号传感器就可能撞车。I3C 用动态地址分配解决了它:

图 3 动态地址分配(DAA):上电后由主控统一编址
系统上电后,主控通过 ENTDAA 流程,结合每个器件唯一的 48 位 ID,给总线上的器件逐一动态派发一个地址。这样既彻底避免了地址打架,也让“同型号多颗”成为常态。除了 DAA,I3C 还定义了一套通用命令码(CCC),供主控统一管理总线、查询能力、配置器件,规整且可扩展。
04 带内中断(IBI)
传感器经常要“主动报告”——比如检测到敲击、超过阈值。在 I²C 时代,这通常得为每个器件单拉一根中断线:

图 4 带内中断(IBI):从机用数据线主动报告,免去中断脚
I3C 把中断收进了总线本身:从机可以直接在 SDA 数据线上发起带内中断(In-Band Interrupt, IBI),主动向主控请求服务,甚至顺带捎上少量数据,全程不需要额外引脚。省下来的不只是引脚,还有大量中断线的布线——这对多传感器系统是实打实的简化。
05 更快:从开漏到推挽
I²C 受限于开漏加上拉电阻的结构,上升沿慢、速率上不去。I3C 在传数据时改用推挽驱动,把速率拉了上来:

图 5 更快:从开漏到推挽,SDR 即可达 12.5 MHz
开漏总线的高电平靠上拉电阻“拉”上去,上升沿是一条缓慢的 RC 曲线,限制了频率;I3C 在主动驱动数据时切换成推挽,边沿陡直,标准的 SDR 模式即可跑到 12.5 MHz。在此之上,I3C 还提供 HDR(如 HDR-DDR、HDR-BT)等高数据率模式进一步提速,同时仍能在需要兼容 I²C 时退回开漏。速率上来了,功耗管理也更精细,适合电池供电设备。
06 总线角色与热接入
I3C 的角色模型也比 I²C 灵活,支持多主控协作与器件热接入:

图 6 总线角色:主控 / 次主控 / 从机,支持热接入与角色交接
总线上有一个主控制器(Main Controller)统管全局,还可以有次主控制器(Secondary Controller),二者按规则交接总线控制权;从机(Target)则可在系统运行中热接入而不打断总线。配合 DAA、CCC 与精细的低功耗管理,I3C能优雅地撑起一个动态变化的复杂传感网络——这是传统 I²C 较难做到的。
07 I²C / SPI / I3C 对比与设计要点
把三种常见两/多线接口横向放在一起,再落到设计要点,选型时一目了然:
|
维度
|
I²C
|
SPI
|
I3C
|
|
线数
|
2 线 (SDA/SCL)
|
4+ 线
|
2 线 (SDA/SCL)
|
|
寻址
|
固定地址,易冲突
|
片选 CS,无地址
|
动态地址 DAA
|
|
速率
|
100k–1M(Fm+)
|
数十 MHz
|
SDR 12.5M,HDR 更高
|
|
中断
|
需额外中断脚
|
需额外中断脚
|
带内中断 IBI
|
|
兼容
|
—
|
—
|
向后兼容 I²C
|
板级落地时还要注意以下几点:
|
设计要点
|
说明
|
|
上拉与驱动
|
I3C 在开漏阶段仍需上拉;推挽阶段由器件主动驱动,注意混挂 I²C 时的上拉取值与总线电容。
|
|
总线电容
|
挂载器件越多、走线越长,电容越大,会限制可用速率;控制走线长度与分支。
|
|
地址规划
|
依赖主控的 DAA 流程;确认每个器件支持 I3C 动态地址,遗留 I²C 器件保留其静态地址。
|
|
电平匹配
|
确认主控与器件的 I/O 电平(常 1.2V/1.8V)一致,必要时做电平转换。
|
|
软件支持
|
主控 SoC 需具备 I3C 控制器与驱动;用到 IBI/HDR 时确认软硬件均支持对应特性。
|
08 结语
两根线、向后兼容 I²C、再加上动态地址、带内中断与推挽高速——I3C 用一套现代化的设计,把过去“I²C + 中断脚 + SPI”的混搭,收拢成一条干净高效的传感器总线。对做多传感器、小型化产品的工程师而言,读懂 I3C 的兼容性、DAA、IBI 与角色模型,就握住了下一代传感接口的钥匙,也能在 I²C 升级 I3C 的过渡中走得更稳。 |