Page 239 - Embedded Microprocessor Systems Real World Design
P. 239

CAN error checking is performed by  three methods:
                      The CRC  (a complex checksum method)  is calculated and inserted into the
                      message by  the transmitter. The receiving node  calculates the same CRC and
                      compares it against the received CRC to detect transmission errors. If  a CRC
                      error is detected, an error frame is generated to request retransmission.
                      The second error check uses the acknowledge bit; the message is sent from the
                      transmitter to the receiver, but the acknowledge bit is sent from the receiver to
                      the transmitter. If no acknowledge bit is received, the message is retransmitted.
                      Finally, a frame check is performed by the transmitter, in which it looks for an
                      incorrect state during the CRC delimiter, acknowledge delimiter, end-of-frame
                      and interframe space periods. An incorrect signaling value during these periods
                      is an error.

                      There  are  two versions  of  CAN: Version  2.0A  (Standard  CAN)  supports  an
                   11-bit identifier field (supports 2047 message types) and version 2.OB  (Extended
                   CAN) supports an 18-bit identifier extension, for a total 29-bit identifier field.
                      CAN interconnects can be up to 40m long at 1 Mbps. Longer cables can be used
                   with  lower bit rates. Up  to  30  nodes  may  be  connected to a single CAN  bus. A
                   number of manufacturers  make microcontrollers  that interface directly to CAN
                   bus. Examples are the Siemens C167R and Intel 87C196CB. Intel also makes a com-
                   munications controller, the 82527, that provides a CAN interface for processors that
                   lack embedded CAN capability. Figure 8.9 shows the data sequence and voltage
                   levels for CAN.


                                                   CAN PROTOCOL
                             ARBlTRATlONtlD FIELD









                                   -

                                   DIFFERENTIAL CAN VOLTAGE LEVELS
                               :::L(-'
                                                 WIRE 1
                               ov                WIRE 2

                                      I     0


                   Figure 8.9
                   CAN Bus.


                   220                                             Embedded Micr@-rocessm Systems
   234   235   236   237   238   239   240   241   242   243   244