JESD204B协议基础知识

 

目录

 

1.JESD204B优势

2. 关键变量

3.IP核应用

4.同步

4.1 代码组同步 

4.2 初始化多帧序列

4.3 数据传输


1.JESD204B优势

    JESD204是基于SERDES的串行接口标准,主要用于数模转换器和逻辑器件之间的数据传输,最早版本的是JESD204A,现在是JESD204B subclass0,subclass1,subclass2。区别主要在于对齐同步和链路间固定时差的测量。目前市场上比较多的数模转换器接口是JESD204B  subclass1。其最大传输速率可达12.5Gbps,支持多链路和多器件的同步以及固定时差的测量。

2. 关键变量

M converters/device , 转换器(AD/DA)数量

Llanes/device(link) 通道数量

Foctets/frame (per lane) 每帧的8位字节数

K:frames/multiframe 每个多帧的帧数

Nconverter resolution 转换器分辨率

N'total bits/sample 4的倍数,如果不够4的倍数,用控制和伪数据位来填充 N‘= N+控制和伪数据位。

Ssample/converter/frame cycle 每个转换器每帧发送的样本数。当S=1时,帧时钟=采样时钟

CScontrol bits / sample

CF:control words /frame cycle /device  

其中  F = (M x S x N’)/(8 x L) 

         K 的范围是 1-32,具体设置的值,根据对端AD芯片同等设计

          serial line rate = core clock * 40

3.IP核应用

1)

1: 标识是发送模块还是接受模块

2:LMFC buffer  size ,最小值为F * K。

3: 每条链路的通道个数

4:AXI4的时钟,这里的AXI 4 用来重配 内部参数。我看平时操作的时候也不用,平时也就界面上配置的东西就够用了,不用重配置或者额外配置其他参数

5:该选项可以选择sysref信号被core clk的上升沿或下降沿采样,用于jesd204b子类1的确定性延迟功能。一般来说,外界提供的core clock和sysref是同源且上升沿对齐信号,因此在FPGA端最好选择在时钟下降沿采样sysref比较精确,

6:用户决定IP核的core clk是否由glbclk(p/n)管脚输入。当refclk(p/n)频率不等于core clk时,必须外部输入core clk。这个例子中,由外部时钟芯片产生122.88MHZ的时钟给core clock,所以,这里不勾选

2) 共享逻辑选择

 

3) 

1:该选项用来配置LMFC计数器是否在每个SYSREF脉冲到来时都复位,或者只在SYSREF的第一个有效脉冲到来时复位,忽略以后的SYSREF信号。这里选择OFF即可。SYSREF 基本上都和device  clock同源,但是频率比device  clock低很多,这样才能保证被正常采样到。比如在我的设计中,device  clock = 122.88MHZ ,SYSREF CLOCK  = 0.6144mhz.

2:扰码,根据AD那边的配置来,有利有弊,需要权衡

3: 每帧包含的8bit个数,根据AD配置来。

4:一个多帧包含的帧个数,范围1-32。根据AD配置来。

5:该选项用来选择每次链路重新同步时是否需要sysref信号,我们最好关闭它,默认链路同步时不需要该信号,只在SYNC拉高后的下一个LMFC上升沿同步就可以了,这样就方便许多。

4)

1:这里根据芯片型号来,不用管

2:速度,线速度 = core clock * 40

3: 参考时钟 就等于core  clock ,也等于device clock 。

4: 这里根据设计要求,是用CPLL时钟还是QPLL时钟。

5:DRP clock  对于七系列器件,DRP clk和AXI4-Lite clock为同一时钟,这里也只能是122.88MHZ

4.同步

4.1 代码组同步 

CGS:代码组同步(code group sync)当发送端检测到SYNC 信号为低电平时启动发送8B10B中的K28.5码,本数据段不进行扰码和字节替换操作,接收端检测到最少4个K28.5后可释放SYNC信号。

注意:

