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:Hercules 与其他 CAN 硬件的 CAN 接口

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/595318/tms570lc4357-can-interfacing-of-hercules-with-other-can-hardwares

器件型号:TMS570LC4357

您好!

我一直在研究 TMS570lc43x 的 CAN 功能。 我使用  5V CAN 收发器成功地将 CAN 消息从一个 TMS570lc43x 传输到另一个 TMS570lc43x、传输速率为10ms (使用 RTI)、并使用 sci 模块发布。 遗憾 的是、即使在尝试几次之后、我也无法使用 Hercules 板将消息发送/接收到不同的 CAN 节点(例如:向量的 CAN 硬件)。 它显示的错误是 确认错误。 我是否在 Hercules 侧执行错误操作以确认 CAN 节点消息、或者问题是否存在其他问题? 我也保持了相同的比特率。

此外、我正在使用的矢量硬件也已经过测试、它成功地发送了 CAN 消息。 我能够与其他 TMS570lc43x 电路板对接、但不能接收消息或将消息发送到其他 CAN 节点。

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

    ACK 是 CAN2.0B 硬件层的一部分、与您的代码没有任何关系。 如果您能够在两个 TMS570器件之间进行通信、只要您具有匹配的波特率、包括正确配置 Vector 工具、您就应该能够与 Vector 工具进行通信。 您还应注意、每个节点(包括网络中的 TMS570s)上都有正确的端接电阻、并且 CAN 通信的布线正确。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Chuck、

    感谢您的回复。

    我已经成功地将我的 Hercules 与我的矢量工具相连接、即 我能够以10ms 的速率发送6条 CAN 消息(使用 RTI)并从矢量软件进行查看。此外、我还使矢量工具以10ms 的速率同时向 Hercules 发送数据。 问题是我无法捕获这些消息并打印它(使用 sci)。例如,矢量发送了一条 ID 为76D 的消息,我将 Hercules 设置为捕获 ID 为0x76D 的消息,Hercules 无法 捕获这些消息。后来我意识到了原因。 我用 id 76E 向引导程序发送了消息、我通过软件看到的是收到的 id 76Ex 消息、而不是76E 消息。 我了解的是、Hercules 将 id 设置为76Ex、而不是76E。 接收来自其他 CAN 节点的消息也存在相同问题。

    可以帮帮我吗? "x"表示什么? Hercules ID 以什么格式表示?

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

    您看到的最可能是对扩展 MSGID 格式的引用。 正常 ID 的长度为11位、但 CAN2.0B 还指定了23位的 AM 扩展 ID、可供使用。 您很可能会看到扩展 ID 的引用。 您正在使用的 CAN 配置是否已配置为扩展 ID? 如果不是、则较短的 ID 应该是可以的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Chuck!

    感谢您的建议、我能够按照我的要求将 Hercules 与我的矢量工具连接起来!

    非常感谢:)