JESD204B_SystemC_module Deterministic Latency(5)

来源:互联网 发布:python hdfs 容量 编辑:程序博客网 时间:2024/06/12 18:34

1      Deterministic Latency

很多JESD204的系统包含多种多样的数据处理单元,并且他们处于不同的时钟域中,所以将导致无法确定的延迟。这些延迟将在链路层上电、断电、复位时产生随机的延迟。JESD204A没有提供处理接口延迟的方法,而在JESD204B中提供了两种机制(Subclass 1、Subclass 2)去解决延迟不定的问题。

数据链延迟定义为:并行的数据帧放到TX device 到并行的数据帧从RX device输出的时间差,这个时间差由frame clock 计算。延迟以frame clock为单位,并且越小越好,同时必须在系统上电、断电以及重新同步时,提供辅助的时间信息来满足输入的要求。

确定的数据链路延迟需要2个要求:

1.             在TX device,ILA(initial lane alignment)必须保持所有的lanes同时启动,启动的时间为SYNC上升沿后的LMFC的第一个边沿或者是设定好的LMFC周期。

2.             在RXdevice,输入的数据必须缓存以消除TX SERDES lanes、物理通道、RX SREDES lanes带来的延迟。  数据在LMFC的边沿可以进行释放。

TX device的发送和和RX device 缓存的释放都会与LMFC对齐,因此固定的数据延迟决定于发送端与接收端LMCF的对齐程度。

为了更好的实现固定延迟的协议,需要注意以下两点:

1、  LFMC的周期必须大于数据链路的延迟。

2、  RX device的缓存区的缓存数据的时间必须大于数据链路的延迟。

3、  缓存区的大小在1到K之间。

以上3点是为了保证在RX缓存区释放数据时,所有的数据的发送数据都已经到达RX device。

     最终的数据链的延迟将等于缓存区的大小*Tf。

1.1   EXAMPLE Implementation of deterministiclatency in RX devices

要保证JESD204B数据链路的固定延迟,要求RXdevice在LFMC边沿到来之前可以缓存所有lanes上的ILA或者数据,但是释放缓存区的数据必须保证以下几个要求:

所有的lines上的数据必须有效,

如果RX buffers收到ILA序列,则认为数据的是有效的。

       如果RX buffer没有收到ILA序列,RX buffer将在ILA序列发完后从新存储数据,并且buffer会在4个multiframe clock释放,因为一个ILA(启动序列)的长读为4。

数据链路层的的延迟可以表示为:Delay_link = △T_LMFC = TX_delay + Lane_delay + RX_delay.

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

Subclass 0 是为了向JESD204A兼容,所有没有固定延迟的功能。

1.3   Deterministic Latency Using SYSREF (DeviceSubclass 1)

在Subclass 1中,TX与RXdevice的通过用device clock抓取SYSREF信号的上升沿对齐LMFC,所以高精度的SYSREF和device clock将可以使系统延迟的最小化,建议用TX或者RX的device clock生成SYSREF信号(不是必须的)!

由于SYSREF信号的模式多样(periodic,one-shot(strobe-type,”gapped”periodic)),所以时钟生成器也许无法生成所有类型的SYSREF。同时为了适应系统,SYSREF可以关掉在正常的模式下,Subclss I必须满足以下要求:

Ø  RX Logic Devices必须有能力发出生成SYSREF信号的请求,时钟生成模块在接收到请求后,可以生成一个或者多个SYSREF脉冲给所有系统中的devices。如果使能,“generate SYSREF”请求信号可以在链路层发出重新同步的请求后的任何时间发出。

Ø  TX Logic Devices必须有能力发出生成SYSREF信号的请求,时钟生成模块在接收到请求后,可以生成一个或者多个SYSREF脉冲给所有系统中的devices。如果使能,“generate SYSREF”请求信号可以在链路层发出重新同步的请求后的任何时间发出。

Ø  TX和RXdevices必须有能力决定是否在下一个SYSREF的上升沿来临时进行frame&multiframe clock的对齐,具体的实现决定于device,但是要满足下列3个要求:

l  每一个被device捕获SYSREF脉冲都必须用于是否判断是否需要进行LMFC和frameclock的对齐。

