239
7679H–CAN–08/08
AT90CAN32/64/128
Figure 19-4.
Bus Arbitration
19.2.5
Errors
The CAN protocol signals any errors immediately as they occur. Three error detection mecha-
nisms are implemented at the message level and two at the bit level:
19.2.5.1
Error at Message Level
• Cyclic Redundancy Check (CRC)
The CRC safeguards the information in the frame by adding redundant check bits at the
transmission end. At the receiver these bits are re-computed and tested against the received
bits. If they do not agree there has been a CRC error.
• Frame Check
This mechanism verifies the structure of the transmitted frame by checking the bit fields
against the fixed format and the frame size. Errors detected by frame checks are designated
"format errors".
• ACK Errors
As already mentioned frames received are acknowledged by all receivers through positive
acknowledgement. If no acknowledgement is received by the transmitter of the message an
ACK error is indicated.
19.2.5.2
Error at Bit Level
• Monitoring
The ability of the transmitter to detect errors is based on the monitoring of bus signals. Each
node which transmits also observes the bus level and thus detects differences between the
bit sent and the bit received. This permits reliable detection of global errors and errors local to
the transmitter.
• Bit Stuffing
The coding of the individual bits is tested at bit level. The bit representation used by CAN is
"Non Return to Zero (NRZ)" coding, which guarantees maximum efficiency in bit coding. The
synchronization edges are generated by means of bit stuffing.
19.2.5.3
Error Signalling
If one or more errors are discovered by at least one node using the above mechanisms, the cur-
rent transmission is aborted by sending an "error flag". This prevents other nodes accepting the
message and thus ensures the consistency of data throughout the network. After transmission
of an erroneous message that has been aborted, the sender automatically re-attempts
transmission.
node A
TXCAN
node B
TXCAN
ID10 ID9
ID8
ID7
ID6
ID5
ID4
ID3
ID2
ID1
ID0
SOF
SOF
RTR IDE
CAN bus
- - - - - - - - -
Arbitration lost
Node A loses the bus
Node B wins the bus