一文了解I3C 解析(二)
这一篇主要是延续上一篇的握手流程的后续。
I3C Basic V1.0原则:
I3C支持多种通信格式,所有这些格式都共享一个两线接口。
同I2C一样, 这两条线命名依然为 :SDA and SCL:
· SDA (Serial Data) 双向数据线
· SCL (Serial Clock) 时钟线
I3C总线支持各种消息类型的混合:
1.SDR(Single Data Rate Mode---这是一种单边时钟作为有效信息,相对于HDR来说的)消息( 类似于I2C),SCL时钟速度高达12.5MHz。
2. 广播和直接公共命令代码(CCC)消息,这些消息允许主服务器依次与I3C总线上的所有从服务器或其中一个从服务器通信。
3.I3C Basic 不支持HDR模式(High Data Rate Mode),HDR模式在I3C V1.0 规范中支持。HDR模式消息实现了每等效时钟周期更高的数据速率。
注释: I3C Basic V1.0是I3C V1.0 spec的一个子集,但是I3C Basic也包含了部分I3C V1.1 spec中的内容。
关于规格书相关关系,请详细看下面的解释:
4. I2C消息可以发送到I2C从设备上(兼容I2C)
5. 从设备发起到主设备的启动请求,例如发送带内中断或请求主设备,图4显示了I3C总线上的示例流量模式。(基本就是带内中断的意思)
从上一篇小记中的最后一张图,I3C的专用广播地址为7’h7E。此地址可以发送到I3C总线上所有的从设备。
I3C的数据流:
I3C基于一种帧封装方法。
帧包括一个数据有效负载。
I3C基本框架总是至少包含开始、报头、数据和停止。
开始后的头文件允许总线仲裁。
主设备使用报头地址到从服务器设备。
从设备可以将头地址给主设备仲裁用于多种目的:
1.用于带内中断,
2.用于热连接和
3.申请主从切换,辅助主功能。
关于主从设备问题,根据规格书内再多说一些:
I3C一次只允许一个主机控制I3C总线。提供了从一个设备到另一个设备的主角色切换机制。其中所有
I3C主设备都支持两个主要主设备其中之一,也可能支持两个辅助主设备角色其中之一。
I3C 主/辅助主设备原则:
主设备原则:
·主主机:I3C总线上的I3C主设备,它最初配置I3C总线,并作为第一个当前主机。在给定的I3C总线上只有一个I3C设备可以担任主设备,即该规则为任何其他I3C设备(非主设备)不能传递给I3C总线上的。
·仅支持SDR的主服务器:只支持I3C的SDR模式的主服务器,即不支持任何HDR模式。
辅助主设备原则:
·I3C二级主设备:针对的是I3C总线上的任何I3C设备(除了当前主设备)具有I3C主设备能力。在I3C总线上可以同时有多个次级主机。根据定义,辅助主设备在最终成为当前主设备之前充当I3C从设备。
·SDR- only Secondary Master:只支持I3C的SDR模式的Secondary Master,即不支持任何HDR模式。
I3C 主设备的作用:
I3C总线要求在同一时间恰好有一个I3C设备作为I3C主设备运行。
在I3C术语中,这个I3C主设备是当时的当前主设备。
在典型的应用程序中,当前的主设备是总线上的I3C设备,它发送大部分I3C命令(CCC),寻址所有从机(广播CCC)或特定的单个从机(专项CCC)。
当前主机也是I3C总线上允许发送I2C消息的唯一设备。
除了发送I3C命令和I2C消息外,I3C主设备还可以:
·生成总线时钟管理引体向上结构
·管理动态地址分配过程(包括热连接事件,即在此设备为主设备时,允许从设备热连接而分配地址)
·管理从总线上的I3C从设备的启动请求以及地址仲裁请求事项如下:
1.产生带内中断
2.用于热连接事件
3.成为当前的主设备
(以上也就是从设备的主要的功能, 所以就不再列出单独翻译解析了)
·支持I2C从设备
·支持I3C SDR模式
后面有时间再继续看I3C的协议部分。