This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS54J66EVM:JESD 同步、ADC 寄存器读回和复位问题。

Guru**** 2390735 points
Other Parts Discussed in Thread: ADS54J66EVM, LMK04828, ADS54J66, TSW14J57EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/902389/ads54j66evm-jesd-sync-adc-register-readback-and-reset-issue

器件型号:ADS54J66EVM
主题中讨论的其他器件: LMK04828ADS54J66TSW14J57EVM

设置- Xilinx ZCU102直接连接到 HPC1上的 ADS54J66EVM。 (未使用 TSW14J10转接卡)

ADS54JXX GUI 版本-  1.8

JESD 参数-

子类1、LMFS = 4421、K = 32、REFCLK = 156.3428MHz、RxCoreClk = 78.1714MHz、 线路速率= 3.1268Gbps、Sysref = 2.4428MHz

LMK04828参数-  

R = 14、N = 57、倍频器= 1、N 预分频器= 5、Sysref Div = 1024、OSC IN = 122.88MHz、VCO 0 = 2501.4857MHz

Sysref 源= Sysref 连续、DCLK0、1和 DCLK2、3分频器= 16、DCLK12分频器= 32

ADS54J66参数-

 DDC 模式= 8 (直接采样)、JESD 模式= 20x (对于4421)、采样时钟= 156.3428MHz

Xilinx JESD IP 参数-  

GTHE4、起始位置= X0Y8、静态线路速率= 3.1268Gbps、PLL 类型= CPLL (Tx 和 Rx)、主通道= 1、DRP clk = 50MHz、  

AXI4 clk = 100MHz、REFCLK = 156.34MHz、LMFC 缓冲区大小= 1024、Sysref 始终关闭、扰频关闭、F = 2、K = 32、 重新同步时所需的默认 SYSREF =不需要 SYSREF

 

问题1 - 无法在 ADC 和 FPGA 之间实现同步(Rx_SYNC 从不变为高电平)

在上述配置中、Rx_SYNC 信号始终为低电平、表示 CGS 未成功完成。 我已附上用于配置 LMK 和 ADC 寄存器的 cfg 文件。   
e2e.ti.com/.../5025.Kunjir_5F00_custom4421_5F00_mode8.cfg
"%20href="/cfs-file/__key/communityserver-discussions-components-files/73/Kunjir_5F00_custom4421_5F00_mode8.cfg" %20target="_blank">/cfs-file/__key/communityserver-discussions-components-files/73/Kunjir_5F00_custom4421_5F00_mode8.cfgtarget="_blank>

我理解编程流程应该是-
1.写入 LMK 寄存器
2.按下 EVM 板上的硬件复位按钮
写入 ADC 寄存器

由于我无法通过物理方式访问 EVM 板(远程工作)来按下硬件复位按钮、因此我在配置文件中添加了软件复位以模拟硬复位。 我按照 ADS54J66数据表 https://www.ti.com/lit/ds/sbas745a/sbas745a.pdf 第69和70页中给出的建议加电顺序说明 来修改配置文件。 我已写入的配置文件包含对 LMK 和 ADC 寄存器的写入。 它写入 LMK 寄存器、复位和清除 ADC 模拟和数字、写入 ADC 寄存器。

在 EVM GUI 中加载配置文件后、Rx_SYNC 保持低电平、并且我看不到 ADC 采样数据。 我怀疑 CGS 级没有完成、这就是 FPGA 没有 ADC 采样数据的原因。 请参阅随附的屏幕截图。

RX_SYNC 信号的 FPGA 引脚映射如下所示-  
RX_synctp - AE3 (FMC G12)
RX_alt_syncp - H31 (FMC T13)

ADC 数据信号的 FPGA 引脚映射如下所示-  
RXP_IN 0 - B33 (FMC A10)
RXP_IN 1 - C31 (FMC A6)
RXP_IN 2 - D33 (FMC A2)
RXP_IN 3 - E31 (FMC C6)

我是否缺少编程流程中的任何步骤? 或者是否有任何设置或寄存器我错过了?

问题2 - ADC 寄存器读回

