JESD204B协议理解三:第6章 确定性延时

只包括了Subclass1的内容,没有Subclass2.

6 Deterministic Latency

6.1 Introduction

系统中各种信号的处理会引入不明确的延时,并且每次启动或重新初始化这个链路的延时还不一样。204B提供了接口确定性延时的这种机制(Subclass1,2).

 

链路上的确定性延时定义:TX设备基于并行帧时钟数据输入到RX设备基于并行帧时钟数据输出,使用帧时钟域进行测量。链路上延时以至少帧时钟为可编程时间单位,并且每次启动或重新初始化的情况下这个延时可以重复(保持一致);前提需要辅助定时信号在设备输入端符合要求的规格。

一个链路上确定性时延的实现需要2各方面:

1.TX设备,ILA生成必须在一个已经定义好的时间点(well-defined moment in time.)同时在所有通道启动(也就保证了用户数据同时跟在ILA后面)。

       已经定义好的时间点在TX设备端对ILA产生来说是在检测到SYNC~上升沿后的第一个LMFC边界,设备要在这个边界上产生ILA,也就要求可以对在第几个边界产生ILA进行编程(用户可编程),那就表明在ILA产生之前可以等待多余的时间

2.RX设备,每个通道上的输入数据必须进行缓存以缓解如下的偏斜:TX SERDES lane、物理通道、RX SERDES lane。所有通道上的缓存必须同时释放at a well-defined moment in time。

       已经定义好的时间点在RX设备端是在LMFC边界后的一个可编程的帧周期数目,这个数目被称为 RX Buffer Delay(RBD)。具体可看后面的例子。

       上述ILA产生和Rx缓存释放序列与TX和RX设备的LMFC有关。因此,实现具有最小不确定性的确定性延迟依赖于将TX和RX设备中的LMFC尽可能紧密地对齐。

 

为了实现确定性延迟协议的适当性能,系统实现者必须遵守以下要求:

       多帧的长度必须大于任何链路上可能存在的最大延迟;

       RBD x Tf(帧周期)的值必须大于任何链路的最大可能延迟;

       RBD的值,以帧周期表示,必须在1到K之间,K是多帧中帧的数目。

上述3项要求的目的是确保RBD足够大,以确保在释放Rx弹性缓冲区之前,Tx数据到达了所有通道的Rx缓冲区。

 

       通过JESD204B链接产生的延迟等于RBD x Tf,所以叫确定性延时。

 

RX设备中确定性延迟的示例实现:

       JESD204B链路的确定性延迟要求RX设备能够缓存所有通道上传入的ILA或用户数据,直到RX弹性缓冲区可以释放为止。缓冲区必须在LMFC边界之后RBD个帧周期后释放。为了释放弹性缓冲区,必须满足以下条件:

       所有活动通道的有效数据必须出现在Rx弹性缓冲区中:

如果ILA序列通过Rx弹性缓冲区传递,那么上面提到的“有效数据”将是ILA序列的开始。

如果ILA序列不通过Rx弹性缓冲区,上述“有效数据”将是ILA后出现的样本数据。这种情况下缓冲区释放的时间就会比上面的晚4个多帧的时间(subclass1中ILA序列长度是4个多帧)。

整个跨链路的延迟可以表示为: DelayLINK = ΔT_LMFC = TX delay + Lane Delay + RX delay

TX delay:并行的ILA产生到ILA出现在TX的串并转发器(SerDes)的输出口。

Lane Delay:跨越外部物理通道的延迟。

RX delay:从RX并串转发器(SerDes)输入到弹性缓冲区输出。ILA的开始或用户数据的开始时间等于LMFC边界+ RBD帧周期。

ΔT_LMFC:整个链路的总延迟,TX端链路写入ILA或用户数据时的LMFC上升边沿,到RX端LMFC + Tf * RBD边沿ILA或用户数据从弹性缓冲区输出的时间。

 

RX端弹性缓冲区的最小尺寸取决于最早到达的数据和缓冲区释放的机会(就是LMFC边界后RBD个帧时钟)。

