I3C协议Single Data Rate(SDR)模式研读(二):总线通信Bus Communication-3

Use of Clock Speed to Prevent Legacy I2C Devices from Seeing I3C Traffic

在系统中,存在三种可能的I3C总线配置:

1.纯总线:总线上仅存在I3C设备。

2.混合快速总线:总线上同时存在I3C设备和旧版I2C设备,因此旧版I2C设备仅限于通常允许的设备(即,仅从设备,无从设备时钟延展) SCL上真正的I2C 50 ns尖峰滤波器。 (即,在所有温度和过程中,当“高”持续时间小于50 ns时,“不”将SCL线路视为“高”的I2C器件。)

3.混合的慢速/受限总线:总线上同时存在I3C设备和Legacy I2C设备,因此Legacy I2C设备仅限于通常允许的设备(即,只有Slave,没有Slave时钟延展),但是SCL上没有真正的I2C 50 ns尖峰滤波器。

总线设计人员对总线配置的选择会影响I3C SDR可用的速度选项,以及各种时钟速度下可以使用的HDR模式。表10显示了每种总线配置的可能选项。

Use of Duty Cycle to Achieve Lower Effective Speed in a Mixed Fast Bus

纯I3C总线可以简单地将时钟速度更改为允许速度范围内的任何频率。相比之下,想要比最慢的传统I2C器件时钟更快的混合快速总线需要利用Spike滤波器,即,必须确保SCL高电平周期比Spike滤波器短,以防止Legacy I2C器件受到干扰。查看SCL高电平周期(请参见表59中的tDIG_H_MIXED)。这样,旧版I2C设备“认为” SCL在整个期间都保持在“低”状态。

但是,混合快速总线I3C主机可以通过更改SCL的占空比来更改有效总线频率。 这样可以降低数据速率,例如,适应需要较低速率的从机(如GETMXDS CCC所定义)。 可能还需要使用带有较长的低电平周期的尖峰滤波器来容纳旧式I2C器件,以使其正常工作。

在此模型中,SCL的高电平周期不得超过tDIG_H_MIXED,因此应保持在I2C尖峰滤波器要求的50ns以下。 但是,低周期可以自由设置为I3C允许的时钟频率范围允许的任何长度。 例如,根据I3C主机的时钟生成能力,SCL低电平周期可以是高电平周期的倍数,或者可以是某些能够提供小于或等于tDIG_H_MIXED的高电平周期的更高频率时钟的任何倍数 ,但大于表57中定义的最小SCL高周期。

例1:SCL的高电平周期为40ns,加上低电平周期为280ns,产生的总时钟周期为320ns,对应于3.125MHz的频率。

例2:为了确保旧式I2C设备峰值滤波器继续将SCL跟踪为低电平,可以使用40ns的SCL高电平周期和80ns的低电平周期,产生120ns的总时钟周期,对应于8.3MHz。

时钟占空比的这种调整带来三个好处:

  •它仍然对旧版I2C设备隐藏,同时仍显着提高了SDR数据速率。

  •它确保更长的低电平时间,以便旧式I2C设备尖峰滤波器继续将SCL跟踪为低电平。

  •主机很容易生成,并且对I3C从机(仅对时钟沿做出反应)没有影响。

该模型之所以有效,是因为所有I3C从机都必须能够以12.5MHz作为时钟速率,因此较短的高电平周期不会对其产生影响。

请注意,这种占空比技术无法解决具有高线路电容的长总线的问题。 这是因为即使“低”周期足够长,短的“高”周期也可能不足以进行SDA传播。

Master Clock Stalling

在SDR模式下,I3C主机可以在SCL低电平期间使I3C总线停止运行,但只能在本节中所述的特定瞬态条件下进行。

由于以下两个原因之一,可能需要进行停止运行:

1.到特定从机或所有从机的消息的绝对或相对时序需要仔细控制。时钟停止为主机提供了精细的(fine-grained)数据时序控制。

2. I3C主机需要在内部同步数据。这可能是由于主机系统因响应数据,状态变化或在交易过程中需要时间而唤醒的缘故。

    请注意,停止运行会影响总线性能。例如,它将减少总线容量,并增加任何发出带内中断的设备的延迟。

    为了使总线停止运行,当总线处于以下四个条件之一时,I3C主器件应将SCL保持为低电平,每个条件在下面进行了详细说明:

1. I3C / I2C传输,ACK / NACK阶段

2.写入数据传输,奇偶校验位

3. I3C读传输,转换位

4.动态地址分配,分配地址的第一位

最大停止运行时间(SCL低电平时间)应为15 ms;注意,这是绝对最大值。主机应根据当前情况使用最短的失速持续时间,如表11所示。

在所有情况下,在将SCL保持为低电平期间之后,时钟的延续(即,在扩展的低电平期间之后的第一个SCL上升沿)应遵循I3C SDR(对于I3C SDR消息)或I2C(对于 I2C消息),包括上升时间,SCL上升之前SDA(如果有)的变化,下一位等。例如,I3C主设备可能选择在此停顿位之后用STOP来终止帧。 但在这种情况下,要求主控制器遵守STOP时序的要求。

  建议仅在必要和不可避免的情况下使用主时钟停止。 在所有其他情况下,主机应避免主机时钟停转,因为这会对总线性能产生负面影响。 为了帮助指导系统设计人员,I3C主设备数据手册应包括适当详细的SCL停止参数。

Dynamic Address Assignment, First Bit of Assigned Address

主机可以stall SCL

猜你喜欢

转载自blog.csdn.net/yinuoheqian123/article/details/107862125