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.

[参考译文] ADS54J42EVM:ADC 与放大器之间的 JESD204B 接口;Intel Arria 10 FPGA 开发套件

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/813735/ads54j42evm-jesd204b-interface-between-adc-intel-arria-10-fpga-development-kit

器件型号:ADS54J42EVM
主题中讨论的其他器件:ADS54J42ADS54J40TSW14J57EVM

尊敬的 TI 专家:

我一直在尝试将 ADS54J42 EVM 与 Intel Arria 10 FPGA 开发板连接。 我已通过 FMC 连接它们。 到目前为止、我没有成功。

更确切地说, 我的 FPGA 上的 JESD204B 模块配置为接收器,具有子类1、2500Mbps 数据速率、启用软 PC、62.5MHz 参考时钟、LMFS = 8224、K = 32、N = 14、N’= 16, 并启用扰频(尽管我认为这不应影响链路序列)。

我正在使用英特尔的信号分路器来捕获进入/来自接口的信号。 下面是一些屏幕截图:

RX_islockedtodata 从 JESD IF 输入到我的复位控制器。 它从某些值(屏幕截图中为0xEF)变为0xFF。 一段时间后、Rx_digitalreset (如果来自复位控制器、则为 JESD 输入)从0xFF 变为0x00、Rx_READY (如果来自复位控制器、则为 JESD 输入)从某个值(屏幕截图中为0xD2)变为0xFF。 我认为这是为了表明所有通道都已就绪。

此时、Rx_DATA_VALID 脉冲、然后中断信号 Rx_DATA_INT 会持续一段时间。 一旦它被取消置位、数字复位信号再次为0xFF、并且 Rx_islockedtodata 返回到某些非0xFF 值(屏幕截图中的0xFB)。

在我的仿真中、我希望在这个复位序列之后:

  • RX_Is_lockedtodata 0x00 -> 0xFF
  • RX_digitalreset 0xFF -> 0x00 & RX_READY 0x00 -> 0xFF

ADC_syncb_in 信号将被置为有效、后跟 DEV_lane 对齐。 之后、Rx_DATA_VALID 将使用来自串行数据引脚的有效数据进行置位。 中断信号未生效。

我已随附了针对 ADC EVM 板的此链路测试提供给我的 cfg 文件。 对于 LMK 的500MHz 外部时钟输入、说明如下:

1.启动 ADC54Jxx EVM GUI

2.确认 GUI 上的 USB 状态 LED 亮起

3.在“低级视图”选项卡中加载 LMK_Config_External_Clock.cfg

4.确认 D1和 D2 LED 不亮

5.按 SW1进行 ADC 复位

6.在“低级视图”选项卡中加载 ADS54J40_LMF_8224_K32.cfg

我被骗了、希望您能有深入的了解。 以下是我的一些问题:

1.在给定附加的配置文件的情况下、ADC 配置是否正确?

2.在给定附加的配置文件的情况下、LMK 时钟源配置是否正确? 器件时钟的预期时钟输出为62.5MHz、系统参考时钟的预期时钟输出为3.90625MHz、用于 J6 LMK_CLKIN 端口的外部500MHz 参考时钟输入。

3.由于我使用的是外部时钟源、我是否必须去除水份 SJP2中的分流器组件?

4.我是否应该使用 CLK_LAO_0信号? 目前、我在62.5MHz 器件时钟上使用 FPGA_JESD_CLK。 该信号作为 PLL_ref_clk 信号输入到 JESD 接口模块。 我的 rxlink_clk 也是62.5MHz 时钟、它是另一个 PLL 的输出、该 PLL 使用 FPGA_JESD_CLK 作为输出62.5MHz rxlink_clk (以及系统的一些其他时钟)的参考。

很抱歉这篇长文章、并提前感谢您的任何见解。

此致、

Abdul

e2e.ti.com/.../ADS54J40_5F00_LMF_5F00_8224_5F00_K32.cfge2e.ti.com/.../LMK_5F00_Config_5F00_External_5F00_Clock.cfg

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

    您好、Abdul、

    我们将查看您的问题、并会向您回复。

    此致、

    Neeraj

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

    Neeraj、您好!

    感谢您的回复。 我正在编辑我的帖子、以使其更加简洁。 我想我已经通过链接解决了这个问题。 这部分是 cfg 文件和用于生成 rxlink 时钟的 PLL 设置之一的问题。 现在、我能够在没有任何中断/错误断言的情况下连接 ADC 和 Arria 10 FPGA。

    我的最后一个问题是有关数据表中所述的框架组件。

    我每62.5MHz 时钟周期获得256位数据流。 我只是不确定我是否具有正确的样本顺序的数据。 下面是我实现的、Data0 - data7是连续的数据点。

    我是否正确完成了分配? 我是否正确地指出 data7是最早的样本、Data0是最新的(对于每个通道)?

    感谢您提供的任何见解。

    此致、

    Abdul

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

    阿卜杜勒

    您的 ADC 配置文件可以与我们的 TSW14J57EVM (Arria 10 FPGA)配合使用。 我建议您将 SYSREF 分频寄存器写入移动到文件的开头、因为这些新设置不会被 ADC 使用、因为您在进行分频之前禁用了进入 ADC 的 SYSREF。

    我对固件不是很熟悉、因此我无法回答您对映射的疑问。 不确定您对数据7到数据0的要求。 在数据表的表格中、每个通道仅显示4个样本。

    此外、如果您没有注意到、来自 ADC 的串行器/解串器通道不会将0映射为0、1映射为1、等等... 使用 FMC 连接器进行连接。 在映射 FPGA 内部的数据时、必须考虑这一点。

    此致、

    Jim

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

    您好、Jim、

    感谢您提供有关 SerDes 通道的提示。 最后、我意识到必须根据数据表中的样片顺序切换进入 JESD 接口 IP 模块的数据引脚。 我将其从中进行了更改

    {DB3、DB2、DB1、DB0、 DA3、 DA2、DA1、DA0}->{DB0、DB1、DB3、 DB2、 DA0、DA1、DA3、DA2}。

    这样、我就不必重新排列对应于每个数据点(Data0最早到数据7最新)的 RX_LINK_DATA 位(256位、128位/通道、32位/串行通道、N'= 16和 N = 14位/样本)。

    此外、如果将来它能帮助任何人、我会花一些时间调试链路、因为尽管一切看起来都正常、但仍会发出中断信号。 我最终发现、我必须将 PLL 补偿模式设置设置为 正常 、而不是 直接默认设置。 此 PLL 使用器件时钟作为参考来生成 JESD 接口 IP 模块所需的 rxlink_clk。

    再次感谢您的观看。 认为此问题已解决。

    此致、

    Abdul