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.

[参考译文] TMS320F2812:F2812 CAN 总线 ACK 问题

Guru**** 2539500 points
Other Parts Discussed in Thread: TMS320F2812

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/608702/tms320f2812-f2812-can-bus-ack-issue

器件型号:TMS320F2812

您好,

我的客户使用 TMS320F2812 CAN 总线模块。

从机接收到数据,但在 CAN 总线上一次发送失败消息后不回复 ACK。

有没有关于"接收数据但无 ACK "这种情况的解释?

CAN TX 数据故障是否会影响下一次 CAN RX 数据?

谢谢、

此致、

Simen

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

    锡门、

               

    当一个节点在 CAN 总线上传输帧时、它需要至少一个网络上的其他节点发送一个 ACKnowledgement。 每当 CAN 节点成功接收到消息时、它将自动发送确认、除非该功能已关闭(某些 CAN 实现具有所谓的"静默模式"、其中节点接收帧、但不提供确认; TI TMS320F2837xx 系列 MCU 中的 DCAN 模块具有此功能)。 提供 ACK 的节点不需要成为帧的预期接收者、尽管它很可能。 (总线上的所有活动节点都将提供一个 ACKnowledge、无论它们是否是该帧的目标收件人)。 当发送节点没有收到 ACK 时、它会导致确认错误、并且它会一直重复传输帧。 TEC 将递增到128并在此处停止。 REC 保持为0。 节点不会脱离总线。

     

    有没有关于"接收数据但无 ACK "这种情况的解释?

    您提到这种情况发生在主器件上次传输"失败消息"后。 可能是接收器处于脱离总线状态、实际上并未接收到消息。 或者、发送 ACK 的功能可能已关闭(如上段所述)。

     

    CAN TX 数据故障是否会影响下一次 CAN RX 数据?

    这取决于您所说的"数据故障"的含义、网络中有多少个节点、使用了什么 HLP 以及接收节点目前是否处于错误活动状态。 如果不知道所有这些细节、就很难回答这个问题。

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

    感谢您的回答。


    此致、
    Simen