The range for CAN message IDs depends on the type of identifier used: Standard or Extended.
The Identifier (ID) is a crucial part of a CAN message frame, used to prioritize the message and filter it at receiver nodes. There are two formats defined by the CAN standard:
Standard CAN Identifier Range
A Standard CAN identifier uses an 11-bit value.
- Reference Information: The values range: 0 through 2047 for a standard identifier.
This means a Standard CAN ID can be any integer from 0 up to and including 2047.
Extended CAN Identifier Range
An Extended CAN identifier uses a 29-bit value.
- Reference Information: The values range: 0 through 536,870,911 for an extended identifier.
This means an Extended CAN ID can be any integer from 0 up to and including 536,870,911.
Summary of CAN ID Ranges
CAN Identifier Type | Number of Bits | ID Range |
---|---|---|
Standard | 11 bits | 0 to 2047 |
Extended | 29 bits | 0 to 536,870,911 |
How the ID is Used
The CAN ID serves multiple purposes:
- Prioritization: Lower ID values have higher priority on the bus. When multiple nodes try to transmit at the same time, the one with the lowest ID wins arbitration.
- Filtering: Nodes on the CAN bus can be configured to only receive messages with specific IDs, ignoring others.
Most modern CAN implementations support both standard and extended formats. Messages with standard IDs typically have higher priority than messages with extended IDs during arbitration, even if the numeric value of the extended ID is lower.
Understanding the ID range is fundamental when designing or analyzing a CAN network, as it dictates the maximum number of unique message types and influences network behavior like arbitration.