CAN 协议中存在用于协议扩展的保留位,已用于在 CAN 2.0B 规范之上构建 CAN FD 规范。如果
不使用,保留位被传输为低(显性)。但 CAN 2.0B 规范定义了保留位为高(隐性)的行为。因此,
如果使用此行为的 CAN 2.0B 节点接收到 CAN FD 帧(与 CAN 2.0B 帧相比具有不同帧格式),则这
将导致 CAN 2.0B 节点产生错误帧。这种行为称为“CAN FD 不兼容”。
为了向上兼容新的协议规范,如果节点检测到保留位为高,则应发生所谓的协议异常事件。这
适用于 CAN 2.0B 以及 CAN FD 节点。协议异常事件不会导致接收方采取任何行动。接收方只是忽
略此帧,不回复 ACK,等待总线空闲并可以发送或接收下一帧。对于 CAN 2.0B 节点,这称为“CAN
FD 兼容”,可在一个网络中实现 CAN 2.0B 和 FD 帧的共存。
|