Author: Dr Kaarthick Balakrishnan
Each node maintains two error #counters: the Transmit Error Counter and the Receive Error Counter. There are several rules governing how these counters are incremented and/or decremented. In essence, a transmitter detecting a fault increments its Transmit Error Counter faster (usually 8) than the listening nodes will increment their Receive Error Counter. This is because there is a good chance that it is the transmitter who is at fault! When any Error Counter raises over a certain value (usually 128), the node will first become “error passive”, that is, it will not actively destroy the bus traffic when it detects an error, and then “#bus off”(usually 255), which means that the node doesn’t participate in the bus traffic at all.
Using the error counters, a CAN node can not only detect faults but also perform error confinement.