简介
上一章讲到I2C协议,作为IIC的升级版,I3C的优点非常明显。总线依然采用SDA和SCL通信。
相比较IIC,I3C协议要复杂很多,网上有很多对I3C的介绍,但是对于真正需要编写I3C代码的人来说并不友好,内容千篇一律,使用协议过程中遇到问题却很难找到答案,作者已经实现使用I3C协议对传感器寄存器进行读写操作。
硬件特性
接下来描述比较核心的内容,首先I3C的时钟一般使用推免输出,如下图所示:
图1 SCL推免式输出
SCL不是说一定要使用推免式输出,也可以使用开漏方式,主要是推免式输出可以达到更快的速度,I3C在SDR工作模式下速度可达到8.8M,HDR模式下可以到20M以上。
上面提到SDR和HDR,名词解释如下:
SDR:signal data rate 单一数据传输模式,即一个时钟周期上升沿采样数据,和IIC一样;
HDR:high data rate 高速数据传输模式,双沿采样。
I3C默认为SDR模式。
如下表所示为I2C和I3C特性
表1 IIC和I3C特性对比
说明 |
I2C |
I3C |
最大速度 |
1Mbps |
20Mbps |
速度 |
可调 |
可调 |
信号线 |
SDA、SCL |
SDA、SCL |