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.

[参考译文] ADC12DJ5200RF:寄存器配置和来自接收器的同步不稳定。

Guru**** 2442090 points
Other Parts Discussed in Thread: ADC12DJ5200RF, LMX2594, LMK04832

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1248906/adc12dj5200rf-register-configuration-and-sync-from-the-receiver-is-not-stable

器件型号:ADC12DJ5200RF
主题中讨论的其他器件: LMX2594LMK04832

大家好、

我在设计中使用的是 ADC12DJ5200RF、它可 通过 JESD204B 协议与 Virtex Ultrascale+ FPGA xcvu13p 连接。

LMK04832用于  ADC 和 FPGA 的 LMX2594 oscin、FPGA REFCLK 和 Sysref。  

采样时钟由 LMX2594生成。

当我 选择 Jmode3时、 遇到了以下问题。

1.5GSPS   采样时钟和 10Gbps 通道速率:FPGA Rx 可以接收 K28.5、设置 SYNC 并重新接收有效数据、但这并不 稳定。 建立链路后、FPGA 的接收器始终会遇到极性错误和非8b10b 可用代码字错误、从而导致链路断开、断开频率非常高。

2.5Gsps  采样时钟和5Gbps 通道速率:   FPGA Rx 可以接收 K28.5、 断言 SYNC 并接收有效数据、建立链路后、FPGA 的接收器总是会遇到极性错误和不是8b10b 可用代码字错误、从而导致链路断开、断开频率低于 5GSPS 采样时钟。  在这种情况下,我进一步发现16个通道中有10个可以在2.5GSPS 采样时钟 的 FPGA 稳定接收,而5GSPS 模式无法稳定接收任何一个。

 

3. 2Gsps  采样时钟和4Gbps 通道速率:  FPGA Rx 可以接收 K28.5、 设置 SYNC 并重新接收有效数据。  值得注意的是、在这种情况下、JESD204B 连接是稳定的。

为了搞清楚链路不稳定是由采样时钟还是通道速率引起、我尝试了使用具有2.5GSPS 采样时钟和3.125Gbps 通道速率的 JMODE8和具有2.5GSPS 采样时钟和5Gbps 通道速率的 JMODE7、 但 FPGA RX 无法接收 K28.5。

我从寄存器中发现、在 JMODE7和8下、寄存器0x208 = 0x0、这意味着串行器 PLL 未锁定、此外、仅在 JMODE1和 JMODE3模式下、串行器 PLL 才锁定。

您是否遇到过这些问题? 您能为我提供解决方案吗? 如果您需要任何进一步的信息、请随时与我联系。

期待收到您的反馈。

谢谢。

梅拉奇

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是 ADC 的寄存器配置顺序。 我已确认0x0201和0x0202符合每种模式的规则。
    0x0000 0xB0 //执行软复位
    延迟(0.1) // 100mSec 延迟
    0x02B 0x15 // EN_VA11_NOISE_Suppr
    0x2A2 0x30 // EN_VD11_NOISE_Suppr
    0x0200 0x00 //清除 JESD_EN (始终位于 CAL_EN 之前)
    0x0061 0x00 //清除 CAL_EN (始终在 JESD_EN 之后)
    0x0201 0x03 //设置 JMODE3
    0x0202 0x03 //设置 KM1=3,因此 K=4
    0x0204 0x01 //使用 SYNCSE 输入、偏移二进制数据、启用扰频器
    0x0213 0x0F //启用超量程,将超量程保持设置为最大周期8*2^7 = 1024次采样
    0x0048 0x03 //将串行器预加重设置为3
    0x0360 0x10 //将增益修整设置为中间代码
    0x0361 0x10 //将增益修整设置为中间代码
    0x0362 0x10 //将增益修整设置为中间代码
    0x0363 0x10 //将增益修整设置为中间代码
    0x0364 0x10 //将增益修整设置为中间代码
    0x0365 0x10 //将增益修整设置为中间代码
    0x0366 0x10 //将增益修整设置为中间代码
    0x0367 0x10 //将增益修整设置为中间代码
    0x0061 0x01 //设置 CAL_EN (始终在 JESD_EN 之前)
    0x0200 0x01 //设置 JESD_EN (始终在 CAL_EN 之后)
    0x006C 0x00 //将 CAL_SOFT_TRIG 设置为低电平以复位校准状态机
    0x006C 0x01 //将 CAL_SOFT_TRIG 设置为高电平以启用校准

    谢谢。

    梅拉奇

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

    您好,Melky,

    这里可能有两个问题。  

    1.信号完整性问题。 您是否可以在 ADC 端尝试不同 的预加重值、方法是向寄存器地址0x48写入不同的值;在 FPGA 端使用均衡值、查看是否可以获得稳定的 JESD 链路。 您还可以将 ADC 置于 PRBS 模式、在 FPGA 端使用眼影查看每个通道的眼图、看看您是否有信号完整性问题?

    2.是否为 VD11电源轨安装了足够的去耦电容。 您应该尝试为所有 VD11焊球使用去耦电容器。  

    此致、

    内拉伊  

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

    尊敬的 Neeraj:

    我已经尝试用不同的值写入寄存器地址0x48、但链路不稳定的问题仍未解决。 如果我理解正确、您认为   串行器 PLL 未锁定的问题 与 VD11密切相关吗?

    此致、

    梅拉奇

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

    可以。 如果串行器 PLL 没有在 ADC 上获得稳定锁定。 这可能与 VD11上没有足够的去耦有关。  

    此致、

    内拉伊