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.

[参考译文] ADC08DJ3200:JESD204C IP - RX 时钟和 sysref 问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1313773/adc08dj3200-jesd204c-ip---rx-clock-and-sysref-issues

器件型号:ADC08DJ3200

大家好!

我们有一个项目希望将 ADC08DJ3200连接到 Kintex Ultrascale (Xilinx 的 KCU105)。 我已开始在仿真中使用 TI 的 JESD204C IP、并使用环回板了解它如何工作、然后再连接 ADC08DJ3200EVM、我遇到了问题。 我先从 IP 附带的示例设计开始、一切在仿真和电路板上都可以正常工作、但当我将 rx_sys_clock 从156.25更改为300MHz (我要使用的时钟频率)时、会有些事情发生、但它会停止工作。

如需参考、目前我使用的线路速率为12.5Gb/s (与外部设计相同)、但希望在所有扭矩消除后将其降低至8Gb/s。 我的编码是8B/10B、我的用户数据宽度是64。 我的 Jesd204参数是 Kintx Ultrascale SO GTH 收发器上的8位分辨率、8通道、参考时钟156.25MHz、F val 为1、K val 为32、作为 JMODE5配置的 ADC08DJ3200数据表。 正如我之前所说的、多路设计适用于硬件、因此我认为这不是问题。 我不需要确定性延迟。

首先要发生的是 rx_sys_clock 看起来会与 sysref 进行交互、但我不知道为什么会这样。 在数据表中、可以看到 sysref 是线速率和 JESD204属性的函数、但为什么要在 sysref 不是 rx_sys_clk 的倍数时去同步 lmfc? 我在这里遗漏了什么吗?

发生的另一件事是、当我的 rx_sys_clk 针对300MHz 并将数据置于模拟中时、正确的数据持续了十分之一 us、但之后、最后四个字节似乎是随机的。 如果我将 Rx_sys_clk 放至200MHz 而不是300MHz、似乎需要更长的时间才能开始读数橡胶。 数据表指出、对于64位接口、rx_sys_clk 应高于实际的线速率/80。 当我将 rx_sys_clk 恰好放置到该频率时、它将无问题地运行、但是当我增加该频率时、它将开始运行。 硬件和仿真中也会出现同样的现象。 我已经在仿真中截取了它的外观。 这里还有同样的道理、我在这里遗漏了什么东西吗? 我不明白它为什么不起作用

如果你有任何其他见解,我真的很感激。

此致、

Étienne

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

    尊敬的 Etienne:

    您提到您要更改 Rx_sys_clock。 请让我知道你在哪里做出这个改变。 在原始参考设计中、rx_sys_clock 和 tx_sys_clock 都源自 PLL (使用156.25MHz 的 sys_clk 作为输入)。 您是否在路径中的某个位置强制执行时钟?

    JESD IP 的 Rx 部分使用 rx_sys_clock 对 SYSREF 进行采样、因此如果需要确定性延迟、SYSREF 需要与时钟同步。 如果不是、您可以将 SYSREF 连接到"0"、链路仍将正常运行。  

    如果您在数据开始损坏之前看到 IP 的错误计数输出递增,请告诉我。

    此致、

    艾米特