JESD204B学习之关键点问答

时间:2024-03-24 15:54:42

JESD204B学习之关键点问答

  • 1.概述

本文是用于记录JESD204B学习中的关键点,以问答的形式陈诉便于理清思路。

  • 2.参考文档

        1.《pg066-jesd204》

        2.《ug476_7Series_GTX_GTH_Transceivers》

        3.《AD9680》

        4.《AD9144》

  • 3.JESD204B关键问题

  • 3.1 JESD204有多少个子类,怎么设置?

JESD204有3个子类:

  1. Subclass 0:主要用于JESD204A;
  2. Subclass 1:用于JESD204B,有确定性延时,带sysref与sync;
  3. Subclass 2:用于JESD204B,有确定性延时,值需要sync信号即可。

在IP核设置中,是通过AXI-LITE设置寄存器subclass mode,如下图。在AD或者DA芯片中是通过SPI等配置芯片的寄存器来设置。IP的设置与AD,DA芯片的设置需要一一对应。

JESD204B学习之关键点问答

JESD204B学习之关键点问答

 

  • 3.2 IP核设置中的F/K依据是什么?

F:每帧的8位个数;

K:每个多帧的帧数;

F与K的设置是需要根据AD或者DA芯片的寄存器设置相互对应的。比如下图中是AD9680的配置选项图。

JESD204B学习之关键点问答

 

  • 3.3 IP核设置中的参考时钟(reference clock),DRP时钟依据是什么?

Refclk:参考时钟是GT模块上的时钟,用于匹配线速率的,相当于核时钟。其值根据线速率来,为线速率的1/40;

Drp_clk:动态配置时钟,用于jesd204b phy的动态配置。其值为:200.0 for UltraScale,100.0 for 7 series。

 

 

  • 3.4 Sysref与sync的来源是什么?

Sysref:系统同步参考信号。分接收参考(rx_sysref),与发送参考(tx_sysref)。

Sync:同步信号。分接收同步(rx_sync),与发送同步(tx_sync)。

Rx_sysref与tx_sysref可以来自外部给的同步参考。当然若外部没有输入同步参考,只有一个模块,则这个信号可以自己产生。

Rx_sync:是由jesd204b的接收IP核产生,输出给AD芯片。

Tx_sync:是由DA芯片产生,输入给jesd204b的发送模块。

​​​​​​​

  • 3.5 所谓同步,是调节的什么?

  1.  同步指什么

同步:是指JESD204B的每根线的数据同步。即需要调整到每根线同时发送同一多帧中的同一帧的第一个数据。,在调节完成前,一直发送的是K码即逗号位。

 

 

       2. 调节同步的原理(以子类1为例):

在子类1中调节同步就是调节sysref信号,作用于AD或者DA的数据链路层。

SYNC信号是根据SYSREF信号来了后才会拉高的,如下图所示。

发射时,lanes信号的同步是指:在SYNC信号没有拉高之前会缓存到一个类似寄存器的缓存器中,且当SYNC拉高后根据缓存情况(所有线的多帧的第一个帧开头都缓存下来后),在确定性延时结束后且,在SYNC拉高后的第一个LMFC时一起发送数据(从多帧的一个帧的帧头开始往外发)。

接收时,lanes信号的同步是指:在SYNC信号没有拉高之前会缓存到一个类似寄存器的缓存器中,且当SYNC拉高后根据缓存情况(所有线的多帧的第一个帧开头都缓存下来后),在确定性延时时间满了后在LMFC时接收到第一个多帧的第一个帧的帧头开始算是有效数据。

JESD204B学习之关键点问答

 

 

    3. 调节同步的方法

根据前面两节可知,调节同步其实就是调节SYSREF的延时时间。

而SYSREF的延时时间是通过AXI4-LITE接口来配置寄存器来调节的。其寄存器情况如下图所示。

JESD204B学习之关键点问答

  

 

  • 3.6 Jesd204_rx模块怎么恢复数据?

