MIPI I3C℠规范的技术特性定义了与I2C标准后向兼容的双引脚接口,并提供与SPI可媲美的数据吞吐能力。技术属性解释了规范的名称、I3C的MIPI规范,这表示它与I2C的兼容性,以及工作组希望成为过去传统和未来创新行业的桥梁。
用过I2C的都知道,I2C总线上只有一个主设备,其他的都是从设备,而且从设备的addr地址都是固定的,通过芯片外部引脚以及芯片内部rom当中确定,该方式就限制了某些I2C设备的接入。对于mipi 提出的i3c总线,就没有addr地址限制这一说了,增加了动态地址确认。
下面是罗列的异同点:
I2C:从设备无法主动向主设备发起通讯,降低吞吐量和上拉电阻限制了时钟速率且使得功耗偏高
I3C:数据内中断,数据内命令代码,动态寻址,多主/多点通讯特性,支持热链接,错误检查
![a0dc122d0fa20aee2c86a4123e61594d.png](https://i-blog.csdnimg.cn/blog_migrate/b3c7d8fc500f2303835aa23e1918fc96.png)
上图是I3C的系统框图,我们发现sensor与controller之间只有bus总线连接,再也没有int,rst等功能IO连接,这样一方面减少了器件的引脚数量,同时减少我们controller的IO引脚数量。
比如我的8pin引脚mcu 在I2C下只能接入两个sensor,如果我们使用I3C的sensor,这样接入的sensor数量根据你的需求能够接入好几十呢。因此这个在单片机的选型上就省事很多。
![b63a527353dc1e7efc09064086b19dca.png](https://i-blog.csdnimg.cn/blog_migrate/d1cb6adbcef8026022ccdeb6997b6be9.png)
上图是我们的速率对比图表。如果没有仔细看的话,根本就不知道I2C的速率在哪(位于最右侧),很明显的是,I3C通讯速率理论上能够接近26Mbps。
对于我们应用来说,基本上了解这些就够了。如果需要了解更加详细的I3C角色转换,mode模式更换等知识,那就是套用芯片厂商提供的.h文件够了。