如何通过其他节点在CAN总线上确认传输CAN消息?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过其他节点在CAN总线上确认传输CAN消息?相关的知识,希望对你有一定的参考价值。

我知道由另一个节点发送的消息的接收者发送显性确认位。

我无法理解的是接收到整个消息后接收方是否发送了一个显性位,或者接收方发送的相同消息是否为ACK位字段?

或者,当发射机正在发送数据帧时,接收机是否将ACK字段驱动到不同的电压电平?

此外,两个CAN节点是否可以确认相同的消息?如果是,那怎么样?如果不是,为什么呢?

我需要澄清一下。

答案

或者,当发射机正在发送数据帧时,接收机是否将ACK字段驱动到不同的电压电平?

这是正确的答案。

在CAN帧的确认槽中,发送器将总线设置为隐性级别。

接收到没有错误的帧的每个接收器将CAN总线驱动到确认时隙中的显性状态。所以一个接收器足以做到这一点。确认该消息的多个接收器没有区别,因为足以将CAN总线驱动到显性状态。

另一方面,发送器检测到CAN总线被驱动到显性状态,从而知道该消息已被至少一个其他节点接收而没有错误。

以上是关于如何通过其他节点在CAN总线上确认传输CAN消息?的主要内容,如果未能解决你的问题,请参考以下文章

求:can总线通信如何实现两个节点互相收发,希望是keil.c程序

CAN总线要点

CAN总线过载帧

CAN数据传输线的结构?

qt上 上下位机can总线通信

CAN总线简易入门教程