Jesd204_rx模块的数据即AD发送过来的数据。因此RX模块恢复数据是将AD发送过来的数据恢复成AD的采样位数的数据即16位、14位、12位等情况。

使用JESD204B的IP例程时里面有一个传输层,是专门用于将每根线的数据分成数据位与控制位的。且这个例程中的设计是默认为14位的数据位与两位的控制位,且控制位取的每16位的高2位。

但是这个只是给大家的一个示例,而不是在设计时我们就能直接使用的数据。我们应该是根据自己选择的AD判断数据位是几位,控制位是几位,控制位是占的哪几位。这里以AD9680(14位双通道AD采集器)举例说明。

如下图所示,AD9680的数据发送组成格式是先14位数据再2位控制位,且数据位先发。根据8B/10B编码接收规则可知先发送的a0则先接收a0,即可以把8B/10B理解为成一个FIFO。则接收到的AD9680的数据组成格式也是每16位数据的高14位为数据位,低2位为控制位。

且JESD204B的线组成格式为1根线32位再接收另一根线的32位,而AD的I、Q路数据是相互交叉形式,即第0路为I,则第1路为Q。所以再恢复成AD的位数相对应的数据后,通过并转串的方式组成常规数据流时需要注意I、Q各自的数据是哪些线的。

JESD204B学习之关键点问答

JESD204B学习之关键点问答

  

 

  • 3.7 jesd204_tx模块怎么组合发送数据?

JESD204B_tx模块发送的数据是发送给DAC,让其输出想要的波形。

JESD204B_tx模块IP例程的传输链路层模块(jesd204_tx_transport_layer _mapper)中就是专门用于数据格式的组装,默认为14位数据位、2位控制位,且LANE1在前LANE0在后。但实际使用时需要根据选用的DAC做相应的调整。

这里以AD9144(4通道,16位DAC)为例,说下JESD204B发送数据时,JESD204B数据的组成格式。如下图所示,AD9144用四线两通道输出时的数据组成情况,LANE0发第一组的高8位,LANE1发第一组的低8位,LANE2发第二组的高8位,LANE3发第二组的低8位。

JESD204B学习之关键点问答

 

  • 3.8 定义Frame与multiframe有什么意义?

Frame是帧,由设置的F个8位数据组成,具体个数根据选择的ADC/DAC芯片设定。

Multiframe是多帧,有M个Frame组成,具体个数根据选择的ADC/DAC芯片设定。

设置Frame与Multiframe的意义在于数据对齐,在数据没对齐发送之前,JESD204B一直发送的数据是K码(逗号),在数据对齐后先发送的是R码(多帧的起始位)。如下图中JESD204B的符号定义。

JESD204B学习之关键点问答

 

  • 3.9 Sysref是周期的还是脉冲形式在哪里设置,有什么限制?

JESD204B使用子类1时,同步调试信号sysref主要通过AXI-Lite接口设置寄存器调整,也可在IP设置上也有默认设置选项。若在JESD204B的ip中设置了一种模式,在ADC或者DAC中也需要设置成相同的模式。如下图所示。

JESD204B学习之关键点问答

JESD204B学习之关键点问答

JESD204B学习之关键点问答

JESD204B学习之关键点问答

    至于sysref的设置限制:sysref的周期必须是多帧周期的整数倍,如下IP核手册的描述。

JESD204B学习之关键点问答

 

  • 3.10 JESD204B中的两种复位信号各有什么作用?

TX模块中的tx_reset是系统的复位,用于可以开始配置JESD204B的寄存器

TX模块中的tx_aresetn是JESD204B的寄存器配置完成后,用于指示可以开始发送有效数据。

RX模块中的rx_reset是系统的复位,用于可以开始配置JESD204B的寄存器

RX模块中的rx_aresetn是JESD204B的寄存器配置完成后,用于指示可以开始接收有效数据。

即:reset是用于系统复位,可以重新配置寄存器。

aresetn是JESD204B的数据复位,不能用于重新配置寄存器。