6.2 No Support for Determisitic Latency (Device Subclass 0) (Informative)

Subclass 0在不支持确定性延时的情况下是为了兼容JESD204A的同时还利用JESD204B的优点,特性:

       不支持确定性时延;

       可选支持设备时钟输入而不需要帧时钟

       可选支持传输速度到12.5Gbps

       兼容204A的OIF-Sx5物理层

6.3 Deterministic Latency Using SYSREF (Device Subclass 1)

对于Subclass 1设备,在TX和RX设备中创建正确对齐的LMFC信号是使用指定为“SYSREF”的信号实现的,该信号必须分布到所有转换器和逻辑设备。

通过使用高精度的SYSREF / device时钟信号对,将系统中的延迟不确定性降至最低。虽然它不是强制性的,但建议SYSREF由生成TX和RX设备时钟的相同设备生成。

SYSREF信号的要求和本地时钟的适应能力已经在4.8和4.11中提供。

由于SYSREF信号类型多样性(periodic, one-shot (strobe-type), or “gapped” periodic)各种时钟生成器设备可能不支持SYSREF生成的所有选项,为了适应在正常操作期间SYSREF将被“关闭”的系统,需要对Subclass 1设备应用以下要求:

  1. RX和TX有能力发出一个“generate SYSREF”请求,使得时钟设备或者其他可以产生SYSREF的设备向所有设备产生一次或者多次SYSREF脉冲。有了这个功能后,当链接在SYNC~接口上发出重新同步请求后,应该可以发出这个“generate SYSREF”请求。
  2. RX和TX有能力决定在下一个检测到SYSREF脉冲的情况下,是否进行本地帧或多帧时钟的相位对齐。具体实现细节由实现者决定,但是有以下三个选择:

       1设备检测到每个SYSREF,决定LMFC和帧时钟的现有相位校准是否需要调整。

       2通过设备输入或者控制接口命令设备使用下一个检测到的SYSREF脉冲来强制      LMFC和本地帧相位校准

       3通过设备输入或者控制接口命令设备忽略将来所有的SYSREF

 

需要注意的是,对于Subclass 1设备,LMFC和帧时钟的相位重对准是基于SYSREF只在设备初始化或链接出现故障并请求重新同步请求时。

此外,Subclass 1设备必须符合以下与SYSREF定时相关的要求:

TX和RX设备应指定 从采样SYSREF的设备时钟边缘 到 LMFC上升边缘的功能延迟。

 

例子 :LMFC调整,确定性延迟等于一个多帧周期

对于需要确定性延迟等于完整多帧周期的应用,RBD应该设置最大值“K”。这迫使Rx弹性缓存器在多帧边界上释放。图36提供了说明此情况。

从SYSREF采样高电平到LMFC上升沿,TX和RX设备具有相同的设备时钟周期延迟。这使得在TX和RX设备中有相同的LMFCs。

JESD204B协议理解三:第6章 确定性延时

对图36的解释:当RX设备在所有通道上实现了代码组同步时,它将在任何后续的LMFC上升边缘取消SYNC~输出(拉高)。不久之后,TX设备采样到SYNC~信号已被拉高,并开始在随后的LMFC上升边缘传输ILA序列(图36中第一个可用LMFC上升边缘)。然后,RX设备将检测所有车道上ILA序列的开始,并将这些数据输入每个通道的弹性存储缓冲区。在下一个LMFC上升边缘,RX设备将检测到所有通道上存在有效的ILA数据,并释放所有弹性缓存区的数据。最终RX输出的数据在整个链路上的延时是一个固定的多帧周期。

 

例子:LMFC调整,以最小化确定性延迟

需要使得确定性时延小于K,下图:

JESD204B协议理解三:第6章 确定性延时

图37中,RBD<K,所以两个LMFC脉冲之间都有一个释放的机会,RBD=K时每个LMFC脉冲都是释放的机会。在检测到最后一个通道有了ILA序列之后2个字符的时间就释放了弹性缓冲区的数据。