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.

[参考译文] AFE7950EVM:从 FPGA 使用 ZCU102配置 AFE7950时获取 SPI 读取检查错误

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

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1455027/afe7950evm-getting-spi-read-check-errors-while-configuring-afe7950-from-fpga-with-zcu102

器件型号:AFE7950EVM
主题中讨论的其他器件:LMK04828AFE7950

工具与软件:

你(们)好。


我们尝试将 AFE7950 EVM 与 ZCU102连接、并尝试使用 FPGA 中的 SPI 协议配置 LMK04828和 AFE7950。

设置:
  为此、我们将 TI 的 AFE7950 EVM 连接到 ZCU102评估板上的 FMC 连接器 J4、并尝试使用 SPI 协议通过使用 VITS 应用驱动 SPI 信号来配置 LMK04828和 AFE7950。

2.返工:
  为此、我们对 TI 的 AFE7950 EVM 进行了一些返工、AFE7950 SPI 启动文档中提到了这一点。
  以下是我们对 AFE7950 EVM 进行的返工详细信息。
    1) 1)我们移除了 AFE7950 EVM 上的 R266、R267、R268和 R274电阻器(位于 EVM 底部)
    2)为 R88、R87、R86和 R83安装了0Ω 电阻器(位于 EVM 顶部)
    3) 3)由于 LMKSPI 与 FMC 连接器无连接、因此对于 FPGA、要控制 LMK SPI、我们进行了以下修改。
        a.)将 LMK_SCK 连接到 SPIACLK (从 R88到 R248的导线)
        b.)将 LMK_SDIO 连接到 SPIASDIO (R87和 R249之间的导线)
        c.)将 LMK_CS 连接到 FMC 连接器(J4)的引脚 D26
        注意:我还要附上 AFE7950 SPI 启动文档中提到的返工详细信息图像。 (随附的图像名称是"reworking_details.png")

3.main.c Vitis 文件流:

    Uart550_Setup();
    DEV_SPI_setup ();//AFE SPI Setup
    emio_GPIO_setup ();//EMIO GPIO 设置

    usleep(5000);
    RST_Afe79();// AFE 的硬件复位
    usleep(5000);
    lmk_config();
    usleep(5000);

    ENABLE_JESDIP();
    ENABLE_JESDTXIP();
    delaySec(1.0);
    bringupafe();
    delaySec(1.0);

  我们按照上面提到的来自 VITIS 的流程来配置 LMK04828和 AFE7950。
  我要附加我们在 vitis 中使用的 main.c 文件。 (附加的 main.c 文件名"main.c")

e2e.ti.com/.../main.c

  借助上述详细信息和流程、我们能够配置 LMK04828、还可以在 Vivado 中从 VIO 获取 QPLL 锁定状态、并在 AFE7950 EVM 上获取 QPLL 锁定状态 LED 指示器。

  但是、在 AFE 配置期间、我们会收到一些 READCHECK 错误(它不会从 AFE7950中读取某些寄存器的预期值)。
  在此应用程序运行后、我连接终端打印件。 (附加的文件名为"TeraTermer_prints.txt")

e2e.ti.com/.../teraterm_5F00_prints.txt

4.READCHECK 错误:
  我正在将 READCHECK 错误详细信息单独附加在一个文件中(文件名:"readcheck_errors.txt")

e2e.ti.com/.../readcheck_5F00_errors.txt
  以下是读取检查错误寄存器的详细说明:

    BringupLog - ReadValue:8的第103行中出现 Readcheck 错误
        错误寄存器:0x150;预期值:0xF;ReadValue:0x8

    BringupLog 第13298行中的 Readcheck 错误- ReadValue:2.
        错误寄存器:0x66;预期值:0x10;ReadValue:0x2

    BringupLog 第13299行中的 Readcheck 错误- ReadValue:98
        错误寄存器:0x66;预期值:0x0;ReadValue:0x98

    BringupLog 第17194行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11f;预期值:0x0;读值:0x16

    BringupLog 第17195行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11e;预期值:0x0;读值:0x16

    BringupLog 第17196行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11d;预期值:0x0;ReadValue:0x16

    BringupLog 第17197行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11c;预期值:0x0;ReadValue:0x16

   BringupLog 第17207行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11f;预期值:0x0;读值:0x16

   BringupLog 第17208行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11d;预期值:0x0;ReadValue:0x16

   BringupLog 第17209行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11e;预期值:0x0;读值:0x16

   BringupLog 第17210行中的 Readcheck 错误- ReadValue:16
        错误寄存器:0x11c;预期值:0x0;ReadValue:0x16

   BringupLog 第17213行中的 Readcheck 错误- ReadValue:85
       错误寄存器:0xa6;预期值:0xAA;ReadValue:0x85

我将附加上面提到的所有相关图像(.png 格式)和文本文件(.txt 格式)。 另外、我还要附加 LMK04828和 AFE7950配置的 SPI 写入信息。

LMK04828配置文件名: LMK_Configuration_SPI_Writes_file.txt

e2e.ti.com/.../LMK_5F00_Configuration_5F00_SPI_5F00_Writes_5F00_file.txt

AFE7950配置文件名:AFE_Configuration_SPI_Writes_file.txt

e2e.ti.com/.../AFE_5F00_Configuration_5F00_SPI_5F00_Writes_5F00_file.txt

我们想知道、哪里会出问题、以及该 AFE7950配置为什么会产生这些读取检查错误。
您能告诉我们如何解决这些错误并正确配置没有这些错误的 AFE7950吗?

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

    大家好、团队成员:

    是否有此案例的更新?  我也面临同样的问题。

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

    您好!

    为了帮助您进行调试、您可以确认以下内容吗:

    1. 您是否能够在通过 AFE79xx Latte GUI 进行编程时使用 EVM 检查此 AFE 配置?
    2. 您是否已尽可能靠近 AFE 引脚探测时钟、以确保 LMK 得到正确编程以及 AFE 获得正确的时钟? 寄存器 0x150报告的错误可能是时钟或电源不稳定引起的。
    3. 您能否提供在  AFE79xx Latte GUI 中使用的配置 python 文件来生成此配置?

    此致!

    Camilo

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

    1.是的、我们在通过 AFE79xx Latte GUI 对 AFE 配置进行编程的同时、使用 EVM 成功验证了 AFE 配置。

    2.是的、我们尽可能在 AFE 引脚附近探测时钟、以确保 LMK 编程正确、AFE 接收正确的时钟。

    3.在下面、我们已经附上了 AFE79xx Latte GUI 中使用的 Python 配置文件、以便为 LMK04828和 AFE7950生成配置文件。

    * LMK04828的 Python 配置文件

    e2e.ti.com/.../LMK_5F00_Config_5F00_Script.txt

    * AFE7950的 Python 配置文件

    e2e.ti.com/.../AFE_5F00_Config_5F00_Script.txt

    注意:我们已经附加了
    AFE79xx Latte GUI 中使用的 python 配置文件、以生成 上述".txt"格式的 LMK04828和 AFE7950的配置文件。

    请告知我们哪里会出问题、以及 AFE7950配置为何会出现这些读取检查错误。
    以及如何解决这些错误并正确配置 AFE7950、而不会出现这些错误?

    我们期待您的答复。