I3C 通信理解

Posted on 2024-08-20 12:19  牛man  阅读(77)  评论(0编辑  收藏  举报

I3C 背景,feature

他是一种通讯模式,为移动设备创建一个能够使用多个传感器的单一接口,I2C 最多支持112 个从设备,spi 支持4个,I3C 挂载的slave设备没有数量限制。而且支持中断模式并且可以在更低功耗的情况下提供更高的传输速率。

I3C 最大数据传输速率:33.3Mbps, 

I3C 物理层组成

I3C(Improved inter integrated Circuit) 升级版的集成电路总线,有SCL 和 SDA 两条线,兼容I2C

物理连接方式

I2C slave 如何知道是I2C 数据包还是I3C 数据包呢?

I2C slave 检测I3C 数据包是就会丢弃,I3C slave 数据包不会被I2C slave 检测到,内部电路会自动过滤掉。

 

I3C协议层组成

寄存器介绍:三个重要的寄存器,Bus charicteristic reg: 8bit 可读写寄存器, BIT[6:7]设置i3c mode,BIT[5] 设置I3C 的速率 

                      Device Characteristic Reg:8bit 可读写寄存器, 动态地址分配,支持255个可用动态地址,指定不同类型的设备

                     Legacy Virtual Reg: 描述I2C 设备功能(工作模式和频率)

 

通信协议:start/start restart + 7bit slave addr + 1bit[r/w]+ack+ DATA

 

I2C SLAVE 只有 i3c master 发送了静态地址的时候才会作出相应

I3C SLAVE :当i3c master 地址=0x7E,R/W = 0,则所有的I3C slave 响应;

I3C SLAVE: 当i3c master 发送动态地址,持有该地址的I3C slave响应

I2C slave 第九bit 回复ack /nack

I3C slave 第九bit 回复T(校验位)

 

数据帧格式:

 特性

带内中断:I3C 空闲时,从设备可以通过中断机制发送一个'START" 信号,然后主设备提供时钟信号,从设备可以和主设备建立通信

热接入:可以在总线配置完成后,从设备接入通信

i3c 和 i2c ,spi 对比

 

 

 

 代码分析:(待补充)

 

参考:SPI_spi可以接多少个设备-CSDN博客

           IIC学习笔记(一)_iic可以接多少个设备-CSDN博客

           4、I3C协议详解-CSDN博客

           scpa066.pdf (ti.com)

         MIPI I3C介绍 | NXP 半导体