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.

[参考译文] TMS320F28034:F28034 eCAN 是否为目标外 ID 返回 ACK?

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/988480/tms320f28034-does-the-f28034-ecan-return-ack-for-out-of-target-ids

器件型号:TMS320F28034

您好、香榭丽舍

我对 F28034 eCAN 有疑问。

即使 ID 不是邮箱目标、F28034也会返回 ACK 吗?

假设 CAN 传输路径上有三个器件:器件 A、器件 B 和器件 C

器件 A 和 B 配有 F28034、器件 C 配有另一个微控制器。


例如、器件 A 发送到器件 C 的 ID 为100

器件 C 在其邮箱中注册 ID100、以便它可以接收 ID100。

器件 B 不会注册邮箱、因此它不会接收邮箱。

在这种情况下、假设器件 A 发送 ID100、而器件 C 由于某种原因无法接收数据。

在这种情况下、我们希望器件 A 检测到 ACK 错误并重新发送数据、但出于某种原因、不会发生 ACK 错误、器件 A 不会重新发送数据。

当器件 B 的 CAN 模块被屏蔽时、会发生 ACK 错误并且器件 A 重新发送。

F28034是否为非目标 ID 返回 ACK?


我在《技术参考手册》(SPRUI10)第815页的"14.5.3 CAN 模块在正常配置下的运行"中找到了以下信息。

根据 CAN 协议规范、接收到消息的任何 CAN 节点都将进行确认(除非确认机制已明确关闭)、无论是否已将其配置为存储接收到的消息。
无法关闭 C28x DSP 中的确认机制。


非常感谢您的帮助。
此致、
Yuka

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

    是的、总线上的每个节点都会确认每个帧。 我在应用报告 http://www.ti.com/lit/spra876中对此进行了清楚的解释 

    "除非在自检模式下工作、否则 CAN 总线上至少需要两个节点、 原因如下:当一个节点在 CAN 总线上传输帧时、它需要网络上至少一个其他节点的确认(ACK)。 每当 CAN 节点成功接收到消息时、它将自动发送 ACK、除非该功能已关闭(某些 CAN 实现具有所谓的"静默模式"、其中节点接收帧、但不提供 ACK; TI TMS320F2837xx 系列 MCU 中的 DCAN 模块具有此功能)。 提供 ACK 的节点不需要成为帧的预期接收者、尽管它很可能。 (总线上的所有活动节点都将提供 ACK、无论它们是否是该帧的预期收件人)"

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

    您好、Haresh、

    我理解您的回答。
    感谢您的友好支持。

    此致、
    Yuka