l  Device可以通过来自引脚或者控制接口的命令决定在下一个SYSREF的脉冲是否要进行LMFC和Local frame clock的对齐。

l  Device可以通过来自引脚或者控制接口的命令去忽略以后所有的SYSREF脉冲信号。

NOTE:

Ø    对于Subclass 1devices,LMFC和Frame Clock的对齐于SYSREF只在device启动、链路传输失败、请求重新同步这3种情况下才是必须的,(也就是说在正常的数据传送情况下,LMFC和Frame Clock与SYSREF对齐一次就可以了)。

Ø    TX&RX devices必须给出device clock抓取SYSREF时,device clock的上升沿到LMFC上升沿的延迟。

1.4   EXAMPLE LMFC adjustment for deterministiclatency equal to multiframe period

延迟为一个multiframe的情况下,fifo的深度必须为K,同时要求fifo在multiframe clock的时钟边沿释放。


图32:TimingDiagram Illustration for deterministic latency equal to multiple of multiframeperiod

在图32中,TX和RXdevices有相同的抓取SYSREF信号的deviceclock上升沿与LMFC上升沿的延迟。保证了LMFC在TX和RX的一致。

   当RX device的所有lanes收到了code group synchronize信号时,RX device将在在LMFC的上升沿 将SYNC拉高,TX device收到SYNC拉高的信号后将在所有的lines发送ILA序列。RX device接收到ILA序列并存储在并行的lane的缓存中,并且在下一个SYSREF的上升沿释放所有lane的缓存。这样保证了TX到RX的数据延迟刚好一个LMFC的时钟周期。

1.5   EXAMPLE LMFC adjustment for minimizingdeterministic latency

为了获得最小的延迟或者减小缓存的空间,可以采用下面模式,其中RBD的值将小于K。


图33:TimingDiagram Illustration for achieving minimum deterministic latency

在上述的模式中,数据缓存的释放在所有的lane接收完成后的两character后,保证了TX和RX之间的最小延迟。

1.6   Deterministic Latency Using SYNC~Detection (Device Subclass 2)

固定延迟在Subclass 2中的实现同样依靠对齐TX和RX的LMFC实现,但是LMFC的对齐的方式是并没有通过附加的SYSREF信号。在5.1和5.3中对LMFC对齐的描述除了不用SYSREF信号,其他的都是一致的。在Subclas 2中,SYNC信号将替代SYSREF信号,用来同步TX和RX的LMFC,因此TX同步SYNC信号的精度也直接决定LMFC的同步精度。在明确TX和RX的LMFC相位不同步的情况下,LMFC的同步必须通过以下两种方式:

a、  对齐TX converter device 到RX logic device

b、  对齐RX converter device 到 TX logic device

Subclass 2 固定延迟的精确性决定于SYNC信号在接口上的精确的发送与采样时序。在TX和RX链路层的结束部分,devices会分别介绍许多关于SYNC接口的SYNC信号发送和采样的延迟,延迟的范围的控制将可以大大系统的最高速度,图38展示了各种系统中的延迟以及他们对时序余量的影响。图中TX的device clock = frame clock,并展示内部时钟采样SNYC的时序。如图,可以看出,SYNC通过device clock 发送和采样的PVT(随温度和环境变化的时序的变化)要小于通过内部的时钟。速度最大化的目的就是让PVT为0。


图34:PVTeffects on SYNC~ detection and generation

1.6.1    Principles of SYNC~ sampling

下面介绍的概念对于理解Subclass2有重要的意义。

1.6.2    SYNC~ generation at the RX device

SYNC信号由RX的内部的framce clock生成,并与LMFC对齐。TX通过SYNC信号同步RX的LMFC信号。一般情况下,SYNC由framce clock直接生成,同时SYNC也会与devcie clock对齐。



1.6.3     Adjustmentresolution and adjustment clock

在converterdevices中,LMFC相位通过adjustment resolution调整,adjustment resolution定义为LMFC最小精度的相位调整,他由device中的最高频率决定,他可以比converter deivce clock精度更高。以下是adjustmentclock的特性:

l  Adjiustmentclock的周期与adjustment resolution的最小精度相同,并且可以通过编程调整。

