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.

[参考译文] ADC32J25:与 FPGA 连接

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1236934/adc32j25-interfacing-with-fpga

器件型号:ADC32J25
主题中讨论的其他器件:LMK04828、、 ADC32J24

您好!

现在我们有了电路板、并且已经过验证、包括通过 LMK04828和 FPGA 生成时钟

我们现在要尝试使 JESD204B 在 ADC32J25和 FPGA 之间正常工作。   

我们将利用以前使用的具有 JESD204B 的 FPGA 设计。

第一步是查看我们是否可以从 ADC32J25接收测试模式。

附件是 ADC 寄存器配置。

您能不能看一看配置?

此致、

Andrewe2e.ti.com/.../7571.adc_5F00_config.txt

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

    Andrew、您好!

    我不确定您希望我从您的配置中检查的确切内容。 当我将其加载到 GUI 时、我能够获得捕获、这意味着 ADC 正在输出数据(下图、我的模拟输入在25MHz 和10dBm 下运行)。

    此外、 e2e.ti.com/.../5516.ADC3xJxx_5F00_128MSPS_5F00_Operation_5F00_LMK_5F00_Setting.cfg 是您所需的默认配置文件、以防出现这种情况。 可通过单击"Low Level VI"选项卡、然后单击"Load Config"按钮来加载。

    如果您也可以编写 GUI 来执行的设置、这也会很有帮助。

    谢谢。

    安德烈亚

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

    尊敬的 Andrea:

    感谢你的帮助。

    我将配置设置为生成测试模式(K.25)而不是捕捉 ADC 数据。

    我注意到在 ADC3000 GUI 屏幕截图中、似乎所有寄存器都设置为零。

    对于正常的 ADC 操作、默认值全部为零。  是这样吗?

    我可以格式化我的配置文件以便您可以加载它。

    我对格式有疑问。

    查看我使用的格式(打算加载到我们的 FPGA 中)

    例如、  

    00400602

    • 前导两个"0"是填充位、
    • "40"表示我正在写入 ADC
    • "006"是寄存器地址
    • "02"是寄存器值

    您能看到格式是否可行吗?

    让我再讲一讲时钟架构。   

    但我只是想看看我使用的数据格式是否一致。

    此致、

    安德鲁

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

    尊敬的 Andrea:

    我们遵循数据表第55页中描述的写入格式。

    因此、"0"对应于 A14应为"1"的事实。

    谢谢!

    安德鲁

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

    e2e.ti.com/.../config_5F00_fpga1.cfg

    我已经重新格式化了配置文件、因此您应该能够加载到 GUI 中。

    我还注意到 ADC3000 GUI 中  

    • 如果我选择 ADC32Jxx、LMK04828和 ADCJxx 都会
    • 如果我选择 ADC32xx、只有 ADC32xx 显示

    我假设其中任何一个都没问题。

    再次感谢、

    安德鲁

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

    Andrew、您好!

    因此对于正常的 ADC 操作,默认值全部为零。  这是否正确?

    正确、ADC32J24的所有寄存器默认为0x00。

    您能看一下格式是否可以使用吗?

    查看您上传的最后一个配置文件、它应该能够在  如果您将第1行从"ADC32xx"更改为"ADC32Jxx"、并使用 ADC32Jxx GUI 页面。  否则、数据将无法读入 GUI。 此外、在第12行中、似乎没有完成寄存器写入。  e2e.ti.com/.../Default_5F00_ADC32Jxx.cfg 是 ADC32Jxx 页面的默认 GUI 中的文件。

    我假设其中一个都可以。

    昨天将文件加载到 GUI 时、我不小心使用了 ADC32xx GUI 页面;但是、我们建议使用 ADC32Jxx GUI 页面而不是该部件。 我今天运行的所有测试都在 ADC32Jxx GUI 页面上回答您的问题。

    我相信我已经回答了您的所有问题、如果没有、请告诉我、或者如果您有任何其他问题。

    祝你好运!

    安德烈亚

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

     e2e.ti.com/.../config_5F00_fpga2.cfg

    尊敬的 Andrea:

    我们仍在进行故障排除。   

    为了获得更好的可见性、我们希望了解是否可以检测测试模式。

    您能否看一下屏幕截图、看看是否正确配置了测试图形生成?

    此外、还包括配置文件。  您是否可以将配置文件加载到您的设置中进行验证?

    感谢您的支持。

    安德鲁

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

    Andrew、您好!

    您能否看一下屏幕截图,看看测试模式的生成是否配置正确?

    只需看屏幕截图、就可以看到针对该页面正确设置了 GUI。 我以相同的方式为该页面设置 GUI、并获得了 显示图形切换的捕获(从"代码"窗口;但是、在"实数 FFT "窗口中未看到任何图形):

    以下是我采用正常工作的系统(LMK04828和 ADC32J25)的配置。

    e2e.ti.com/.../TestPattern_5F00_Toggle_5F00_ADC32J25.cfg

    还包括配置文件。  您是否可以将配置文件加载到您的设置中进行验证?

    当我将配置文件加载到设置中时、ADC 没有拾取时钟、因此我无法获得捕获。 这意味着您对 LMK04828的配置不正确、因为该器件无法锁定 PLL (当 LED D4亮起时、表示 LMK04828 PLL 已锁定)。 如果您告诉我想要输出什么频率、如果您具有设定的输入频率、并且 LMK04828还需要任何其他要求(例如 SYSREF 等)、我可以帮助您使用正确的 LMK04828设置创建配置。

    另外、请注意、您无需选中"Align Test Pattern (对齐测试图形)"选项即可输出测试图形。 如果需要在不同通道上对齐测试图形的输出、则只需选中该框。 希望这对我有所帮助、如果您需要其他东西、请告诉我。

    祝你好运!

    安德烈亚

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

    尊敬的 Andrea:

    我非常感谢你的支持。

    我想我们已经接近找出根本原因、与时钟相关的东西。

    刚刚实现、采样时钟和 SYSREF 信号设置为 LVDS、但电路设计旨在用于 LVPECL。

    我现在将信号类型设置为 LVPECL20。

    这里是 TICS Pro 文件、

    e2e.ti.com/.../LMK04828b_5F00_v061623a.tcs

    e2e.ti.com/.../HexRegisterValues_5F00_v061623a.txt

    另外就 SYNCP/N 信号而言、它们也被设计为直接 CMOS。  因此、P/N 迹线之间没有100欧姆的电阻。

    e2e.ti.com/.../3755.fibersense_5F00_v1p23.pdf

    • 表2:ADC32J25的 FPGA 引脚
    • 表15:ADC32J25
    • 表18:LMK02828B

    SYNCP/N 不在之间连接100欧姆电阻是否会造成问题?   

    查看 ADC32J25数据表第7.12节的表、其中 VIH = 1.3、VIL = 0.5。

    因此、设计也许仍能正常工作。  否则可能需要进行一些修改。

    感谢您的支持。

    谢谢!

    安德鲁

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

    Andrew、您好!

    此处是 TICS Pro 文件

    我正致力于将.tcs 文件转换并加载到 ADC GUI 上、所以我会在下周早些时候回复您并提供答案。 与此同时、您是否正在使用 PLL1? 所有 CLKinX 均已禁用、因此即使已加电、信号也不会传入 PLL1。

    是否 SYNCP/N 之间不存在100欧姆电阻器是个问题?   [/报价]

    只要该差分对的 FPGA 引脚具有100 Ω 内部端接电阻、就不会有问题。

    此致!

    安德烈亚

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

    尊敬的 Andrea:

    感谢您的更新。

    我们已验证 LMK048288可再次正常工作(在 FPGA 中不确定任何内容、或在 LMK04828寄存器中仅出现错误)。

    我们还验证了 FPGA 可以从 LMK04828获取 LVDS (不含100 Ω)。

    现在 FPGA 又开始工作了、我想如果您可以共享 ADC GUI 设置、我可以尝试弄清楚如何转换为 TICS Pro 设置。

    此致、

    安德鲁

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

    Andrew、您好!

    我很高兴您让 LMK04828正常工作并为 ADC 提供采样时钟。

    ADC GUI 设置有什么含义? 我在上面附上了为确保能与 ADC 通信而请求的测试模式(又附在下面: e2e.ti.com/.../TestPattern_5F00_Toggle_5F00_ADC32J25-_2800_1_2900_.cfg)。 但是、要让我创建配置、我需要知道采样频率是多少(在原理图中我相信是160 MHz)、以及 ADC 到底需要什么。 然后、我可以为您生成一个文件并将其发送出去。 一旦我得到更多的澄清,我可以更好地支持你。

    此致!

    安德烈亚

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

    尊敬的 Andrea:

    很抱歉耽误你的时间。  我能够花一些时间,这里是事情的位置。

    1. 我已经熟悉 ADC 寄存器
      1. 首先、我尝试了2Ah 的各种组合(SERDES 测试)
      2. 我认为这可以控制 JESD 级别的模式、因此任何 ADC 数据都将被忽略
      3. 我看到 BCBC... 我认为是 K28.5字符
      4. 它们非常一致。  这是否意味着大多数时钟都在工作?
      5. 但是、正如 ADC 配置文件010101...中建议的那样、我尝试发送测试 ADC 模式。
      6. 但我仍然看到 bcbcbcbc。。。
    2. ADC 采样时钟为160MHz、SYSREF 为8MHz
      1. 我的 LMK04828配置稍有不同、因为我用它来生成各种时钟。
      2. 但是、我已经验证可以控制 LMK04828。   

    我还要附加原理图。  我想提出的几个问题是、

    1. 从 ADC 数据表中可以看出、ADC 输出(DAP/M、DBP/M)为 CML。
    2. 在我们的原理图中、它们被视为 LVDS、FPGA 内部有100欧姆端接电阻
    3. 希望这是等效的
    4. 至于 SYNCP/M μ~、FPGA 提供3.3 CMOS 信号。  实际上、我不确定是否可以从 FPGA 上的常规 IO (Xilinx Kintex7)生成 LVDS

    此时、我认为应该一切都设置正确:

    1. LMFS = 2221和 K=8
    2. BTW 我想 ADC 数据表中有一个拼写错误。  在 表29中。 寄存器2Bh 字段说明、0 =默认值为9 (我认为应该为8)
    3. 同样在30h 和31h 中、它们使用零偏移、这意味着如果 K=8、寄存器31h 应设置为0x07 (而不是0x08)。

    下面随附了

    1. Vivado ILA 的屏幕截图
    2. 原理图(ADC 在第15页上、FPGA 上的 JESD 在第5页上、ADC 配置控制在第2页上
    3. 使用的 ADC 配置

    衷心感谢您的支持。

    此致、

    安德鲁

    e2e.ti.com/.../fpga_5F00_captures_5F00_070123.pptx

    e2e.ti.com/.../3808.fibersense_5F00_v1p23.pdf

    e2e.ti.com/.../adc_5F00_config_5F00_070123.txt

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

    我刚刚尝试了您提供的相同 ADC 设置、只是在 rx_tdata 上触发(通过 JESD 在 FPGA 中接收到数据)。

    数据如下所示:54aa54aa5455a01c

    这是否与预期的接近?

    我知道测试模式是:1010...0101...

    也许我们会丢失一些位、但希望这意味着我们正在变得更近。

    再次感谢、

    此致、

    安德鲁

    e2e.ti.com/.../fpga_5F00_captures_5F00_070123a.pptx

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

    Andrew、您好!

    我会在一周结束后回到办公室在美国的假期周末。

    此致!

    安德烈亚

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

    Andrew、

    0xBCBC 确实是指 K28.5字符、并显示 ADC 处于启动序列的 CGS 阶段。 请参见下图。  

    您是否可以向 ILA IP 块添加 SYNC、并在 SYNC 取消置位(SYNC 的上升沿)上触发 ILA、并验证数据是否从0xBCBC 更改为 K28.0字符和 Dx.y 数据符号? SYNC 取消置位后4个多帧如果 ADC 已退出 ILAS (初始通道对齐序列)、则实际 ADC 数据将出现在 FPGA 上。

    您的 ILA 中的 rx_tvalid 信号是什么?   

    谢谢,Chase

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

    尊敬的 Chase:

    让我来处理这个问题(再次很抱歉因为我的旅行而延迟)。

    谢谢!

    安德鲁