CAN

What is CAN?

CAN (Controller Area Network) is a serial communication standard that is widely used in the automotive industry. A CAN bus system is a network that enables interconnected nodes to communicate with each other through CAN by broadcasting data to a central bus.

There are several advantages to using CAN:

  • Simplicity: Nodes are directly connected to the bus through a single two-wire interface, reducing wiring complexity, weight, and cost.
  • Speed: Supports up to 1Mbps baud rate.
  • Reliability: Robust against electrical disturbances and electromagnetic interference; features such as arbitration, CRC, and ACK fields further ensure signal integrity.
  • Scalability: The number of nodes connected on a CAN bus is easily scalable.

CAN Frames

Data is sent over the CAN bus through CAN frames (or CAN messages):

  • SOF: Start of Frame bit, marks the start of the CAN frame.
  • ID: CAN frame identifier, lower values have higher priority. The CAN ID is 11 bits for Standard CAN and 29 bits for extended CAN.
  • RTR: Remote Transmission Request bit, indicates whether information is required from another node.
  • Control: Contains the IDE (Identifier Extension) bit which is dominant 0 for standard CAN. Also contains the DLC (Data Length Code), 4 bits that specify the length of the data section.
  • Data: 0 - 8 bytes of CAN data.
  • CRC: Cyclic Redundancy Check, a checksum of the preceding data bits to ensure data integrity.
  • ACK: Acknowledgement bit, indicates if the node has properly acknowledged the data (overwritten with dominant 0).
  • EOF: End of Frame, marks the end of the CAN frame.

Sub-Pages

Further Reading