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.

[参考译文] TMS320F28377D:我们能否在 CPU1和 CPU2中访问 CANA 消息 RAM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/651064/tms320f28377d-can-we-access-cana-message-ram-both-in-cpu1-and-cpu2

器件型号:TMS320F28377D

大家好、

我想知道     、在我们将 CANA 分配给 CPU2后、我们能否在 CPU1和 CPU2中访问 CANA 消息 RAM 使用 IF1/2/3? 我问这一点是因为2个 CAN 不足以满足我的应用、我需要 在2个 CPU 之间共享 Cana 端口、请帮助 确认是否可以。    

谢谢。

Samual

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

    如果我误解了您的问题、请更正我。

    您无法同时从两个 CPU (或任何外设)访问 Cana 模块。 每个外设必须分配给一个 CPU 子系统或另一个 CPU 子系统。 CANA 的消息 RAM 将随 CANA 一起传输、这意味着如果 CPU2拥有 CANA、CPU1将无法访问 CANA 消息 RAM。

    话虽如此、您可以在应用中动态重新分配 CAN 模块。 无论 CPU 拥有模块的所有权、都将拥有消息 RAM 的所有权。 请注意、您的系统能够感知并能够处理切换、但这是可能的。

    我是否可以问您为什么需要3个 CAN 模块? CPU2是否需要在 CANA 上向 CAN 总线发送消息? 您实际上是否使用3个独立的 CAN 总线? 我只想了解一下您的系统、因为这是一种独特的用法、对我来说是一种新功能。

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

    我想对我的上述帖子作一些澄清。 如果您正在对模块本身进行任何动态重新分配、请确保模块的时钟已禁用。 当 CANA 模块已分配给另一个 CPU 时、您需要完全重新初始化它。 如果在重新分配之前未禁用该模块、我们不保证该模块能够正常运行。

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

    标记,

    感谢您的回复。 我使用 F28377D 进行牵引电机控制+直流/交流和通信、CPU1处理直流/交流和通信、CPU2处理电机控制。 我需要通过 CAN 更新 CPU1和 CPU2程序、并通过 CAN 更新终端用户通信。 根据终端客户的要求、CPU1和 CPU2可能需要不同的 CAN 波特率。

    谢谢、

    Samual

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    真有意思。 CPU1和 CPU2实际上只是同一 CAN 总线上的单独节点、但所需的第三个节点可能是完全不同的总线?

    您是否了解过通过 CPU1进行 CPU2程序升级、以便利用 IPC 和共享 RAM? 很好奇。

    如果您认为我已经回答了您的问题、请使用解决方案验证帖子、我们可以关闭该主题。

    谢谢、
    标记