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.

[参考译文] TMS570LC4357:发送 CAN 消息时出现问题

Guru**** 2482105 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/699825/tms570lc4357-problem-sending-can-message

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

您好!

我目前正在使用 Hercules TMS570LC43x LaunchPad 开发套件。 我要尝试将 CAN 消息发送到另一个 MCU、更具体地说是 Hercules 安全 MCU 开发套件 TMS570 MCU。 我已经能够从开发套件向 LaunchPad 发送 CAN 消息、但是、我无法以相反方式发送消息。 我只在 LaunchPad 上遇到了这个问题。

我使用以下配置在 HALCoGen 中配置了 LaunchPad:

- TMS570LC4357ZWT 芯片

-启用 CAN1驱动器

-禁用标识符扩展(我需要使用11位标识符)

-已将 CAN1的第一个消息框配置为 TX 并配置了标识符,并已激活消息框

在代码中:

-我在 canREG1上启用了错误通知

-我读取了 canREG1错误和状态寄存器

-尝试传输

经过很短的时间、在通知= 96的情况下触发了 CanErrorNotification、此时、canREG1的错误和状态寄存器的值为99、在读取 MCU 的文档后、这意味着设置了 EPass 和 EWarn 位、 最后一个错误代码是3H、即 Ack Error。 我需要注意的是、还有另一个节点、因为 LaunchPad 通过 CAN 连接到 Hercules 开发 MCU、在同一配置中、我可以将 CAN 消息从开发套件发送到 Launchpad、从而在 LaunchPad 上触发 canMessageNotification。

我不知道为什么尝试发送时出现 Ack 错误、我认为在配置两个节点时存在不匹配、但是在 HALCoGen 中、两个 MCU 上 CAN1的一般部分是相同的。

我已经看到一个节点在 ACK 槽中写入一个隐性位、即如果 CRC 对该消息无效、则不确认消息。 但是、如果我调试开发套件 MCU 和接收器、并检查 CAN1的状态和错误寄存器、我不会看到 CRC 错误。

如果我能提供更多信息、请随时咨询。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CAN 通信几乎总是会出现早期故障、这些故障通过正确的通信布线来清除。 正确接线。 使用端接电阻器正确设置。

    我个人认为 USB CAN 记录器有助于查看显示的流量。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为接线设置是正确的、因为我能够收到一条消息。 但是、经过进一步调查、我发现 LaunchPad 开发套件板不附带 CAN 收发器、这让我感到意外。 这就是我无法使用电路板发送消息的原因。 很有意思的是、它收到了消息、但是发送者永远不会收到确认。
    总之、我假设接线和代码设置正确、但我不希望 LaunchPad 缺少 CAN 收发器。
    感谢你的帮助
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Adrian、

    Launchpad 没有 CAN 收发器。 您可以在 HDK 上使用 CAN1和 CAN2测试您的代码。