The format of a CAN XL message
A CAN XL Data Message
The figure below illustrates the format of a CAN XL message. The start of a message is indicated by a leading dominant bit, followed by an 11-bit message key. This is followed by four bits reserved for CAN FD, ensuring that the message remains compatible with CAN FD up to that point. After that, it becomes a specific CAN XL message, and a CAN FD node will ignore it until the End-of-Frame.
CAN XL uses various types of stuff bits. During the arbitration phase, these are dynamic and compatible with CAN FD. Thereafter, CAN XL uses fixed stuff bits for every 10 data bits.
| Field name | Length (bits) | Purpose |
|---|---|---|
| SOF = Start-of-frame | 1 | Indicates the start of a message by pulling the bus to dominant ‘0’ |
| Identifier | 11 | A (unique) identifier for the data which also indicates the message priority Compatible with CAN FD |
| RRS = Reserved bit 1 | 1 | Reserved bit Compatible with CAN FD |
| IDE = Identifier extension bit | 1 | Always recessive ‘1’ for 11-bit ID Compatible with CAN FD |
| FDF = FD Frame Format | 1 | Always recessive ‘1’ Compatible with CAN FD |
| XLF = XL Frame Format | 1 | Always a recessive ‘1’ and puts CAN FD into the Protocol Exception State, so that CAN FD nodes do not interfere with CAN XL messages Last bit that is compatible with CAN FD |
| RXL = XL Reserved bit | 1 | Reserved XL bit, Dominant “0” |
| ADS = Arbitration Data Sequence | 4 | Transition from the arbitration phase to the data phase |
| SDT = SDU Type | 8 | Specifies the type of protocol contained in the data field: 0x01 = Content-based addressing 0x02 = Node addressing 0x03 = CAN Classic & CAN FD message tunnel 0x04 = IEEE 802.3 (Ethernet) tunnel 0x05 = IEEE 802.3 (Ethernet) mapped tunnel |
| Sec = Security | 1 | Indicates whether any further Layer 2 function headers have been added to the data field (e.g. security or fragmentation). |
| DLC = Data Length Code | 11 | Specifies the number of bytes in the data field, from 1 to 2048 Note that CAN XL does not provide the option of not adding any data bytes. |
| SBC = Stuff Bit Count | 3 | Counter indicating the number of dynamic stuff bits in the arbitration field, as a safeguard against specific errors |
| PCRC = Preface CRC | 13 | CRC of all bits up to this field |
| VCID = Virtual CAN Network ID | 8 | This allows the CAN bus to be divided into virtual buses, similar to a VLAN ID in Ethernet |
| AF = Acceptance Field | 32 | Field for addressing; the interpretation of this field depends on the value in the SDT |
| Data = Data Field | 8–16348 | 1 to 2048 bytes of user data |
| FCRC = Frame CRC | 32 | CRC over all bits up to this field |
| FCP = Format Check Pattern, last bits of the FCP field | 4 | The receiver checks whether it is synchronised with the transmitted bit stream; this is necessary to ensure sufficient processing time at high data rates |
| DAS = Data Arbitration Sequence, first bits of the ACK field | 4 | Switchover of the bit rate from the data phase to the arbitration phase |
| ACK = Acknowledge, last bits of the ACK field | 2 | Positive acknowledgement, same as in CAN FD |
| EOF = End-of-frame | 7 | Must be a recessive ‘1’ |
Other CAN XL messages
CAN XL does not support Extended Data or Remote Request (RTR) messages.