执行"写入寄存器"操作后、ADC 寄存器的值是所需的。 但是、执行"读取寄存器"操作后、寄存器值为0x00。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Raj、

    我无法使用您的设置锁定 LMK PLL2。 您能否尝试使用以下命令来运行您的设置:

    ADC 采样率= 153.6MHz

    SYSREF = 3.2MHz

    FPGA 参考 clk = 307.2M (Altera 要求。 可能与 Xilinx 不同)

    4.2457.6MHz 时的 VCO、分频器 R =1、前置= 4、N = 5

    我已附上用于此设置的配置文件、该文件适用于我们的 TSW14J57EVM 采集卡。 在 PLL 模式下配置 LMK 后、必须使 PLL2_LMK LED 亮起。

    此致、

    Jim

    e2e.ti.com/.../ADS54J66_5F00_bypass_5F00_4421_5F00_K32.cfg

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jim、

    感谢您的快速响应。 我将尝试您提供的配置文件、并告诉您它是否正常工作。

    是否有方法可以在不实际访问电路板的情况下了解 PLL2_LMK LED 的状态? 我目前正在远程工作、因此没有访问权限。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Raj、

    我不知道。 查看数据表或将此问题发布到高速时钟论坛。 他们可能会为您提供答案。

    此致、

    Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jim、

    我已将 LMK04828配置为您建议的配置、PLL2_LOCK LED 变为绿色。 然后、我使用以下序列配置 ADS54J66 -  

    ADS54Jxx_analog
    0x00 0x81
    0x8020 0x00
    0x8021 0x00
    0x8022 0x00
    0x8026 0x00
    0x8053 0x80
    0x8055 0x00
    ADS54Jxx_digital
    0x6800f7 0x01 //数字顶部复位          SW1硬复位的软件替代方案  
    0x6800f7 0x00 //清除数字顶部复位
    0x680000 0x01 //重置数字页6800h
    0x680000 0x00 //清除数字页复位
    0x690000 0x80 //CTRL K
    0x690000 0x40 //JESD 模式使能
    0x690001 0x01 //JESD 模式20x
    0x690002 0x00
    0x690003 0x00
    0x690005 0x00
    0x690006 0x1F // K 32
    0x690007 0x08 //子类1
    0x690016 0x00
    0x6A0016 0x02 //PLL 模式40x
    0x614100 0x08 //模式8 该寄存器在 cfg 文件中为0x614000,但在数据表中为0x614100。 哪一个是正确的?
    0x614101 0x00
    ADS54Jxx_lowlevel
    0x4003 0x00
    0x4004 0x00

    RX_SYNC 信号不会变为高电平、并且没有 ADC 采样数据传入 FPGA。 我使用的配置顺序是否正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Raj、

    更改地址0x690000 0x80。

    此致、

    Jim  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答、Jim。 我将寄存器序列更改为-  

    ADS54Jxx_digital
    0x6800f7 0x01 //数字顶部复位
    0x680000 0x01 //重置数字页6800h
    0x680000 0x00 //清除数字页复位
    0x690000 0x80 //CTRL K
    0x690001 0x01 //JESD 模式20x
    0x690002 0x00
    0x690003 0x00
    0x690005 0x00
    0x690006 0x1F // K 32
    0x690007 0x08 //子类1
    0x690016 0x00
    0x6A0016 0x02 //PLL 模式40x
    0x614100 0x08 //模式8
    0x614101 0x00
    ADS54Jxx_lowlevel
    0x4003 0x00
    0x4004 0x00

    SYNC 信号仍然不会变为高电平。 我还可以执行哪些其他调试步骤? 目前、我正在对 ADS54J66进行编程并在 Vivado 中运行即时触发器、以查看 RX_SYNC 信号的变化。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Raj、

    我可以将您的寄存器设置与 FPGA 的245.76MHz 参考时钟配合使用。  您需要查看进入 FPGA 的数据、并验证是否在所有使用的通道上获得0xBCBC (K28.5字符)。 在您看到此数据之前、SYNC 不会变为高电平。

    此致、

    Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jim、

    感谢你的帮助。

    对于任何阅读此主题的人、如果他们有相同的问题-

    问题在于 FPGA 中的 JESD PHY 和 JESD RX 模块复位。 JESD 模块上的 AXI 状态寄存器指示"正在进行设置"、这意味着 JESD 模块未脱离复位状态(RESET_DONE 低电平)、并导致 CPLL 无法锁定。 一旦 CPLL 或 QPLL 获得 LOCK 且 RESET_DONE 信号变为高电平、JESD 模块将启动 CGS 级。 我通过将 RX_SYS_RESET 和 RX_RESET 置为有效并再次将其置为有效(0 -> 1 -> 0)来解决该问题。 这导致 RESET_DONE 变为高电平、CPLL 获取锁定。 之后、JESD 模块开始看到0xBCBC (K28.5)字符、并且 Rx_SYNC 升高。   

    LMK 上的 Sysref 源设置为 Sysref Continuous。 我将 sysref 断电至 ADC、从而触发 ILA 级。 FPGA 检测并完成 ILA、并开始接收有效的 ADC 采样数据。

    AXI JESD 调试状态寄存器(0x03C)读取'e'、指示'Lane has Code Group Sync'、'Start of ILA was detected'、'start of data was detected'。