CAN Bus Disadvantage: Inconsistency
There is a well-known Last-But-One-Bit bug in the CAN bus. CAN bus 2 OA stipulates in the message authentication (MessageValidation): the scope of the sender’s error checking can cover the end of the frame, if an error is found, it will be retransmitted according to the priority and status; the scope of the receiver’s error checking covers the frame The previous one to the end. Therefore, if due to space interference, power supply fluctuation, etc., for the penultimate digit of the frame, some nodes A think that there is no error, and some nodes B think that there is an error, that is, the so-called Byzantine error occurs. At this time, the root EOF should be 7 recessive bits. Node B thinks this is a form error, so it will start the error frame, notify the sender to retransmit, and discard the received frame. And the node A that thinks the setting is wrong will receive this frame because only the second-to-last digit is found. If the retransmission notified by B is successful before the next transmission in the sender’s routine, A will receive the duplicate frame; if the retransmission is unsuccessful, B will lose a frame. In the steering and braking system, the 4 wheels have different interpretations of the command, which can cause performance degradation or other more serious consequences.