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.

[参考译文] ADC12DJ3200EVM:使用 JESD204B 并借助 ADC12DJ3200EVM 在 Intel Arria 10 SoC 上采集数据

Guru**** 2562550 points
Other Parts Discussed in Thread: ADC12DJ3200EVM, ADC12DJ3200, LMK04828

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/699682/adc12dj3200evm-data-acquisition-at-intel-arria-10-soc-with-adc12dj3200evm-using-jesd204b

器件型号:ADC12DJ3200EVM
主题中讨论的其他器件: ADC12DJ3200LMK04828

大家好、

提前感谢您阅读这篇长文章。 我已经尝试将 ADC12DJ3200EVM 与 Intel Arria 10 SoC (10AS066N3F40E2SG)连接超过两周;我在 Arria 10板上没有任何输出、我仍然无法确定问题的确切位置。 我有几个问题、如果有任何帮助、我将不胜感激。

为了将 EVM 与 Arria 10板连接、我首先使用 TI 提供的 Arria 10示例设计。 此设计适用于 TI 提供的具有单个 FMC+接口的不同 Arria 10电路板。 我们购买英特尔 Arria 10主板是因为我们需要在单个主板上安装两个同步 FMC 接口。 使用 FMC+和 FMC 连接器将 EVM 连接到 Intel Arria 10板会导致 EVM 16个通道中的6个通道无用;但是、两个 ADC 通道的前四个通道仍然完好无损、因此 EVM 可以使用 JMODE0和 JMODE2与 Intel Arria 10板连接。  

我按照用户指南(随附)测试连接:我编译了设计示例、对评估板进行了编程、并使用信号抽头逻辑分析仪分析了接收到的数据。 我在 ADC 的通道 A 馈送了一个250MHz 正弦信号。 我本来希望看到一些输出、但我没有看到任何内容。 为了使设计示例与这个 Arria 10电路板兼容、我已经适当地更改了收发器引脚的引脚分配。

  1. 我开始介绍设计示例代码(我已连接顶层模块)。 它在 JESD204B 传输层使用 L = 8 (8条通道)和 S = 20 (20个样本)。 ADC12DJ3200产品说明书(www.ti.com/.../adc12dj3200.pdf 、第64页)指定使用 L = 4和 S = 5 (JMODE0和 JMODE2)。 那么、您能否告诉一下设计示例使用的传输层规格是否受 ADC 对这些 JMODE 的支持?
  2. 在早期的 Quartus 项目中、我始终必须将相关硬件引脚分配给顶层模块的相应输入/输出。 然而、在 这个设计示例中、我看不到针对收发器引脚的任何硬件引脚分配(ADC 8个通道的输出只是定义为输入总线 Rx_serial_data)。 它应该从收发器引脚获取、对吧? 或者、我是否在这里遗漏了一些东西? (编辑:我发现引脚分配是在单独的.qPF 文件中进行的;所以这个问题得到了解决。)
  3. 最后、出于普遍怀疑、EVM 是否也适用于 Intel Arria 10电路板、或者它仅适用于 TI Arria 10电路板?

我还连接了英特尔 Arria 10主板的 Quartus 信号抽头逻辑分析器预期输出和实际输出。 我看到同步未建立(DEV_SYNC_n)、这就是我无法获得任何数据输出的原因。 本设计示例使用在 ADC 本身生成的时钟。 这是 Arria 10电路板无法建立同步的原因吗?

用户指南(Dropbox 链接):www.dropbox.com/.../Arria10 JESD Reference Design User Guide.pdf

设计示例顶层模块(Dropbox 链接、SystemVerilog 文件):www.dropbox.com/.../jesd204b_ed.sv

信号抽头输出:

预期输出(类似)

再次感谢您完成这个漫长的帖子。

此致、

