往期鸿蒙全套实战精彩文章必看内容:(文中附带鸿蒙全栈学习资料)
功能简介
I3C(Improved Inter Integrated Circuit)总线是由MIPI Alliance开发的一种简单、低成本的双向二线制同步串行总线。
I3C是两线双向串行总线,针对多个传感器从设备进行了优化,并且一次只能由一个I3C主设备控制。相比于I2C,I3C总线拥有更高的速度、更低的功耗,支持带内中断、从设备热接入以及切换当前主设备,同时向后兼容I2C从设备。I3C增加了带内中断(In-Bind Interrupt)功能,支持I3C设备进行热接入操作,弥补了I2C总线需要额外增加中断线来完成中断的不足。I3C总线上允许同时存在I2C设备、I3C从设备和I3C次级主设备。
I3C接口定义了完成I3C传输的通用方法集合,包括:
-
I3C控制器管理:打开或关闭I3C控制器。
-
I3C控制器配置:获取或配置I3C控制器参数。
-
I3C消息传输:通过消息传输结构体数组进行自定义传输。
-
I3C带内中断:请求或释放带内中断。
基本概念
-
IBI(In-Band Interrupt)
带内中断。在SCL线没有启动信号时,I3C从设备可以通过拉低SDA线使主设备发出SCL启动信号,从而发出带内中断请求。若有多个从机同时发出中断请求,I3C主机则通过从机地址进行仲裁,低地址优先相应。
-
DAA(Dynamic Address Assignment)
动态地址分配。I3C支持对从设备地址进行动态分配从而避免地址冲突。在分配动态地址之前,连接到I3C总线上的每个I3C设备都应以两种方式之一来唯一标识:
1)设备可能有一个符合I2C规范的静态地址,主机可以使用此静态地址;
2)在任何情况下,设备均应具有48位的临时ID。 除非设备具有静态地址且主机使用静态地址,否则主机应使用此48位临时ID。
-
CCC(Common Command Code)
通用命令代码,所有I3C设备均支持CCC,可以直接将其传输到特定的I3C从设备,也可以同时传输到所有I3C从设备。
-
BCR(Bus Characteristic Register)

1132

被折叠的 条评论
为什么被折叠?



