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.

[参考译文] TMS320F28388D:以10kHz 时钟速率对 Int32进行 IPC 传输

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1324200/tms320f28388d-ipc-transmission-of-an-int32-in-10khz-clock-rate

器件型号:TMS320F28388D

我正在使用 MATLAB Simulink 代码生成、通过 IPC-TRANSMIT 将 int32从 C28x CPU1发送到 ARM M4-Cortex。 传输将由时钟速率为10kHz 的 EPWM 块触发。 在 M4-Cotrex 端、Int32将通过 IPC 硬件中断接收。 目前、ARM M4-Cortex 无法接收 Int32。 通过将时钟速率降至1kHz、传输工作正常。

C28x CPU 和 ARM M4-Cortex 之间的 IPC 传输的最大允许速度是多少?

是否有人可以提供有关如何加快 IPC 传输的信息?

提前感谢!

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

    您好!

    我不知道 MATLAB 生成的代码是如何工作的、但您的速度应仅受读取和写入消息 RAM 所需时间的限制。 我尚未专门测试我们的最大速度限制、但我假设您可以接近至少1MHz 来传输32位。

    我可以为您指明一些示例 C 代码的方向、但我不确定使用 MATLAB 进行开发是否有帮助。

    好奇、如果您在 C28x 内核之间尝试 IPC、您有相似的限制吗?

    此致、

    本·科利尔  

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

    尊敬的 Ben:

    感谢您的帮助! 我检查了 C28x CPU1至 CPU2以及 C28x CPU1至 ARM M4-Cortex 之间的 IPC 连接。 此外、Int32 HIFG 还可通过来自 M4-Cortex 的以太网连接作为 UDP 数据包发送。 如果没有 MATLAB 进行的 UDP-SEND-BLOCK、我没有遇到任何问题、这意味着 IPC 连接可以正常工作。

    查看 MATLAB-文档后、系统会提示: "F2838x Arm Cortex-M 内核(连接管理器)的 CPU 计时器2为 lwIP 堆栈提供时基。 已配置为每1ms 触发一次中断。 如果该模型中正在使用以太网模块、则不应重新配置该计时器。 如果相应的中断通过硬件中断块布防、它将每1ms 运行一次中断处理程序。"

    您对如何更改 F2838x 的 CPU Timer2有什么想法吗?

    提前感谢?  

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

    尊敬的 Marcel:

    听起来这个设置需要在 MATLAB/Simulink 中进行配置、我不知道如何进行。 我可以向您展示如何更改 C 代码中的 CPU 计时器、但我不确定是否会有所帮助。 MATLAB 也看起来你不应该出于任何原因改变这个时间。

    此致、

    本·科利尔