CAN总线采用多播时节点是否参与ACK过程?含双节点过滤场景问询
CAN总线ACK确认与标识符过滤的关系问题解答
首先明确ISO 11898-1标准里的两个关键机制:
- ACK位发送逻辑:节点只要接收到的帧通过了CRC校验(帧本身无损坏),就会在ACK时隙发送显性位,和帧的标识符无关。
- 标识符过滤逻辑:这是连接CAN shield的设备软件层面处理的,硬件CAN节点本身会完整接收总线上的所有帧,只是在后续软件阶段过滤掉不需要的标识符帧,不会影响硬件层面的CRC校验和ACK反馈。
回到你的场景:device B虽然在过滤特定标识符,但它的CAN shield硬件会完整接收device A发送的另一个标识符的帧,只要这个帧的CRC校验通过,device B的CAN节点就会发送显性ACK位。标识符过滤是在硬件接收完帧之后,由上层软件决定是否保留该帧,完全不影响ACK阶段的操作。
结论:device B会确认这个帧。
内容的提问来源于stack exchange,提问作者spaceKelan
相关产品推荐
相关产品推荐

