SLOA101B August   2002  – May 2016 SN55HVD233-SEP , SN65HVDA1040A-Q1 , SN65HVDA1050A-Q1 , SN65HVDA540-5-Q1 , SN65HVDA540-Q1 , SN65HVDA541-5-Q1 , SN65HVDA541-Q1 , SN65HVDA542-5-Q1 , SN65HVDA542-Q1

 

  1.   Introduction to the Controller Area Network (CAN)
    1.     Trademarks
    2. 1 Introduction
    3. 2 The CAN Standard
    4. 3 Standard CAN or Extended CAN
      1. 3.1 The Bit Fields of Standard CAN and Extended CAN
        1. 3.1.1 Standard CAN
        2. 3.1.2 Extended CAN
    5. 4 A CAN Message
      1. 4.1 Arbitration
      2. 4.2 Message Types
        1. 4.2.1 The Data Frame
        2. 4.2.2 The Remote Frame
        3. 4.2.3 The Error Frame
        4. 4.2.4 The Overload Frame
      3. 4.3 A Valid Frame
      4. 4.4 Error Checking and Fault Confinement
    6. 5 The CAN Bus
      1. 5.1 CAN Transceiver Features
        1. 5.1.1  3.3-V Supply Voltage
        2. 5.1.2  ESD Protection
        3. 5.1.3  Common-Mode Voltage Operating Range
        4. 5.1.4  Common-Mode Noise Rejection
        5. 5.1.5  Controlled Driver Output Transition Times
        6. 5.1.6  Low-Current Bus Monitor, Standby and Sleep Modes
        7. 5.1.7  Bus Pin Short-Circuit Protection
        8. 5.1.8  Thermal Shutdown Protection
        9. 5.1.9  Bus Input Impedance
        10. 5.1.10 Glitch-Free Power Up and Power Down
        11. 5.1.11 Unpowered Node Protection
        12. 5.1.12 Reference Voltage
        13. 5.1.13 V-Split
        14. 5.1.14 Loopback
        15. 5.1.15 Autobaud Loopback
      2. 5.2 CAN Transceiver Selection Guide
    7. 6 Conclusion
    8. 7 Additional Reading
  2.   Revision History

Error Checking and Fault Confinement

The robustness of CAN may be attributed in part to its abundant error-checking procedures. The CAN protocol incorporates five methods of error checking: three at the message level and two at the bit level. If a message fails any one of these error detection methods, it is not accepted and an error frame is generated from the receiving node. This forces the transmitting node to resend the message until it is received correctly. However, if a faulty node hangs up a bus by continuously repeating an error, its transmit capability is removed by its controller after an error limit is reached.

Error checking at the message level is enforced by the CRC and the ACK slots displayed in Figure 2 and Figure 3. The 16-bit CRC contains the checksum of the preceding application data for error detection with a 15-bit checksum and 1-bit delimiter. The ACK field is two bits long and consists of the acknowledge bit and an acknowledge delimiter bit.

Also at the message level is a form check. This check looks for fields in the message which must always be recessive bits. If a dominant bit is detected, an error is generated. The bits checked are the SOF, EOF, ACK delimiter, and the CRC delimiter bits

At the bit level, each bit transmitted is monitored by the transmitter of the message. If a data bit (not arbitration bit) is written onto the bus and its opposite is read, an error is generated. The only exceptions to this are with the message identifier field which is used for arbitration, and the acknowledge slot which requires a recessive bit to be overwritten by a dominant bit.

The final method of error detection is with the bit-stuffing rule where after five consecutive bits of the same logic level, if the next bit is not a complement, an error is generated. Stuffing ensures that rising edges are available for on-going synchronization of the network. Stuffing also ensures that a stream of bits are not mistaken for an error frame, or the seven-bit interframe space that signifies the end of a message. Stuffed bits are removed by a receiving node’s controller before the data is forwarded to the application.

With this logic, an active error frame consists of six dominant bits—violating the bit stuffing rule. This is interpreted as an error by all of the CAN nodes which then generate their own error frame. This means that an error frame can be from the original six bits to twelve bits long with all the replies. This error frame is then followed by a delimiter field of eight recessive bits and a bus idle period before the corrupted message is retransmitted. It is important to note that the retransmitted message still has to contend for arbitration on the bus.