JESD204B 协议解析(1)协议层和传输示例 - 教程

介绍

JESD204B是用于转换设备(data converters devices,也就是AD/DA)和逻辑设备(logic devices,也就是FPGA或ASIC)交互数据的串行接口。

协议有时会用converter、logic device而不是TX、RX做描述,因为converter、logic分别作TX、RX时会有细微差别。此外协议规定的场景中可能会有多个AD/DA,但只会有1个logic device。

(1)和JESD204A区别
JESD204、JESD204A、JESD204B框架行见下图,204B和204A区别在:
• 串行信息最高速率提升到12.5 Gbps。
• 参考时钟从frame_clk变为了device_clk。
• 针对确定性延时(deterministic delay)增加同步机制,JESD204B的Subclass1、2子类支撑同步,后面会有单独小节详细描述。确定性延时的意思就是每次上电都一样的延时,可能是因为走线或者片间差异,机制是以多帧LMFC为单位对齐延时,后面也会详细描述。

在这里插入图片描述

借由环境图,可以看到首先JESD204B是单向传输,每个link包含多个lane,每个lane是一对差分的p/n线。TX和RX需要同源的device clock,图中省去了RX给TX的SYNC信号。对于Subclass1,TX和RX还需要和device clock同步的SYSREF输入。除此之外,协议层面在片间就没有其他连线或时钟信号了。

协议层

JESD204B协议包含传输层、链路层和物理层,此外还可以加入加解扰层。传输层的能力是将各种AD/DA数据形式转换为8bit形式,链路层的功能是8b10b编码和建链,物理层的功能是实现Serdes的串并转换,对于RX还具备CDR电路用来恢复时钟。

在这里插入图片描述

传输层(Transport Layer)

要看有几个转换器和几个link。就是传输层的机制是将AD/DA采集的信息转换为8bit形式(octet)。包括1个转换器到1个link、多个转换器到1个link、1个转换器到多个link、多个转换器到多个link的情况,简单的说就

(1)传输层参数
基本参数,有L个lane,M个AD/DA通道,每次采S个点(>1即过采样),每个点量化为N bit。就是首先
• L :lane数量。
• M :converter的数量。
• S :每帧采样点数(后面会介绍帧概念)。
• N :转换分辨率(即AD采样位数)。

实际每次采样对应的位数是N’,协议要求单采样点大小为4 bit的整数倍,对于非整数倍的N必须补位,此外根据需求许可加控制位,例如指示采样溢出。
• N’:补位后的采样位数,N′=N+CS+T。
• CS: 可选控制位
• T:可选尾位

可以通过上述参数计算出来的。帧对应帧时钟(frame clock),帧时钟为内部(local)时钟,对外不可见。就是在上述参数的基础上,协议定义帧(frame)的概念,帧就是一次采样,要清晰帧的概念,后续会多次出现。1帧包含S个过采样点,M个通道。帧的字节数F
• F :每一帧的字节数(octets),F=(M×S×N′)/(8×L)。
• CF: 可选控制位,和CS相似不过是一帧补一次,上公式算没算上CF。

在帧的基础上,再定义多帧,将K个帧定义为一个多帧,多帧周期同样是内部时钟,称为LMFC(Local Multiple Frame Clock),LMFC定义也需要清晰,后续会多次出现。
•K :多帧情况下的帧数

各层关系可以参照下图,以多帧(蓝色)进行传输,每个多帧又涵盖帧(绿色),每个帧又包括octets(橘色)。

在这里插入图片描述

用来同步对齐的,即针对确定性延时,大家都按同源device clock产生的LMFC周期同时采用或生成数据,从而实现多个转换器的数据对齐,在确定性延时小节还会详细讲解。就是帧的概念比较好理解,可能会疑惑为什么采样都是连续的还要定义多帧,简单的说多帧

(2)空采样(Dummy samples)
通过转换器非有效时发送空采样数据,例如有多个转换器但部分没工作,协议其实对这种情况下发什么没有限定,协议建议能够发一些伪随机序列。

(3)测试模式(Test modes)
传输层支持测试序列,具体包含长测试码型(long transport layer test pattern)和短测试码型。普通的测试方法是在模拟侧转换器进行采样,接收数据后凭借频谱、信噪比等参数确认传输正常。而使用传输层的测试序列可以完全在数字区域,单独对lane间收发传输进行测试(后面链路层还有单独链路层测试的方法)。

短测试码型(short test pattern)以帧为周期循环,长测试码型(long test pattern)以帧为max(M·S+2, 4)向上舍入到多帧数为周期循环。协议要求逻辑设备必须支持测试码型,转换器设备可以选择支持长码型或短码型。

转换器的生产厂商确定测试序列的码型内容,例如AD,那就是AD发送固定测试码型,FPGA接收并判断和AD手册上写的固定测试码型是否相符;例如DA,那就是FPGA按DA手册要求发送固定测试码型,借助DA的寄存器指示接收比对是否正确。

链路层(Link layer)

链路层主导实现8b10b编码和码同步。

(1)8b10b编码
8b10b编码可以参见文章8b10b编码详解,简单易懂
然后按照从MSB到LSB进行传输,即先发10b中的bit “a”。

