beautypg.com

5 errors, 1 error at message level, 2 error at bit level – Rainbow Electronics ATmega64C1 User Manual

Page 172: 3 error signalling

background image

172

7647A–AVR–02/08

ATmega32/64/M1/C1

Figure 16-4. Bus Arbitration

16.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:

16.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.

16.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.

16.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