【问题标题】:CAN BUS - ACK fieldCAN BUS - ACK 字段
【发布时间】:2015-08-07 11:40:57
【问题描述】:

当接收节点想要 ACK 确认接收到一个帧时,它到底应该发送什么?

只有一个显性位用于 ACK 的同一帧?

【问题讨论】:

  • 查看此 [link]ti.com/lit/an/sloa101b/sloa101b.pdf?ts=1605576061271 的第 9 页以了解 ACK 位,如果您的 uC 正在传输,您应该考虑在传输级别为挂起的消息设置“超时”,因为当总线上没有其他可用节点时,您的 uC 将不断尝试发送消息,直到收到 ACK。

标签: can-bus


【解决方案1】:

不,总线上的每个 CAN 节点控制器通常会侦听传输的消息并自动检查此帧的正确性 (CRC)。

而且它通常还会通过在消息传输期间用显性 ACK=0 覆盖隐性 ACK=1(发送器“发送”)来确认消息。所以不需要第二条消息来确认第一条消息。

这也是为什么任何 CAN 总线都不能只有一个节点的原因,因为没有其他人可以确认和检查其发送的帧。

当然,在某些控制器中,这些检查可以被停用或忽略,但在常见用例中则不行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-19
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多