Hardware Reference
In-Depth Information
13.4 Error Handling
There are five types of errors. These errors are not mutually exclusive.
13.4.1 Bit Error
A node that is sending a bit on the bus also monitors the bus. When the bit value moni-
tored is different from the bit value being sent, the node interprets the situation as an error.
There are two exceptions to this rule.
A node that sends a recessive bit during the stuffed bitstream of the arbitration
field or during the ACK slot detects a dominant bit.
A transmitter that sends a passive-error flag detects a dominant bit.
13.4.2 Stuff Error
A stuff error is detected whenever six consecutive dominant or six consecutive recessive
levels occur in a message field.
13.4.3 CRC Error
The CRC sequence consists of the result of the CRC calculation by the transmitter. The
receiver calculates the CRC in the same way as the transmitter. A CRC error is detected if the
calculated result is not the same as that received in the CRC sequence.
13.4.4 Form Error
A form error is detected when a fixed-form bit field contains one or more illegal bits. For a
receiver, a dominant bit during the last bit of the end-of-frame field is not treated as a form error.
13.4.5 Acknowledgement Error
An acknowledgement error is detected whenever the transmitter does not monitor a domi-
nant bit in the ACK slot.
13.4.6 Error Signaling
A node that detects an error condition signals the error by transmitting an error flag.
An error-active node will transmit an active-error flag; an error-passive node will transmit a
passive-error flag. Whenever a node detects a bit error, a stuff error, a form error, or an acknowl-
edgement error, it will start transmission of an error flag at the next bit time. Whenever a CRC
error is detected, transmission of an error flag will start at the bit following the ACK delimiter,
unless an error flag for another error condition has already been started.
13.5 Fault Confinement
13.5.1 CAN Node Status
A node in error may be in one of three states: error active, error passive, or bus off. An error-
active node can normally take part in bus communication and sends an active-error flag when
an error has been detected. An error-passive node must not send an active-error flag. It takes part
in bus communication, but when an error has been detected, only a passive-error flag is sent.
 
Search WWH ::




Custom Search