l  Converter local frame clock 和LMFC与adjustmentclock的上升沿对齐

l  Adjustment clock的相位与device clock对齐,以便于与时序的测量。

如果adjustmentresolution 的精度高于converter device clock和frame clock,converter需要通过deviceclock生成一个高速的adjustment clock。图39展示了adjustmentclock两种可能的时序:

1、 converter device clock快于logic device clock,adjustment resolution通过converter device clock实现。

2、 当converter device clock 慢于 logic device clock,adjustment resolution 由logic device clock 决定。

NOTE:只有当adjustment resolution 的精度高于convert device clock时,converter LMFC 不必与device clock对齐。

图34:Relationshipsbetween device clocks and adjustment clock, (a) converter device clock fasterthan logic device clock, (b) logic device clock faster than converter deviceclock

1.6.4    Detection resolution at the TX device

在TX端,SYNC同步与RX的LMFC, SYNC的同步的精度与采样的频率的最小周期相同,采样频率的周期应小于TX local frame clock。延迟的精度应该是采样的精度应该高于或者等于内部调节的精度。这使得在TX中,采样的频率越高越好。

1.6.5    SYNC~ de-assertion detection and thedetection interval

RX和TX的device clock不会总对齐与frame clock,SYNC的采样必须用TX的local frameclock。这样就可能导致调整的精度小于采样的精度,由于这个原因,这里会多个采样点在一个调整步骤里。在这种情况下,采样可以分成一个区间,该区间的大小与与调整的精度一样,这个区间可以让TX在采样时的精度与调整的精度保持一致。这个区间有以下的特性:

l  采样区间只有在采样精度大于调整精度

采样区间要等于调整精度

图35展示了采样区间是怎样作用在一个DAC的链路层的,在这个例子中,Logic device 的采样SYNC的时钟为frame clock。区间1中表示有效的点。?????????



 

图35:Relationshipof detection interval to system signals (DAC link)

 

1.6.6    Master and slave configurations

Subclass 2包含了一对主从的配置在两个device之间。在多个converter情况下,logic device 是唯一可以共用LMFC信号的,因此,LMFC信号是主设备的给所有从设备的参考,具体的配置如下:

1.6.7    ADC Master and slave configuration

在subclass2ADCdevice中,SYNC的同步精度取决于的ADC的采样精度,如果ADC的LMFC的调整精度要高于frame clock的精度,那么ADC会在同步后复位frameclock 和LMFC的相位,但是如果调整的精度小于framce clock 的精度,那么调整的时钟会对齐与framce clock且framce clock不需要复位。Local framce clock 和 LMFC的复位必须在一个确定的延迟,延迟的时间手册给出,ADC可以编程SYNC是单脉冲还是周期信号。

例1:同步请求

在这模式下,ADC会采样RX发送的SYNC信号,在groupsynchronization后,RX logic 会拉高 SYNC,ADC会复位LMFC和frame clock 以同步SYNC,ADC会继续发送K28.5在LMFC和framce时钟建立以后,并在下一个LMFC的边沿发送ILA序列。

如图41所示:


图36:ADC reset as a resultof SYNC~ de-assertion detection

例2:

SYNC拉高可以用来同步,但是也可以用来报错,所有的操作认为是一致的,在ADC第一次看到SYNC拉高,如同例1一样复位LMFC,随后的SYNC的上升沿可以用于复位或者监测链路层的延迟。如果被要求固定的复位时,对于SYNC的采样要考虑亚稳态的问题,后续的SYNC可以验证当前的LMFC是否与对齐。如果发现未对齐,则可认为该LMFC失锁。每一个SYNC的拉高会导致所有行为的复位,这就像系统一直工作在SYNC脉冲模式。后续的SYNC可以监测TX和RX的LMFC是否对齐,而检测的方法可以简单的检测每个SYNC的边沿与LMFC的边沿是否对齐,如果不齐,则认为失锁,当detection resolution的精度高于时钟SYNC接口同步的时间要求时(????),一个可编程的窗口可以用来进行比较,最终,如果失锁,ADC可以等待下一个SYNC进行下次的同步,也可以通过数据接口强行要求从新同步。

0 0
原创粉丝点击