In-Depth Analysis of the CAN FD Protocol FD Frame
In-Depth Analysis of the CAN FD Protocol
FD Frame
Introduction
In our previous article, "Why CAN FD Matters: A Leap Beyond Classical CAN", we discussed how CAN FD is an evolution of Classical CAN. From the original CAN to CAN 2.0A and CAN 2.0B, and now to CAN FD, the protocol has continuously advanced.
CAN 2.0A introduced the Standard 11-bit Identifier, which was later extended to a 29-bit Identifier in CAN 2.0B. However, the 8-byte payload limit and 1 Mbps data rate have become insufficient for modern applications. In response, Bosch introduced CAN FD, which supports payloads of up to 64 bytes and data bitrates of up to 8 Mbps or even higher, along with support for Bitrate Switching (BRS).
In this article, we will take an in-depth look at the structure of the CAN FD frame.
Protocol Key Points
Protocol | Key Points |
---|---|
CAN 2.0A | 11 bits – Standard Identifier |
CAN 2.0B | 11/29 bits – Standard / Extended Identifier |
CAN FD | 64 bytes payload, Up to 8 Mbps or even higher data bitrate |
FD Frame – FDF Bit
Located in the Control Field, the FDF (FD Format) bit is a critical control bit that ensures backward compatibility with CAN 2.0.
- FDF = 1 (recessive): Frame is treated as CAN FD
- FDF = 0 (dominant): Frame is interpreted as Classical CAN (CAN 2.0)
Flexible Data Rate (BRS)
The CAN FD frame introduces a BRS (Bit Rate Switch) flag in the Control Field.
- BRS = 1 (recessive): Switches from arbitration bitrate to faster data bitrate until CRC delimiter
- BRS = 0 (dominant): Transmission remains at arbitration bitrate
Note: If BRS=0, the frame is still CAN FD, but no speed improvement occurs.
Error State Indicator – ESI Bit
A new flag ESI (Error State Indicator) is added in CAN FD Control Field. It reflects the error state of the transmitting node:
ESI | Error State |
---|---|
0 (Dominant) | Error-Active |
1 (Recessive) | Error-Passive |
Expanded Payload Size
CAN 2.0 supports a maximum payload of only 8 bytes, while CAN FD expands this limit to 64 bytes.
DLC (Data Length Code) Interpretation
In CAN 2.0, the 4-bit DLC field supports 0–8 bytes. In CAN FD, DLC values above 8 map to fixed payload sizes.
Data Bytes | DLC (Binary) |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
12 | 1001 |
16 | 1010 |
20 | 1011 |
24 | 1100 |
32 | 1101 |
48 | 1110 |
64 | 1111 |
Example
If TX data length = 9 → DLC = 1001. To meet the required size of 12 bytes, three padding bytes (0x00) will be appended.
In-Depth Analysis of the CAN FD Protocol FD Frame
In-Depth Analysis of the CAN FD Protocol
FD Frame
Introduction
In our previous article, "Why CAN FD Matters: A Leap Beyond Classical CAN", we discussed how CAN FD is an evolution of Classical CAN. From the original CAN to CAN 2.0A and CAN 2.0B, and now to CAN FD, the protocol has continuously advanced.
CAN 2.0A introduced the Standard 11-bit Identifier, which was later extended to a 29-bit Identifier in CAN 2.0B. However, the 8-byte payload limit and 1 Mbps data rate have become insufficient for modern applications. In response, Bosch introduced CAN FD, which supports payloads of up to 64 bytes and data bitrates of up to 8 Mbps or even higher, along with support for Bitrate Switching (BRS).
In this article, we will take an in-depth look at the structure of the CAN FD frame.
Protocol Key Points
Protocol | Key Points |
---|---|
CAN 2.0A | 11 bits – Standard Identifier |
CAN 2.0B | 11/29 bits – Standard / Extended Identifier |
CAN FD | 64 bytes payload, Up to 8 Mbps or even higher data bitrate |
FD Frame – FDF Bit
Located in the Control Field, the FDF (FD Format) bit is a critical control bit that ensures backward compatibility with CAN 2.0.
- FDF = 1 (recessive): Frame is treated as CAN FD
- FDF = 0 (dominant): Frame is interpreted as Classical CAN (CAN 2.0)
Flexible Data Rate (BRS)
The CAN FD frame introduces a BRS (Bit Rate Switch) flag in the Control Field.
- BRS = 1 (recessive): Switches from arbitration bitrate to faster data bitrate until CRC delimiter
- BRS = 0 (dominant): Transmission remains at arbitration bitrate
Note: If BRS=0, the frame is still CAN FD, but no speed improvement occurs.
Error State Indicator – ESI Bit
A new flag ESI (Error State Indicator) is added in CAN FD Control Field. It reflects the error state of the transmitting node:
ESI | Error State |
---|---|
0 (Dominant) | Error-Active |
1 (Recessive) | Error-Passive |
Expanded Payload Size
CAN 2.0 supports a maximum payload of only 8 bytes, while CAN FD expands this limit to 64 bytes.
DLC (Data Length Code) Interpretation
In CAN 2.0, the 4-bit DLC field supports 0–8 bytes. In CAN FD, DLC values above 8 map to fixed payload sizes.
Data Bytes | DLC (Binary) |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
12 | 1001 |
16 | 1010 |
20 | 1011 |
24 | 1100 |
32 | 1101 |
48 | 1110 |
64 | 1111 |
Example
If TX data length = 9 → DLC = 1001. To meet the required size of 12 bytes, three padding bytes (0x00) will be appended.
In-Depth Analysis of the CAN FD Protocol FD Frame
In-Depth Analysis of the CAN FD Protocol
FD Frame
Introduction
In our previous article, "Why CAN FD Matters: A Leap Beyond Classical CAN", we discussed how CAN FD is an evolution of Classical CAN. From the original CAN to CAN 2.0A and CAN 2.0B, and now to CAN FD, the protocol has continuously advanced.
CAN 2.0A introduced the Standard 11-bit Identifier, which was later extended to a 29-bit Identifier in CAN 2.0B. However, the 8-byte payload limit and 1 Mbps data rate have become insufficient for modern applications. In response, Bosch introduced CAN FD, which supports payloads of up to 64 bytes and data bitrates of up to 8 Mbps or even higher, along with support for Bitrate Switching (BRS).
In this article, we will take an in-depth look at the structure of the CAN FD frame.
Protocol Key Points
Protocol | Key Points |
---|---|
CAN 2.0A | 11 bits – Standard Identifier |
CAN 2.0B | 11/29 bits – Standard / Extended Identifier |
CAN FD | 64 bytes payload, Up to 8 Mbps or even higher data bitrate |
FD Frame – FDF Bit
Located in the Control Field, the FDF (FD Format) bit is a critical control bit that ensures backward compatibility with CAN 2.0.
- FDF = 1 (recessive): Frame is treated as CAN FD
- FDF = 0 (dominant): Frame is interpreted as Classical CAN (CAN 2.0)
Flexible Data Rate (BRS)
The CAN FD frame introduces a BRS (Bit Rate Switch) flag in the Control Field.
- BRS = 1 (recessive): Switches from arbitration bitrate to faster data bitrate until CRC delimiter
- BRS = 0 (dominant): Transmission remains at arbitration bitrate
Note: If BRS=0, the frame is still CAN FD, but no speed improvement occurs.
Error State Indicator – ESI Bit
A new flag ESI (Error State Indicator) is added in CAN FD Control Field. It reflects the error state of the transmitting node:
ESI | Error State |
---|---|
0 (Dominant) | Error-Active |
1 (Recessive) | Error-Passive |
Expanded Payload Size
CAN 2.0 supports a maximum payload of only 8 bytes, while CAN FD expands this limit to 64 bytes.
DLC (Data Length Code) Interpretation
In CAN 2.0, the 4-bit DLC field supports 0–8 bytes. In CAN FD, DLC values above 8 map to fixed payload sizes.
Data Bytes | DLC (Binary) |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
12 | 1001 |
16 | 1010 |
20 | 1011 |
24 | 1100 |
32 | 1101 |
48 | 1110 |
64 | 1111 |
Example
If TX data length = 9 → DLC = 1001. To meet the required size of 12 bytes, three padding bytes (0x00) will be appended.
In-Depth Analysis of the CAN FD Protocol FD Frame
In-Depth Analysis of the CAN FD Protocol
FD Frame
Introduction
In our previous article, "Why CAN FD Matters: A Leap Beyond Classical CAN", we discussed how CAN FD is an evolution of Classical CAN. From the original CAN to CAN 2.0A and CAN 2.0B, and now to CAN FD, the protocol has continuously advanced.
CAN 2.0A introduced the Standard 11-bit Identifier, which was later extended to a 29-bit Identifier in CAN 2.0B. However, the 8-byte payload limit and 1 Mbps data rate have become insufficient for modern applications. In response, Bosch introduced CAN FD, which supports payloads of up to 64 bytes and data bitrates of up to 8 Mbps or even higher, along with support for Bitrate Switching (BRS).
In this article, we will take an in-depth look at the structure of the CAN FD frame.
Protocol Key Points
Protocol | Key Points |
---|---|
CAN 2.0A | 11 bits – Standard Identifier |
CAN 2.0B | 11/29 bits – Standard / Extended Identifier |
CAN FD | 64 bytes payload, Up to 8 Mbps or even higher data bitrate |
FD Frame – FDF Bit
Located in the Control Field, the FDF (FD Format) bit is a critical control bit that ensures backward compatibility with CAN 2.0.
- FDF = 1 (recessive): Frame is treated as CAN FD
- FDF = 0 (dominant): Frame is interpreted as Classical CAN (CAN 2.0)
Flexible Data Rate (BRS)
The CAN FD frame introduces a BRS (Bit Rate Switch) flag in the Control Field.
- BRS = 1 (recessive): Switches from arbitration bitrate to faster data bitrate until CRC delimiter
- BRS = 0 (dominant): Transmission remains at arbitration bitrate
Note: If BRS=0, the frame is still CAN FD, but no speed improvement occurs.
Error State Indicator – ESI Bit
A new flag ESI (Error State Indicator) is added in CAN FD Control Field. It reflects the error state of the transmitting node:
ESI | Error State |
---|---|
0 (Dominant) | Error-Active |
1 (Recessive) | Error-Passive |
Expanded Payload Size
CAN 2.0 supports a maximum payload of only 8 bytes, while CAN FD expands this limit to 64 bytes.
DLC (Data Length Code) Interpretation
In CAN 2.0, the 4-bit DLC field supports 0–8 bytes. In CAN FD, DLC values above 8 map to fixed payload sizes.
Data Bytes | DLC (Binary) |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
12 | 1001 |
16 | 1010 |
20 | 1011 |
24 | 1100 |
32 | 1101 |
48 | 1110 |
64 | 1111 |
Example
If TX data length = 9 → DLC = 1001. To meet the required size of 12 bytes, three padding bytes (0x00) will be appended.