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.

[参考译文] AFE7900EVM:SPI 接口

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

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1323838/afe7900evm-spi-interface

器件型号:AFE7900EVM
主题中讨论的其他器件: AFE7900

您好  

1) 1)我们已通过 GUI 建立 ADC (AFE7900EVM)和 FPGA (Stratix 10 EVM)之间的链路、然后尝试使用 SPIB1的 SPI 接口、将硬件更改 R82、R84、R85和 R44短路、但 无法 从 ADC 获取 SDOUT。 因此、 在参考 以下论坛后、 我们通过 SPIA 接口进行了尝试。

AFE7900EVM:FMC 上的 AFE7900EVM 和 TSW14J57EVM 引脚映射-射频和微波论坛-射频和微波- TI E2E 支持论坛

2) 2) 除了上述更改外、我们还针对 SPIA 接口对硬件进行了更改  

    短接 :R88、R87、R86和 R83用于 SPIA 接口,R9和 R13用于 FMC 至 FPGA 连接。

    已删除 :R266、R267、R268和 R274

日志文件生成的寄存器用于 SPI 编程。 但我们无法在 ADC 和 FPGA 之间建立链路。 连接了使用的寄存器和信号抽头以供参考。

仍然 LMK 通过 USB 进行编程。   

亲切的建议  

此致、

Soumya