1)  串行数据传输没有接口时钟,因此RX必须将其数位及字边界与TX串行输出对齐。RX向TX发送SYNC请求信号,让其通道发送一个已知的重复比特序列K28.5。RX将移动每个通道上的比特数据,直到找到4个连续的K28.5字符为止。此时,不仅将知道比特及字边界,而且实现了CGS。

2) RX 的SYNC输出必须与RX的帧时钟同步,同时要求TX的帧时钟与SYNC同步。

扩展:特殊字符 16 进制表示。K28.5 = 16'hBC

4.2 初始化多帧序列

ILA:初始化多帧序列(initial lane alignment)该阶段发送连续的4个初始化多帧(多帧是由K个帧组成,字节数为K*F),本段不进行扰码和字节替换。

1) 在JESD204B中,发送模块捕捉到SYNC信号的变换,在下一个本地多帧LMFC边界上启动ILAS。

2) ILAS主要对齐链路的所有通道,验证链路参数,以及确定帧和多帧边界在接收器的输入数据中的位置。

3) ILAS由4个多帧组成。其中,/K/=/K28.5/字符用于代码组同步;/R/=/K28.0/标志着初始化多帧的开始;/A/=/K28.3/字符标志着初始化多帧的结束;/Q/=/K28.4/字符用于指示接收端用户所配置的信息即将开始。

     每个多帧最后一个字符是多帧对齐字符/A,第一,三,四个多帧以/R字符开始,以/A字符结束。接收器以个通道的最后一个字符/A对齐接收器内各通道内各多帧的末尾。ILA 初始化多帧以K28.0开始以K28.3结束,其中第二个多帧的第二字节是K28.4关键字用来指示当前多帧在紧跟着K28.4的后续14个字节是参数配置信息。

4) 这些特定的控制字符只用于初始化通路对齐序列中,而不会在数据传输的任何其他阶段出现。CGS和ILAS阶段不加扰。

5) RX模块中的FIFIO吸收信道偏移。

 

4.3 数据传输

DATA:数据传输阶段(data transmission),该阶段进行数据传输,规范中要求该阶段的数据需要进行字节替换(扰码和不扰码的字节替换规则不同),用户可以根据需求确定是否需要对数据进行扰码操作。没有控制字符,获取链路全带宽。利用字符替换来监视数据同步,多帧计数器LMFC.

字节替换规则:

1)没有使能扰码情况下的字节替换规则

2)使能扰码情况下的字节替换规则

JESD204B规定的扰码、解扰码生成多项式

5. 时钟要求

下图是典型的JESD204B系统的系统连接,device clock 是器件工作的主时钟,一般在数模转换器里为其采样时钟或整数倍频的时钟,其协议本身的帧和多帧时钟也是基于Device clock。SYSREF是用于指示不同转换器或者逻辑device clock 的沿,如下图所示,device clock和SYSREF必须满足的时序关系。SYSREF的第一个上升沿要非常容易的被device clock 捕捉到。

SYSREF可以是周期信号,或者脉冲的周期信号,也可以是单脉冲信号。只有在器件请求同步时,才产生SYSREF信号,高电平有效。一般是通过DEVICE  CLOCK 的上升沿抓取,单也可以通过下降沿抓取。对于周期的SYSREF来说,其频率必须是LMFC的整数倍

SYSREF = LMFC *n(n为整数)。单脉冲模式,可以不按照LMFC整数倍计算

6. 完整的框架

 

从IP 核 的界面来看, 接收 jesd204 b的输入是GTX模块的输出,而不是AD芯片直接输出的差分对,所以,在204B接口前面,还需要添加GTX模块。GTX 模块的参数配置,和204b AD 芯片配套,相同配置即可。

接收 jesd204 b的输出是64bit的数据,这里是经过多bit组合的,具体差分方式 IP核中有说明,也可以直接参照AD 芯片的数据组合方式差分成最终数据

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章