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.

[参考译文] TMS320F28379D:在 CPU2 和处理器之间集成 CAN 通信后、CPU2 未接收到来自 CPU1 的数据

Guru**** 2694645 points

Other Parts Discussed in Thread: TMS320F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1586602/tms320f28379d-data-from-cpu1-not-received-by-cpu2-after-integrating-can-communication-between-cpu2-and-processor

部件号: TMS320F28379D

尊敬的团队:

我正在处理 TMS320F28379D 并在之间实现双核通信 CPU1 和 CPU2 使用 IPC 消息队列。 仅使用 IPC 通信时、数据发送和接收工作正常。 但是、在 CPU2 和处理器之间集成 CAN 通信后,观察到了问题 — CPU2 不再正确接收从 CPU1 发送的数据、且接收到的值在 CPU2 上显示为零。 CAN 初始化和 CAN 发送函数均在 CPU2 代码中实现、CAN 发送函数在 CPU2 的 IPC_ISR 内调用。

我有几个问题:

  1. CPU2 上的 IPC 与 CAN 模块之间是否存在任何资源或中断冲突?

  2.链接器 CMD 文件或共享 RAM 配置中的存储器重叠是否会导致该问题?

  3.初始化是否会影响与 IPC 相关的中断优先级或 CPU2 ISR 执行?

  4.是 IPC 消息队列缓冲区在 CAN 设置后被覆盖或未正确同步?

  5. IPC 与 CAN 任务之间是否依赖 CPU2 初始化序列或时序冲突?

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

    您好、

    如果 IPC 和都可以使用同一存储器部分、并且存储器重叠、则数据可能会被覆盖。 CAN 的初始化不应影响其他中断的优先级。 是否在 CPU2 上使用 IPC 中断?  

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

    是的、我正在 CPU2 上使用 IPC 中断。u 可以针对此问题提供一些建议的解决方案。

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

    尊敬的 Rishikesh:

    您是否解决了 CPU2 中 CAN 通信的问题?

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

    不、您可以提出一些解决方案

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

    不、您有任何解决方案吗

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

    在执行 CAN 传输数据之前、CPU2 是否在 IPC ISR 中获取了正确的数据? 如果 CAN_SENT 需要很长时间、CPU2 可能会错过 IPC 中断并丢失数据。