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:JESD204可以和#39;t 正常建立

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1273579/adc12dj5200rf-jesd204-can-t-established-normally

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

您好!

我正在使用 adc12dj5200、时钟频率是从 lmx2594生成的5000MHz、频率 sysref 是从 lmk04832生成的31.25MHz。此外、lmx25x64的 oscin 也来自 lmx04832。我将寄存器配置到此设备后、我读回寄存器0x028、它回读08.5b、并且不会传输下面的 jkes28.5列表。 我的寄存器配置。

24'h0000_B0;//rst ADC

sleep (1);//延迟1ms

24'h002b_15;

24'h0002_00;

24'h02c2_00;//。 清除 ALARM_MASK 寄存器
24'h0200_00;//。 JESD_EN=0

24'h0061_00;//。 CAL_EN=0

24'h0201_01;//jmode = 1

24'h0202_03;//KM1=K-1

24'h0213_07;//启用超量程,将超量程抑制设置为最大周期8*2^7 = 1024个样本

24'h0060_01;//。 输入多路复用器,选择 INA
24'h0204_00;//使用 SYNCSE 输入、偏移二进制数据、禁用扰频器

24'h0029_20;
24'h0029_60;
24'h0029_7e;//.Program SYSREF_RECV_EN=1、SYSREF_PROC_EN=1、SYSREF_ZOG=1且 SYSREF_SEL=0
24'h0061_01;//设置 CAL_EN (始终在 JESD_EN 之前)

24'h0200_01;//设置 JESD_EN (始终位于 CAL_EN 之后)
24'h006C_00;//将 CAL_SOFT_TRIG 设置为低电平以复位校准状态机

24'h02c1_00;//。 清除警报寄存器
24'h006C_01;//将 CAL_SOFT_TRIG 设置为高电平以启用校准

和 jesd204通道数据、如下所示。

能不能给我一些解决这个问题的建议,非常感谢!

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

    您好!

    您使用的是 ADC12DJ5200RF EVM 还是在定制设置中使用该 EVM? 您是否还能确认您发送到 FPGA 的 FPGA 参考时钟频率。

    谢谢。

    埃里克·克莱克纳

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

    您好!

    我在自己的电路板上使用 adc12dj5200rf、FPGA 参考时钟是来自 lmk04832的250MHz。

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

    您好!

    我发现它是由我的不稳定的采样时钟引起的、而且同步信号已经成功发出。但是另一个问题是我回读寄存器0x208、它指示0x64。如果配置正确、它应该是0x6c、对吧?

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

    您好,Xiaxin:

    这是正确的。JESD_STATUS 寄存器(0x208)应返回0x6c。 将正确设置 LinkUp、SYNC_STATUS 和 PLL_Locked 位、这一切正常。 您看到的问题是未设置对齐位和重新对齐位。 为了解决这个问题、请尝试在启用 sysref_receiver 前启用 sysref_processing。 您需要将这一行代码分解成多个步骤。

    "24'h0029_7e;//.Program SYSREF_RECV_EN=1、SYSREF_PROC_EN=1、SYSREF_ZOG=1和 SYSREF_SEL=0"

    然后、一旦两个位都被设置、您需要清除重新对齐位并检查它是否不再被设置。 您可以使用此伪代码来检查此功能。 需要小心的一点是、当您清除 重新对齐位时、其复位值为高电平、对齐位也是高电平、而我们不希望对其进行复位。 因此、如果您执行读取修改写入来重置重新对齐位、也会无意中 重置对齐位。

    功能根据 JESD 链路要求检查 SYSREF 频率是否正确
          首先它检查 重新对齐位。 应将其设置为"1"
          如果设置为"1"、它将清除该位并确保不会再次将其置位
          如果设置为"0"、它将退出、表明未找到重新对齐
          此函数假定已验证对齐标志
          循环100次:
            读取重新对齐
            如果设置为0、则再次读取、直到成功读取100次
            如果其曾经设置为1、则退出回路并打印该 sysref 频率和 JESD 链接要求
            不匹配

    如果您有任何其他问题、请告诉我。

    此致!

    埃里克· 克莱克纳

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

    您好、Kleckner:

    现在、我从0x208读回的值是0x7c、对齐位和 重新对齐位都已设置。

    我应该在哪里通过寄存器循环100次?在写入所有寄存器之后?

    是否有其他方法可以调试此问题?

    此致、

    夏新

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

    尊敬的 Xiaxin:

    设置对齐和对齐位是非常好的。 这意味着 LMFC 时钟阶段已经由参考频率建立。 这是在链路正常运行时应该发生的情况。 您接下来需要做的是复位重新对齐位。 如果向该位字段写入1、则需要检查该位是否不再设置为1。 这时可以循环几次并检查一下。 如果重新对齐位在复位后再次置位、这意味着 JESD 链路已断开、必须重新对齐。

    此致!

    埃里克

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

    您好、Kleckner:

    我尝试将重新对齐位写入1、并循环100次以读取 it.no、但得到0x6c。但 SYNC 信号太差、如下所示。

    您能告诉我如何解决它吗?

    此致、

    夏新

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

    您好,Xiaxin:

    能否检查 FPGA 上的 LMFS 是否与编程到 ADC 的内容匹配?设置 JMODE 后,可以使用链接检查所用 JMODE 的 LMFS,如第95页的表7-23所示。

    www.ti.com/.../adc12dj5200rf.pdf

    此致!

    埃里克·克莱克纳