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.

[参考译文] LP-AM263:FSI 示例在信标内卡住、而 RX 在等待变量

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1247910/lp-am263-fsi-example-stuck-within-semaphore-while-rx-is-awaiting-variables

器件型号:LP-AM263
主题中讨论的其他器件: TMDSFSIADAPEVM

大家好、我目前正在从事一个项目、我尝试使用 FSI 在 F28388D CC 和 LP-AM263x 之间流式传输变量。 为了便于参考、我一直使用 SDK 文件中提供的 fsi_loopback_interrupt 示例、并禁用了内部回送、以允许从 F28388D 接收用户数据。  

到目前为止、由于代码在 信标内的无限循环中陷入困境、我还无法将任何数据传输到 LP-AM263x、如下所示。  

任何帮助都会很棒:)

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

    您好、AJ、

    请使用 MCU+ SDK 08.06.00.34中的 fsi_loopback_interrupt_am263x-cc_r5fss0-0_nortos_ti-arm-clang

    首先、您需要注释掉以下行:

      ///status = FSI_enableRxInternalLoopback (rxBaseAddr);

      //DebugP_ASSERT (STATUS = SYSTEMP_SUCCESS);

    然后、您需要注释掉以下行:

    //状态= FSI_setTxBufferPtr (txBaseAddr、bufIdx);
    //状态+= fsi_writeTxBuffer (txBaseAddr、gTxBufData、dataSize、bufIdx);
    ///status += fsi_startTxTransmit (txBaseAddr);
    //DebugP_ASSERT (STATUS = SYSTEMP_SUCCESS);

    /*等待 TX 和 RX 完成*/
    // SemaphoreP_PEND (&gFsiTxSemObject、SystemP_WAIT_FOREVER);

    然后从  F28388D 发送数据、一旦数据到达 AM263x、则 SemaphoreP_PEND (&gFsiRxSemObject、SystemP_WAIT_FOREVER);将返回。

    FSI_readRxBuffer (rxBaseAddr、gRxBufData、dataSize、bufIdx);将读取 RX 数据。

    此致、

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

    Ming 您好、

    很遗憾、这无法解决我的问题。 我注释了各个行并从 F28388D 发送了数据、但是  SemaphoreP_PEND (&gFsiRxSemObject、SystemP_WAIT_FOREVER)仍然没有返回

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

    您好、AJ、

    MCU+ SDK FSI 示例均使用单通道(FSI_APP_N_LANES)、因此如果您 使用2个通道从 F28388D 发送数据、则需要将 FSI_APP_N_LANES 更改为01

    此致、

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

    尊敬的 Ming:  

    F28388D 和 LP-AM263均使用单通道、并且之前已通过此方式进行了配置。  

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

    您好、AJ、

    您能否详细解释一下如何连接 F28388D 和 LP-AM263?

    您是否先在 AM263x LP 中运行程序、然后 在稍后运行 F28388D?

    您是否可以在从 F28388D 传输数据期间捕获 FSI RXCLK、RXD0。

    此致、

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

    尊敬的 Ming:

    我要使用两个 TMDSFSIADAPEVM FSI 适配器板来连接这两个器件、这两个板连接到每个器件、并通过 EtherCAT 相互连接。

    是的、我首先运行 AM263x、然后在  

    是的、我可以看到下面捕获了 AM263x 上的 RX 数据和 F28388D 中的 TX 数据

    谢谢!

    AJ  

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

    您好、AJ、

    为什么 TX_D0和 RX_D0不同? 它们是否相同?

    此致、

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

    尊敬的 Ming:

    是的、TX_D0和 RX_D0应该相同、我认为两者之间的微小差异是系统内的过量噪声造成的。  

    谢谢!  

    AJ

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

    您好、AJ、

    您可能需要检查的另一点是:

    1.请参考部分  7.4.8.4.1建立通信链路  AM263x TRM 的功能、用于 AM263x 与  F28388D 之间的连接

    2.确保主设备(AM263x 或  F28388D)正在执行中描述的操作  7.4.8.4.1.1从主设备建立通信链路

    远程器件(F28388D 或 AM263x)正在执行 中所述的操作  7.4.8.4.1.2从远程设备建立通信链路

    此致、

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

    尊敬的 Ming:  

    我已经完成了 AM263x TRM 的这些部分、并确保两个器件都在执行这些部分中所述的操作

    谢谢!

    AJ

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

    您好、AJ、

    您是否将 F28388D CC 的 GND 连接到 AM263x CC 或 LP 的 GND?

    此致、

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

    尊敬的 Ming:  

    我相信已经通过 EtherCAT 连接实现了这一目的。 但是、我继续将两个 GND 引脚连接在一起、运行代码却没有效果。  

    谢谢!  

    AJ

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

    您好、AJ、

    您的意思是:" 不过、我继续将两个 GND 引脚连接在一起、而运行代码却不起作用。" 它是否有效?

    此致、

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

    尊敬的 Ming:

    很抱歉、此操作不起作用。 我不知道为什么它说这解决了我的问题。  

    谢谢!

    AJ

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

    您好、AJ、

    我能想到的唯一一件事是 AM263x RX 期间可能会发生其他事件。 请在 F28388D 发送数据后检查 FSI_RXn_RX_EVT_STS_ALT1_寄存器(0x50290014)中是否存在任何其他可能的事件

    此致、

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

    在发送数据之前将寄存器0x50290014设置为80、然后在发送数据后保持为80。 但是、我将使用 Rx1接收数据、并查看  FSI_RX1_RX_EVT_STS_ALT1_ (寄存器0x50291014)它 在数据发送前设置为00000000、然后在数据发送后更改为39390C70  

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

    您好、AJ、

    当您使用 RX1接收数据时、是否获得了 RX 中断?

    根据 AM263x LP 用户指南、设置了 TX1/RX1以在 AM263x 侧发送/接收数据、而不是 TX0/RX0。 这就是 RX0上永远不会得到任何东西的原因。

    此致、