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.

[参考译文] ADS54J60:两个 JESD204IP 在 ADC 之间偶尔有8个样片差异

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1495884/ads54j60-two-jesd204ips-have-occasional-8-sample-difference-between-adcs

部件号:ADS54J60

工具/软件:

我们并行使用两个 TI204C-IP JESD FPGA IP 从两个 ADC 接收同步数据、如下所示:

 

我们遵循以下建议(来自 TI204C-IP JESD FPGA IP 用户指南)实现两个 JESD IP 之间的同步:

 

  1. 仅在设置了两个 JESD IP 的"rx_all_lanes_locked"后、才将"rx_release_all_lanes"输入设置为"1"。
  2. 为多个 ADC 和多个 FPGA Rx IP 实现确定性延迟、即将裕度值为2-5个周期的"cfg_rx_buffer_release_delay"调优为在"rx_lmfc_to_buffer_release_delay"输出上检测到的最坏情况延迟数。
  3. 在 FPGA 输入端的 SYSREF 和 JESD IP 之间添加几个触发器;

 

在大多数情况下、当不同 ADC 之间的所有数据都发生最小的移位(1个样本或更少)时、我们可以获得良好的结果。 但有时、在下电上电后、我们会增加两个不同 ADC 的通道之间的相移、这始终是8个差分 ADC 样本。 这不会在单个 ADC 上的通道之间发生、仅在不同 ADC (例如通道1和3、或2和3)之间以及不同 JESD IP 之间发生。

 

您能否就导致此类行为的原因以及如何解决此类行为提供一些额外建议?

 

谢谢、

Ryan

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

    您好:

    如果任何人在使用 TI JESD204 IP 内核时有任何输入或遇到同样的问题、我们将不胜感激。 请告诉我们如何纠正此行为。

    谢谢、

    Ryan

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

    您好、Ryan、

    请告诉我 sys_clock 是如何生成的。 如果不这样做、则假设 SYSREF 由从 GBTREFCLK 时钟派生到两个 JESD IP 的时钟进行采样。  

    此致、
    阿米特

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

    您好、Ameet、

    感谢您的答复。

    SYSREF 由其中一个 JESD IP 内的收发器生成的 mgt_rx_usrclk2进行采样。 您能告诉我、这是否正确?

    此致、

    Ryan

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

    您好、Ryan、

    对不起,但我不能理解你的回答。 驱动 JESD IP 的 rx_sys_clock 的 mgt_rx_usrclk2是否是? 如果是这种情况、则同一 mgt_rx_usrclk2应该驱动两个 IP 的 rx_sys_clock。 两个 IP 的 mgt_rx_usrclk2输出可能是异相的、因为每个输出都是由一个独立的 PLL 生成的。

    SYSREF 的采样在 JESD IP 内处理、并在 rx_sys_clock 上完成至该 IP。

    此致、
    阿米特

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

    您好、Ameet、

    是的、正如您在我们的工程中所述、mgt_rx_usrclk2驱动 rx_sys_clock。 我们使用您提到的相同 mgt_rx_usrclk2来驱动两个 JESD IP rx_sys_clock。 mgt_rx_usrclk2来自我们的一个 JESD IP、不使用来自另一个 JESD IP 的 mgt_rx_usrclk2并保持断开状态。

    这种方法是否正确?

    谢谢、

    Ryan

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

    您好、Ryan、

    在任何需要某种形式确定性延迟的解决方案中、建议从驱动 rx_sys_clock 的时钟发生器那里有一个单独的时钟(不来自收发器 mgt_rx_usrclk2)。 因此、您的实现方案并不理想。 但是、如果主要目标是使样本在两个 ADC 之间对齐(而不是获得从 ADC 前端到 FPGA 中样本的确定性延迟)、那么这可能仍然有效。

    下电上电后、当您看到 IP 之间的8个样本差异时、如果您再次执行 rx_sync_reset 序列、这是否会得到纠正? 这意味着 MASTER_RESET_n 应保持为"1"。 此外、如果您要使链路再经历几个 rx_sync_reset 周期、相位是否偶尔会发生变化?

    此致、
    阿米特

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

    您好、Ameet、

    感谢您的答复。

    我们更新了 IP 的 rx_sys_clock 输入的时钟源。 现在、它来自单独的时钟引脚。 相移不时仍然存在(确切的8个样本)。

    我们已经过测试、如果在上电后没有看到相移、那么在 rx_sync_reset 后、我们也看不到相移。 即使我们执行多个 rx_sync_reset 序列也是如此。 信号在某些下电上电期间保持完美。

    但在不同的下电上电后、这种相位差异会再次出现(IP 之间有8个样本的差异)。 在这种情况下、即使我们多次(我们测试了大约20次)、rx_sync_reset 也没有任何帮助。  

    因此、如果上电后出现差异、那么尽管存在 rx_sync_reset 个周期、差异将始终存在。 只有下电上电才能改变变化。

    似乎改变 rx_sys_clk 的来源并驱动 rx_sync_reset  不  解决我们的问题。

    谢谢、

    Ryan

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

    您好、Ameet、

    您是否对导致此问题的原因有任何其他见解?

    谢谢、

    Ryan

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

    您好、Ryan、

    请在 FPGA 的 SYSREF 输入端添加一个两级同步器(然后将其馈送到 JESD IP)。 如我之前的回复之一所述、如果希望同步多个 JESD 链路、我不建议采用此时钟方案、但同步器可能会解决两个 IP 看到 SYSREF 之间的任何边界条件。

    此致、
    阿米特

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

    您好、Ameet、

    初步测试显示了您建议的修复(即两级同步器)修复了我们在两个 JESD IP 内核之间偶尔看到的8样本差异问题。

    谢谢、

    Ryan