Course contentsShow
← Embedded Systems & Computer Architecture
Lesson 391 of 9365. Communication Protocols and Data TransferFree lesson

Extended CAN Frames and Identifier Lengths

Compare standard 11-bit identifiers with extended 29-bit identifiers to understand how to scale network addressing for complex multi-node automotive or industrial systems.

In this lesson, you will learn how Extended CAN frames expand the addressing capacity of your network by transitioning from 11-bit to 29-bit identifiers.

In our previous look at the CAN Data Frame, we focused on the Standard frame format. A Standard CAN frame uses an 11-bit Identifier (ID), which allows for 2112^{11} (2,048) unique message IDs on the bus. While this is sufficient for simple sensor networks, complex automotive or industrial systems often require more unique identifiers to manage hundreds of distinct control signals, diagnostic messages, and status updates across a single bus.

The Anatomy of the Extension

The Extended CAN frame (often called CAN 2.0B) increases the identifier length to 29 bits. This is achieved by taking the original 11-bit "Base ID" and appending an 18-bit "ID Extension," resulting in a total of 29 bits of address space (2292^{29} or over 536 million possible IDs).

The shift from 11-bit to 29-bit is signaled by the IDE (Identifier Extension) bit. When the controller detects a dominant state in the IDE bit, it expects a Standard frame; a recessive state indicates that the frame is Extended.

Implementation Logic

When configuring a CAN controller, you generally define the frame type via a control register. Conceptually, your message structure changes as follows:

// Conceptual representation of ID handling
struct CAN_Message {
    uint32_t id;          // Can be 11-bit or 29-bit
    bool is_extended;     // Determines if IDE bit is dominant or recessive
    uint8_t dlc;          // Data Length Code
    uint8_t data[8];      // Payload
};

Because CAN relies on Message Prioritization Through Identifier Arbitration, the 29-bit identifier does not change how the bus functions. The dominant/recessive arbitration mechanism still applies; the bit-by-bit comparison simply continues for a longer duration. If two nodes transmit simultaneously, the node with the lower numerical ID value will win the bus, regardless of whether it is using an 11-bit or 29-bit format. Using 29-bit identifiers allows system architects to categorize traffic by priority or device type across a massive, scalable address space without causing bus collisions.

Key Takeaway: Extended 29-bit identifiers provide a massive increase in addressable nodes and message types, maintaining full backward compatibility with the arbitration process used in Standard 11-bit frames.