e2e.ti.com/.../Register_5F00_file.txt

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

    尊敬的 Soumya:

    很抱歉耽误你的时间。

    关于问题1、正如后文所述、在 AFE7900的复位上只有 SPIA 可以正常工作。 SPIB1和 SPIB2端口必须通过 SPIA 配置为 SPI 端口。

    关于问题2:

    • 如果您短接 R9和 R13、FMC 上将有两个 SPIASDO 和两个 SPIASEN 引脚。 我们建议断开 FPGA 未驱动的两个器件的连接、以避免总线争用。

     

    • 您能否提供您的 FPGA 报告了哪些 JESD 错误? 是否有 LOS 错误?
    • 对 AFE 进行编程时、您是否看到电流消耗发生了任何变化?
    • 在编程之前、您是否执行了硬件、是否根据需要复位 AFE? 这可以通过按下 AFE7900EVM 中的 SW1或控制 FPGA 的复位来实现。 若要通过 FPGA 控制复位、您必须移除 R94并在 AFE7900EVM 中填充 R93。

    此致!

    卡米洛

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

    您好,Camilo,

    1.移除 R11、R14电阻后、我们就能够解决总线争用问题。

    2. FPGA 报告的 JESD 错误包括:

    -运行视差错误和8B/10B 块 PC 无法成功地解码来自 ADC 的传入字符。

    - ADC 不向 FPGA 传输 K 字符或 BC 十六进制数。 这将启动 CGS 阶段。

    3、对 ADC 进行编程后、在初始条件下、电流消耗为0.8至1安培、在最终阶段(大约在最后100个寄存器处)、电流介于1.1至1.2安培之间、并稳定在1.2安培。

    4.在对 AFE 进行编程之前、我们要通过进行必要的更改(移除 R94电阻器)来控制 FPGA 的复位。

     我们无法从 ADC 中接收0xBC 字符、因为我们无法从以下寄存器中读取正确的数据。 索引来自所附的 txt 文件     SPI 写入寄存器:

        a.索引:10247 (0x00f0)、读取数据0xff。 --读操作

        b.索引:10276 (0x00f0)、读取数据0xff。  --读操作

        c.索引:11368 (0x00f0)、读取数据0x00。 轮询检查  

       d.索引:11379 (0x00f0)、读取数据0x00。 轮询检查

       e.索引:11408 (0x00f0)、读取数据0x00。 轮询检查

    对于参考错误、附加了用于编程的屏幕截图和寄存器。

    预测您的提示回复。

    此致、

    Soumya

    e2e.ti.com/.../spi_5F00_write_5F00_c_5F00_code.txt

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

    尊敬的 Soumya:

    很高兴能够解决 SPI 问题。 为了继续进行调试、我们有以下问题:

    您说此配置在正确之前有效吗? 您是否有 python 文件以便我们可以在我们的 EVM 上检查此文件?

    如果在配置期间有任何读取检查和/或轮询失败、我们必须先解决这些问题。 第10247行上的读取是您看到的第一次读取检查还是轮询错误吗? 如果是、您是否始终在此步骤中看到测试失败?

    此致!

    卡米洛

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

    您好,Camilo,

    是的、此配置可以 通过 GUI 实现。

    是的、 读取和轮询检查中的第一个错误是 从  第 10247行开始的、对于超过5个寄存器、此故障在所有时间里都是一致的。

    附加了 Python 代码、供您参考。

    e2e.ti.com/.../SCRIPT_5F00_FOR_5F00_SPI_5F00_REGISTERS.txt

    谢谢。

    Soumya

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

    尊敬的 Soumya:

    我们将在我们这边测试这个配置。

    同时、您能否在行 10247上的读取检查失败后读取寄存器0xf0到0xf7、并向我们提供这些值?

    这些寄存器是宏状态寄存器、可为我们提供有关其失败宏的原因的信息。

    此外、要确保您对 EVM 的电源限制设置为5.5V 和5A 是否正确?

    此致!

    卡米洛

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

    您好,Camilo,

    我们已读取 索引10247前后的寄存器。

     在索引之后读取:   

        - 0XF0到0xF4读取值为 0xFF

        - 0xF5至0xF7读取值为0x00

    在索引之前读取:   

     a. 10198指数:

        - 0XF0读数值为0x07。

       - 0XF1到0xF7 读取值为 0x00  

    b.然后、在索引10213之后、我们已经添加了寄存器以重置宏页、然后访问宏页。

      001800   

      001820

      80 000分

      80f100

      80 f200

      80f300

      80f400

      80分500秒

      80f600

      80f700

      001800

     --在序列到上述寄存器,我们正在读取(JESD 异步 FIFO 偏移寄存器) 0x30 0x31和0x32 ,然后重写相同的。 我们正在阅读         0xF0 - 0xF7。

        - 0XF0到0xF4 读取值为 0xFF

        - 0xF5至0xF7读取值为0x00

    ---所以,我们不是 读和重写 操作,我们是直接写入 0x30 0x31和0x32寄存器0x11。 然后读取0xF0-0XF7。

        - 0XF0读数值为0x07。

       - 0XF1到0xF7 读取值为 0x00  

    C.在上面的练习中、我们能够通过重置 宏页面来消除所有的错误、   也能得到 ADC 和 FPGA 之间的链接、同时还能正确接收实际数据。

    D.为什么需要重置页面才能清除宏页中的错误。 请澄清我们所理解的内容。

    电源 设为5V、电流限制最大值为40安培。

    此致、

    Soumya

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

    尊敬的 Soumya:

    为了进行确认、您所做的唯一更改不是读取和写入寄存器0x30、0x31和0x32、而是将0x11写入寄存器0x30、0x31和0x32、然后从宏页面读取寄存器0xf0至0xf7、这样宏便会通过  

    您是否还能提供 SPI 事务的新日志文件?

    此致!

    卡米洛

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

    您好,Camilo,

     可以、而不是阅读和写入。 我们只是在该宏传递之后写入0x11。

     附加了新的 SPI 写入脚本供您参考。

    此致、

    Soumya

    e2e.ti.com/.../SPI_5F00_Reg.txt 

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

    尊敬的 Soumya:

    我已将其转发给我们的软件团队、以便他们提供建议。

    只是为了确保、如果您像我在下面的文件中所做的那样、在索引10205和10215之间删除了寄存器0xf0至0xf7的读取操作、宏是否仍然通过?

    e2e.ti.com/.../SPI_5F00_Reg_5F00_Test_5F00_NoStatusRead.txt

    此致!

    卡米洛

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

    您好,Camilo,

     是的、宏传递给 您已与我们共享的寄存器。

    此致、

    Soumya

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

    您好,Camilo,

    我们能不能有任何更新?

    此致、

    Soumya

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

    尊敬的 Soumya:

    我们的软件团队仍在研究这一点。

    我将再次联系、要求提供最新信息。

    此致!

    卡米洛