欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

I3C协议Single Data Rate(SDR)模式:总线条件Bus Conditons

程序员文章站 2022-06-18 16:02:52
该规范定义了漏极开路上拉电阻和上电保持器,以及I3C总线被认为处于非活动状态的三种不同条件:无总线,可用总线和总线空闲。一.Open Drain Pull-Up and High-KeeperI3C主设备应提供一个活动的漏极开路上拉电阻,只要总线处于漏极开路模式(除下面详细说明的情况下,都可以使用弱上拉电阻),该I3C主设备就应处于活动状态。该主动上拉应采用以下两种方式之一: 1.作为来自VDD的无源电阻,或 2.作为电流源的无源电阻,或 3.通过以下两种方法均可: ......

该规范定义了漏极开路上拉电阻和上电保持器,以及I3C总线被认为处于非活动状态的三种不同条件:无总线,可用总线和总线空闲。

一. Open Drain Pull-Up and High-Keeper

I3C主设备应提供一个活动的漏极开路上拉电阻,只要总线处于漏极开路模式(除下面详细说明的情况下,都可以使用弱上拉电阻),该I3C主设备就应处于活动状态。

该主动上拉应采用以下两种方式之一:

1.作为来自VDD的无源电阻,或

2.作为电流源的无源电阻,或

3.通过以下两种方法均可:

a. 平衡其现有资源以确保SDA在trDA范围内上升(请参见表57),以及

b. 不能阻止具有最小IOL驱动器的从设备(请参见表54)在trDA内将SDA驱动为低电平(请参见表58)。

除了活动的漏极开路类上拉电阻外,总线上还需要一个高位保持器。 High-Keeper通常用于主机到从机或从机到主机的越区切换,以及可选的终止使用,其中主机可以在高电平时通过将SDA驱动为低电平来发出终止信号。

总线上的高电平保持要足够强,以防止系统leakage(即总线上所有设备的leakage之和)拉低SDA,有时将SCL拉低。 总线上的高电平保持还应足够弱,以使具有最小IOL驱动器的从器件(参见表54)能够在最小tDIG_L周期内将SDA,SCL或两者均拉低。

若主机在总线上提供高电平保持,还要提供一种方法禁用高电平保持。禁用主机提供的高电平保持的原因包括:对于当前系统leakage来说,高电平保持的强度不够等。

可以使用单个通用上拉设备来实现主机提供的高电平保持,该设备能够同时支持有源漏极开路类上拉功能和弱电平的高电平保持器上拉功能。

无论是实现为单个组合上拉,还是实现为两个单独的上拉,主站均应根据总线状态根据需要在三个上拉状态之间分别独立地切换SCL和SDA:

1.无上拉(高阻态)

2.高管上拉

3.开漏上拉

总线应在SDA和SCL上具有高电平保持器。若主机不能提供充足的高电平保持器,则需要系统设计者从外部进行处理。主机不能提供充足的高电平保持器的原因包括:主机不支持高电平保持器,高电平保持器不满足需求或者总线过长等。

SCL和SDA上的系统高电平保持器可以实现为连接到VDD的一个或多个无源电阻,或者它们可以是有源的总线保持器设备,当相应的线被拉至某个阈值以下时,它们会关闭。SCL和SDA上的系统高电平保持器的大小应在系统leakage和I3C设备能够在tDIG_L周期内将相应的线拉低的要求之间进行平衡。

注意:

在SDA碰巧已经为高(即即将进入SCL下降沿)的开漏模式下,主机可以选择不使用开漏上拉电路。 在这种情况下,如果从设备将SDA驱动为低电平,则主设备可以选择仅依靠高电平保持器,以使用较少的功率。

二. Bus Free Conditon

总线空闲状态定义为在STOP之后到START之前发生的时间段,其持续时间如下:

•对于纯总线:持续时间至少为tCAS(请参见表58)

•对于混合总线(即,I3C总线上至少存在一个旧式I2C设备):持续时间至少为tBUF(请参见表57)

三. Bus Available Condition

总线可用状况定义为持续保持总线空闲状况至少tAVAL的时间(请参见表58)。 从机只能在总线可用状态后发出启动请求(例如,带内中断或主切换请求)。

四. Bus Idle Condition

定义I3C总线空闲条件是为了帮助确保热连接事件期间的总线稳定性。 总线空闲状态定义为一段持续时间,在此期间内,总线可用状态(请参阅第5.1.3.3节)持续持续至少tIDLE的时间(请参见表58)。

注意:

如果热连接设备与主设备同时加电到I3C总线上,则在以下情况下,热连接设备可能在1毫秒后将SDA拉低:(1)主设备上拉SCL和SDA,并且 (2)主机在相同的空闲时间内没有作用于I3C总线。

五. Activity States

I3C提供了一种机制,使主机可以将I3C总线上预期的即将发生的活动级别通知从机,以帮助从站更好地管理其内部状态。 定义了从0到3的四个活动状态级别(请参见表12)。

I3C协议Single Data Rate(SDR)模式:总线条件Bus Conditons

活动状态编号用作从机的提示,指示主机将总线活动引导到该从机之前需要多长时间,以及响应从机将SDA拉低(例如,对于START请求到SDA的响应)可能期望的延迟。然后生成带内中断请求或主切换请求)。

主机使用CCC命令ENTAS0,ENTAS1,ENTAS2和ENTAS3(请参阅第5.1.9.3.2节)将四个预期的总线活动状态传达给从机。每个ENTASx CCC都具有广播版本和定向(按从属)版本。主机可以通过发出适当的ENTSAx CCC命令,以任何方式在任何时间切换到不同的活动状态。

从机可以使用接收到的活动状态提示来调整内部设置,例如节电,FIFO触发级别,时间戳计数器和时钟速率以及其他合适的操作参数。但是,不需要从机来支持活动状态CCC(ENTASx),甚至可以完全忽略。

活动状态机制是主机与从机之间达成普遍协议的基础,即,从机可能会比一般时间因素更早地拒绝发生任何访问。 例如:如果主机发送ENTAS2 CCC,这意味着主机不太可能在发送CCC之后的2 ms之前发起请求,那么仅在1 ms之后到达的请求可能会导致NACK(尽管如果在50us之后重复请求,即从机重新唤醒后,请求将被确认)。结果,从机将在任何总线活动或与7’h7E及其自己的动态地址匹配时唤醒。

活动状态CCC同时还调整I3C总线时序参数tCAS的最大值(START之后的时钟;请参见表58),主机响应从设备将SDA拉低而产生SCL时钟(驱动SCL为低电平)所花费的最长时间。注意,tCAS只是最坏的情况;它并不表示主机是否会应答带内中断请求或主机请求。此外,选定的活动状态并不一定指示主机响应于带内中断从从机读取附加数据的时间;那是主机从机之间的私有联系。不支持ENTASn CCC的从机的tCAS最大值为50毫秒(ENTAS3值)。

活动状态无需替代更精确的电源模式,也不替代任何其他可能由主机从机的私有联系支持的机制。例如,如果从机具有设备电源模式设置,则主机应使用该机制将从机置于所需状态。同样,从机可以提供FIFO触发级别设置,与主机响应带内中断请求而必须读取FIFO内容的时间有关;如果是这样,则主机应使用该设置来匹配其内部延迟。

本文地址:https://blog.csdn.net/yinuoheqian123/article/details/107919255

相关标签: I3C 总线