Arvind

 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Arvind
    我将回顾您分享的问题和信息、并与为 Arria 10开发示例设计的团队进行讨论。
    我应该在星期一之前提供更多信息。
    此致、
    Jim B
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Arvind

    由于我的公司互联网安全策略、我无法访问您的链接下拉框文件。

    是否可以尝试使用回形针插入文件按钮将文件附加到下一个响应(单击"插入代码、附加文件等..."后、它将出现在响应输入框上方 访问更高级编辑工具的链接。

    如果您使用该方法遇到问题、请告诉我问题是什么。

    谢谢、此致、

    Jim B

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

    您好、Jim、

    感谢您的回复。 插入文件门户不支持 SystemVerilog 文件扩展名;因此我共享了文档的 Dropbox 链接。

    由于您无法访问 Dropbox 链接、我将上传扩展名为.txt 的顶部模块。 请在访问文件后将其扩展名更改为.SV。 您还可以从我共享的 TI 超链接提供的 Arria 10设计示例中下载完整的 Quartus 项目(为了方便您,我将再次共享该项目: www.ti.com/.../slac748)。 我也在上传用户指南。

    示例设计顶层模块:

    e2e.ti.com/.../jesd204b_5F00_ed.txt

    示例设计用户指南:

    e2e.ti.com/.../Arria10-JESD-Reference-Design-User-Guide.pdf

    此致、

    Arvind

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

    您好 Arvind

    我对您的设置有几个问题。

    什么 FS =? 您是否在 GUI 的 EVM 选项卡上选择了 MSPS 设置? 这实际上会设置 ADC 输入时钟频率、因此对于 JMODE0、采样率实际上是此处所示值的2倍。 对于 JMODE2、该值是正确的采样率。 对于 JMODE0和 JMODE2、串行通道速率将是该频率的4倍、因此如果选择3000、串行位速率为12Gbit/秒

    您能否确认用于 ADC EVM 的+5V 电源能够提供至少3A 的负载电流?

    初始上电后、ADC EVM 配置完毕后、电路板消耗的电流是多少?

    您能否共享您正在使用的 Arria 10电路板的原理图、以便我确认支持信号(FPGA CLK、SYSREF、单端~SYNC 均已连接正常?

    只要适当地连接和映射了必要的信号、ADC12DJxx00EVM 在大多数 Arria 10 FMC+或 FMC 载板上应该可以正常工作。

    此致、

    Jim B

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

    您好、Jim、

    在 GUI 上选择了具有 JMODE0的1000Msps 的 FS 值;因此、对于 ADC 的两个通道、JESD 协议使用前四个通道、这四个通道连接到 FMC 连接器的收发器引脚。 要采样的信号是100mVpp 250MHz 正弦信号。

    是的、电源盒可以提供所需的电流、我们为电路板提供了+5V 电压。 我们还在各种测试引脚(1.1V、1.9V 和3.3V)上测试了电压、电压符合要求。 EVM 在配置后消耗1.2A 的电流。

    请查找随附的 Arria 10 SOC 板原理图。 我们将 FMC A 用于 ADC EVM 连接。 e2e.ti.com/.../4024.a10_5F00_soc_5F00_devkit_5F00_03_5F00_31_5F00_2016.pdf

    此致、
    Arvind

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

    我已经查看了 Arria 10 SoC 原理图。 似乎所有需要的信号引脚都已根据需要连接。 您只需验证固件设计中是否连接了以下信号即可:
    ADC12DJ3200EVM 要求将 JESD204B ~SYNC 信号作为单端 CMOS 逻辑格式应用于 FMC 引脚 H31。 您的设计是否提供该信号?
    ADC EVM 将在引脚 D4/D5上输出 FPGA CLKA、并在引脚 G6/G7上输出 CLKB。 SYSREF 位于 G9/G10上。

    对于 JMODE0、ADC EVM 将在以下8个数据对上输出串行数据:
    DA0:DA3 -它们位于 A10/A11、C6/C7、A6/A7、A2/A3上
    DB0:DB3 -这些位于 B13/B12、A15/A14、B17/B16、A19/A18上-请注意、这4对相对于 FMC 标准引脚映射的极性反转。
    您能否确认这些是您使用的、并且您的固件中已解决了 DB 对反转问题?

    对于 FPGA 时钟频率、接收固件的预期值是多少。 对于1000MHz 时钟速率和 JMODE0、EVM 将以4Gbps 的速率输出数据。 CLKA 和 CLKB 上的 FPGA 时钟将为100MHz。 为了支持 K=4的默认设置、SYSREF 频率将为12.5MHz。

    请检查这些详细信息、并告知我们您是否发现需要更改、以及是否有任何更改帮助。
    此致、
    Jim B
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jim、

    接口仍然无法正常工作。 我执行了几次测试、但我还没有弄清问题所在。

    首先、该模块具有一个 PLL (core_pll1)、其输入时钟频率为300MHz。 因此、接收器 JESD204B 代码设计为在3000MHz 时钟速率下工作。 我使用12GHz 示波器查看了 FMC 引脚的输出;CLKA 和 CLKB 的频率为300MHz、Vpp 为1.8V (但它们不处于相同的相位)。 SYSREF 时钟为37.5MHz (K=4)、但它不会随着使用 GUI 更改 K 的值而改变。 EVM 输出与采样率1000Msps 和2000Msps 类似。

    该模块中的 JESD204B 实例是针对 K=16而设计的。 我可以更改此值;但是、K 可以达到的最小值为17/F 传输层配置定义了 F=4、以检索在一个帧时钟中分布在8个通道上的20个样本。 因此、最小 K 值可以是5。 您能否查看为什么在更改 GUI 中的 K 值时、EVM 中的 SYSREF 时钟频率不会改变?

    我已经验证了您提到的引脚连接;它们都连接在正确的位置、对于模块中不存在的 CLKB (模块的唯一数据时钟输入是 DEVICE_CLK、即 CLKA)和非反相 DB0:DB3收发器对。 请告诉我为什么需要 CLKB? 我曾尝试反转 DB0:DB3收发器对的引脚分配、但 fitter 给出了错误、因为正配置的 Rx_serial_data[i](另一个是 Rx_data_serial[i](n)))连接到了 Quartus II 不允许的收发器缓冲器负引脚。 我认为这不是一个大问题、因为即使引脚被反相、我也应该获得一些输出。 请告诉我您对此的看法。

    最后、您能否与设计团队核实他们是否有测试台来测试仿真中主模块(jesd204b_ed)的工作情况? 用于从测试台开始采样数据传输的代码组同步和初始通道对齐过程、以及在帧和多帧的末尾插入特殊序列是非常复杂的过程;我很难将这些内容整合到测试台中。

    谢谢、此致、

    Arvind

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

    您好 Arvind

    要为 K=16设置 ADC EVM、需要更改2个位置。

    需要在 JESD204B 选项卡上更新 ADC K 设置。

    1. 单击 JESD 块启用按钮以禁用链接
    2. 将 K 值更改为16 (K-1 = 15)
    3. 再次单击 JESD 块启用按钮以重新启用链接。

    您还需要更改 LMK04828 SYSREF 分频器设置、将分频器增加4倍。

    为此、导航至 LMK04828选项卡、然后导航至 SYSREF 和 SYNC 子选项卡。 在该选项卡上、将 SYSREF 分频器值从80更改为320。

    如果您希望继续为 JMODE0或 JMODE2使用这些设置、则可以编辑相应的 ADC 和 LMK 配置文件、这些文件位于以下文件夹位置:

    C:\Program Files (x86)\Texas Instruments\ADC12DJxx00 GUI\Configuration Files

    感兴趣的 ADC 文件包括:  

    • ADC12DJxx00_JMODE0.cfg
    • ADC12DJxx00_JMODE2.cfg

    KM1的值在地址0x202。 这需要更改为0x0F。

    LMK 文件包括:

    • LMK04828_JMODE0.cfg
    • LMK04828_JMODE2.cfg

    SYSREF 分频器值位于地址0x13A 和0x13B。 0x13A 变为0x01、0x13B 变为0x40。

    Altera 实现通常不需要 CLKB。 Xilinx 捕获解决方案通常需要此功能。

    我将询问固件团队是否有主模块的测试台。  

    此致、

    Jim B

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

    您好、Jim、

    感谢您的回复。 它解决了 SYSREF 时钟问题。

    我发现由于某种原因、同步序列未开始、因为我可以使用复位按钮(GLOBAL_rst_n)下拉 SYNC~、但我看不到 SOMF 输出变为高电平或 Rx_LINK_DATA 输出。 我将逐步探测主模块内每个模块的信号、并查看是否可以缩小问题范围。 PHY 层模块不依赖于链路层控制信号、因此我应该会看到其中的一些数据。

    如果我找到了一些东西、我会告诉您。 同时、如果我可以获得测试台、我将能够验证模块的工作情况。

    谢谢、此致、

    Arvind

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

    您好 Arvind

    固件团队没有可共享的测试台、但对使用具有不同 FPGA 目标的设计和调试有以下意见:

    在使用 Arria10参考设计之前、需要考虑以下几点:

    1. 共享的参考设计是针对12G 通道速率、LMFS- 8845进行编译的、其中 K=4。 ADC 的参考时钟应为300MHz。  所有 IP - JESD 基本 IP、PHY IP、IO PLL 和收发器 PHY 复位控制器都是在 L=8的情况下编译的、参考时钟设置为300m。  如果时钟或 L 值发生变化、我们必须更新这些 IP 并重新编译。 ‘EVM 所需的引脚分配需要在“引脚规划器”或“Jesd204b_ed”qsf 文件中正确更新
    2. 顶部模块中的‘L’和‘S’参数未分配给 JESD 基本 IP,仅用于自定义逻辑。  ‘需要更改 LMFS 值,则必须在 JESD204B 基本 IP 的“Jesd204b 配置”选项卡中进行更改,并且必须重新编译设计
    3. 共享的传输层在8L 模式下工作。 它从基本 IP 中获取256位(每个通道32位)数据、对其进行格式化、以便为每个链路时钟发送20个样本。  但我们可以在4L 模式下重新使用此传输层、方法是在格式化数据之前将零分配给非活动通道

    我们没有测试台来测试示例设计的主模块。 但是、我们可以在信号抽头中探测以下复位信号和 PHY 数据信号、以分析为何未建立同步  

    信号

    说明

    信号抽头中使用的时钟

    预期状态

    RX_RESET_SEQ_xcvr_reset

    收发器 PHY 复位控制器复位

    Mgmt_clk

    RX_LINK_CLK_RSTn

    连接层复位进入 JESD Base 和 PHY IP

    RX_LINK_CLK

    RX_RESET_SEQ_AVS_rst

    JESD 基本 IP 重新配置复位

    Mgmt_clk

    CORE_PLL_LOCKED

    来自 IOPLL 的锁定信号

    Mgmt_clk

    SERDES_DATA_IN

    发送到基本 IP 的 PHY 数据

    RX_LINK_CLK

    在‘的4通道上应为“BCBCBCBCBCBCBCBCBCBBC”

    SERDES_DATA_VALID

    来自 JESD PHY IP 的数据有效信号

    RX_LINK_CLK

    RX_READY

    来自 PHY 复位控制器的就绪信号

    Mgmt_clk

    RX_IS 位置到数据

    来自 JESD PHY IP 的锁定信号

    Mgmt_clk

    即使未建立同步,我们也希望 PHY 数据在4个活动通道上具有“BCBCBCBCBCBCBCBCBCBCBC”

    请客户使用信号抽头中添加的上述信号(以及现有信号)对设计进行编译、并向我们分享结果。

    我们认为这将有助于我们了解为什么同步没有建立。

    您能否尝试添加推荐的信号探头并分享结果?

    此致、

    Jim B

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

    您好、Jim、

    引脚分配与我们之前讨论的相同。 我在原始设计示例中探测了建议的信号、但我在模块中找不到的信号"rx_reset_seq_xcvr_reset"和"rx_reset_seq_avs_rst"除外。 对于其余部分、信号状态按预期显示。 因此,我在 Altera JESD204B 文档(pp:109-113 www.altera.com/.../ug_jesd204b.pdf )中增加了一些建议的信号。 结果如下:

    信号 采样时钟 预期状态 输出状态
    RX_RESET_SEQ_xcvr_reset Mgmt_clk 找不到信号
    RX_RESET_SEQ_AVS_rst
    Mgmt_clk
    找不到信号
    [内核_]PLL_Locked Mgmt_clk
    RX_READY Mgmt_clk
    RX_IS 位置到数据 Mgmt_clk
    RX_LINK_CLK_RSTn RX_LINK_CLK
    SERDES_DATA_IN RX_LINK_CLK CBCBCBCBCBCBCBCBCBCBC CBCBCBCBCBCBCBCBCBCBC
    SERDES_DATA_VALID RX_LINK_CLK
    RX_CAL_BUSY RX_LINK_CLK
    jesd204_rx_pcs_data_valid RX_LINK_CLK
    jesd204_rx_pcs_kchar_data RX_LINK_CLK
    jesd204_rx_avs_rst_n RX_LINK_CLK
    jesd204_rx_link_ready RX_LINK_CLK
    jesd204_Rx_int RX_LINK_CLK
    jesd204_rx_link_valid RX_LINK_CLK
    DEV_lane RX_LINK_CLK

    我没有列出我已横置的所有其他信号;您可以在随附的屏幕截图中查看它们  。 器件时钟为直流、因为其频率与采样时钟频率相同。 此外、sysref 信号按预期进行绑定。 从最后三个信号中、我可以看到 SYNC 没有建立、因此中断信号(jesd204_Rx_int)变为高电平;但我不知道原因。 我使用了原始设计示例、以最大限度地减少从我的一侧引入误差的可能性。 我还将分享 GUI 设置的屏幕截图以进行验证。

    请告诉我前两个信号需要在哪个模块中使用(如果仍然需要探测)。 如果需要、我很乐意探测更多信号、以了解为什么同步未建立。  如果您有任何意见和建议、请告诉我。

    谢谢、此致、

    Arvind

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

    您好 Arvind

    在探测信号中、我们看到 DEV_SYNC_n 始终为逻辑1、因此 ADC 应转换为 ILAS、然后转换为正常数据。 由于 ADC 持续输出 BCBC 字符、因此似乎 ADC 的 SYNC_SE 输入处于逻辑低电平。 您能否通过执行以下操作来检查 ADC 接收到的同步状态?

    导航到"Low Level View"选项卡、然后在 ADC12DJxx00寄存器部分找到 JESD_STATUS 寄存器。 单击左下角的"Read Register"按钮。 如果从 FPGA 到 ADC SYNC_SE 的~SYNC 信号连接正确、SYNC_STATUS 应为1、但我怀疑它为0。

    如果报告的 SYNC_STATUS 为0、则需要了解 FPGA 中的 DEV_SYNC_n 信号为何未根据需要映射到 FMC 连接器引脚 H31处的单端 CMOS 信号。

    此致、

    Jim B

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

    您好、Jim、

    事实上、DEV_SYNC_n 被映射到 LVDS I/O 引脚的相反的极性引脚:H32。 EVM 现在可以工作。

    非常感谢您的帮助。

    此致、

    Arvind