(2)码同步
JESD204B的同步流程如下图,具体步骤为:
• RX将SYNC拉低,发起同步请求。
• TX检测SYNC拉低后发送K28.5序列。
• RX收到连续多个K28.5序列后,将SYNC拉高,指示码同步搞定。
• TX检测SYNC拉高后发送ILA初始化序列
• TX然后开始传输数据

子类Subclass 0和Subclass 1、2的区别在,Subclass 0在检测到SYNC拉高后的第1个frame clock开始输出;Subclass 1、2在SYNC拉高后的第1个LMFC开始输出。

在这里插入图片描述

(3)波形示例
下面以Subclass 0传输波形为示例,上面是RX lane,下面是TX lane,许可看到传输步骤如下:
a)初始SYNC为低,所以TX开始发送K28.5序列。
b)RX的CDR电路依据序列恢复出lane时钟。
c)RX使能SYNC信号。
d)TX检测到SYNC后,开始发送ILA序列,序列长度为4个LMFC周期。由于是Subclass 0,起始相位和LMFC没有固定关系。
e)TX发送完ILAS后开始发送数据。

在这里插入图片描述

0xbc,依据8b10b编码规则,会按照RD-和RD+循环分别编码成0xfa和0x305,从差分线dp/dn上可以看到先发高位再发低位。就是步骤a)中,TX持续发送K28.5,也就

在这里插入图片描述

步骤e)中,示例N‘=16bit,数据为1、2、3,按照8bit拆分为0、1、0、2、0、3。0按RD+查表得到0x18b,RD符号不变,1按照RD+查表得到0x22b,RD符号不变,0又查到0x18b,2按RD+查表得到0x12b,以此类推。

在这里插入图片描述

最后是Subclass 1/2的波形示例,关注lmfc_clk信号,和Subclass0区别在传输均以LMFC周期为对齐。
在这里插入图片描述

(4)错误处理
协议要求设备必须支持一些错误类型:
• Disparity error :收到的10bit失衡,例如当前状态RD-,但收到了RD+列里的数。
• Not-in-table error:收到的10bit无效,不在8b10b编码表中。
• Unexpected control character:是有效的控制字符,但出现位置不对。
• Code group synchronization error:同步错误,状态机重新回到初始态。

要求可选支持错误类型:
• Frame realigned (previous conversion samples may be in error)
• Lane realigned (previous conversion samples may be in error)
• Uncorrectable frame alignment error
• Initial lane alignment failure
• Uncorrectable lane alignment error
• Link configuration data error (parameters in TX and RX do not match)
• Lane alignment sequence decoding error (wrong octets decoded)

对于错误的处理分为可以继续传输和得重新初始化(即SYNC拉低),协议中针对错误的处理方式基本都是建议。例如编码错误则用上一帧的数据,RD错误则以接收RD为准。对于重新初始化,RX应该将SYNC拉低至少5帧+9个字符的长度。

还有一种特殊情况,就是用SYNC指示错误但又不希望重新初始化。对于Subclass 1或Subclass 2,可以将SYNC拉低2帧指示错误,同时不能跨越LMFC边界。为了兼容JESD204A,还可以选择协助将SYNC拉低1帧指示错误。此外Subclass 2会使用SYNC信号进行同步,所以要注意以同步功能为优先。

(5)测试模式
链路层的测试模式就是所有帧、link和lane上发送预先定好的的8b10b编码,此时不能加扰。

协议要求TX设备应当有发送下列测试序列的能力:
• 连续的/D21.5/字符,高频码型,用于测试随机抖动(random jitter RJ)和接收测眼图。
• 连续的/K28.5/字符,混合频率码型,用于测试确定性抖动(deterministic jitter DJ)
• 连续发送ILA初始化对齐序列

要求至少包含1中下面2个码型
• 包含可变随机码型的连续序列(modified RPAT)
•包含扰动抖动的连续序列(JSPAT)

INCITS TR-35-2004中定义了12-octet modified RPAT码型,INCITS 450-2009中定义了50-octet JSPAT码型。除此之外,发送设备还可以拥护其他标准的链路层测试码型,例如低频的/K28.7/码型或伪随机序列(PRBS)。

物理层( Physical layer)

JESD204B的物理层摒弃了前代单一速率标准,划分了三个速度档位,分别适配 OIF 组织的三种电气接口规范,分别为:
• LV-OIF-SxI5 – based operation: from 312.5 Mbps to 3.125 Gbps (adapted from OIF SxI-5).
• LV-OIF-6G-SR – based operation: from 312.5 Mbps to 6.375 Gbps (adapted from CEI-6G-SR).
• LV-OIF-11G-SR – based operation: from 312.5 Mbps to 12.5 Gbps (adapted from CEI-11G-SR)

物理层采用 CML 电平完成高速信号传输,主要涵盖完成高度串并转换的Serdes模块,对于RX还包含CDR电路用来恢复时钟。。

在这里插入图片描述

posted on 2025-12-26 09:52  ljbguanli  阅读(0)  评论(0)    收藏  举报