English
Language : 

MEGA128CAN Datasheet, PDF (241/413 Pages) ATMEL Corporation – Microcontroller WITH 128K BYTES OF ISP FLASH AND CAN CONTROLLER
Error Management
Fault Confinement
Error Types
4250E–CAN–12/04
AT90CAN128
The CAN channel may be in one of the three following states:
• Error active (default):
The CAN channel takes part in bus communication and can send an active error
frame when the CAN macro detects an error.
• Error passive:
The CAN channel cannot send an active error frame. It takes part in bus
communication, but when an error is detected, a passive error frame is sent. Also,
after a transmission, an error passive unit will wait before initiating further
transmission.
• Bus off:
The CAN channel is not allowed to have any influence on the bus.
For fault confinement, a transmit error counter (TEC) and a receive error counter (REC)
are implemented. BOFF and ERRP bits give the information of the state of the CAN
channel. Setting BOFF to one may generate an interrupt.
Figure 122. Line Error Mode
ERPP = 1
BOFF = 0
Reset
ERPP = 0
BOFF = 0
Error
Active
TEC > 127 or
REC > 127
TEC ≤ 127 and
REC ≤ 127
128 occurrences
of 11 consecutive
recessive bit
ERPP = 0
BOFF = 1
Error
Bus
Passive
TEC > 255
Off
BOFFIT interrupt
Note: More than one REC/TEC change may apply during a given message transfer.
• BERR: Bit error. The bit value which is monitored is different from the bit value sent.
Note:Exceptions:
- Recessive bit sent monitored as dominant bit during the arbitration field and the
acknowledge slot.
- Detecting a dominant bit during the sending of an error frame.
• SERR: Stuff error. Detection of more than five consecutive bit with the same polarity.
• CERR: CRC error (Rx only). The receiver performs a CRC check on every destuffed
received message from the start of frame up to the data field. If this checking does
not match with the destuffed CRC field, an CRC error is set.
• FERR: Form error. The form error results from one (or more) violations of the fixed
form of the following bit fields:
– CRC delimiter
– acknowledgement delimiter
– end-of-frame
– error delimiter
241