一文了解 I3C 的前世今生I3C 由 MIPI 联盟开发作为继承 I2C 的下一代通信协议。它旨在满足现代物联网设备和嵌入式系统日益增长的需求特别是在提升数据传输速度、优化功耗管理以及提升设备管理灵活性方面。当前串行总线I2C、SPI 和 UARTI2CI2C 的主要优点是硬件布线简单只需要两根线就能连接多个设备。其主要的不足之处是I2C的最高速度约 3.4 Mbps半双工通信在单条数据线上切换“读”和“写”这进一步牺牲了数据传输速率。没有处理总线中断的机制。因此要通知控制器或者主机事件控制器必须轮询总线或为中断提供单独的信号线。SPISPI 的优点是其高速数据传输。其推挽驱动信号使其能够实现数十MHz的数据速率。推挽驱动在功耗方面也具有优势。此外由于“读”和“写”使用不同的数据信号因此可以实现全双工通信。SPI的问题信号线数量过多为了实现控制器与目标之间的双向通信需要两条数据线独立于“读”和“写”以及时钟和芯片选择信号来指定目标设备。时钟和芯片选择信号的极性过多主机控制/锁存数据输出的时钟边缘必须符合每个从机所确定的规范。因此在同一条总线上连接和使用多种类型的设备可能很困难。最后SPI 从机想要向 SPI 主机发送中断信号需要额外的中断信号线。随着设备数量的增加中断信号的数量也随之增加这意味着需要更多的布线控制器端的引脚数量也随之增加从而导致封装更大、成本也更高。UARTUART 则常用于点对点一对一通信仅连接两个设备TX 到 RX。尽管使用 RS485 可以拓展为现场总线结构实现一对多通信但是其速率一般在 9,600 到 115,200 波特比特/秒带宽非常受限。另一方面如果想要实现硬件流控制RTS/CTS则至少需要使用四根线。为什么需要 I3Csensor等设备的增加对控制总线的速度和功耗提出了更加严苛的要求传统串行通信中缺乏灵活的通信方式比如同时支持主机通信、从机主动上报故障、多主机、广播发送等通信功能。I3C 的拓扑结构与原理I3C协议仅使用两根线。一根线传输数据SDA另一根控制时序SCL。I3C协议采用控制器-目标设备的角色设计而非 I2C 中使用的主从结构。主要角色包括控制器实现设备管理、数据传输控制的功能。没有主控制器I3C 总线无法工作。二级控制器副控制器起到备份的作用。当主控制器失效或需要交接控制权时它可以接管。该设计有助于保持系统不中断运行使I3C总线在实际应用中更坚固、更可靠。注意同时只有一个设备处于激活状态。目标设备目标设备可以是传感器、内存芯片或其他符合I3C标准的控制器。不同于传统的主从系统目标设备可以主动地发起沟通而不是等待主机来访问。I3C 常用的新特性硬件设计的简洁性省功耗、省管脚、在布局布线时也更方便.。在功耗和硬件尺寸方面I3C的推挽线路优于I2C的开漏线路后者需要上拉电阻。这一优势降低了功耗使I3C适合物联网等低功耗应用。速度更快可以支持到 12.5MHZ支持动态地址分配 (DAA)并且仍支持旧 I2C 设备的静态地址。该特性允许从总线中添加或移除设备为设计师提供更多灵活性。这一特性带来了热连接功能使I3C从属设备能够动态加入连接设备列表类似于USB协议。动态地址分配发生在总线初始化期间。支持内中断(IBI)即目标设备通过在 SCL 高电平时拉低 SDA 来向控制器发送中断请求。当控制器收到请求时会拉下 SCL 以启动消息通知。内中断功能尤为重要因为它可以作为低成本的唤醒功能使设备能够进入低功耗关机模式同时还保持总线的正确运行。热连接。I3C 目标设备在总线配置后被允许加入 I3C 总线从而使传感器能够在不使用的时候进入关闭状态在需要使用的时候才加入总线。支持广播。公共命令码CCC是所有 I3C 目标设备均支持的全局命令控制器可直接发送给某个特定 I3C 目标设备也可同时广播给所有目标设备。用 I3C 代替 I2C、SPI 时需要注意的问题从目前的解释来看I3C 似乎解决了许多 I²C、SPI 和 UART 的遗留问题。然而为了实现更高的速度有一个特性被牺牲了。由于总线电容的限制。I²C快速模式最高400kHz允许总线电容400pF支持1MHz的Fast mode Plus最大550pF但 I3C 限制其为 50pF。这导致总线布线长度和单次可连接设备数量设受到了限制。I3C规范1.1之前的设备数量限制为11个现已被废除但该总线容量限制依然存在这也是无法简单替换现有串行总线的原因之一。哪些应用场景正在使用 I3CI3C 总线已经应用于智能手机、智能手表、汽车及其他设备其能够在无需额外线缆或复杂设计的情况下保证多传感器的高效运行。I3C 适用于所有中高速嵌入式应用包括传感器、电源控制器、执行器、MCU 和 FPGA。按照目前MIPI联盟的规划I3C总线在将来除了应用于各类 sensor 之外还将重点应用于 camera 相机的控制总线。总结I3C 是一种升级的两线串行总线其拥有支持动态地址分配内中断热连接与广播通信的功能并且支持高速率的全双工通信能力。在未来它将与 I2C、SPI、UART 一起构建更加方便易用的串行通信网络。感谢您的阅览创作不易感谢收藏点赞