Home 9 Service 9 Basics 9 CAN FD

CAN FD – An Introduction

CAN FD (CAN Flexible Data Rate) is an expasion of the “classical” CAN bus (Classical CAN) and is defined by the standard ISO 11898-1:2015. CAN FD facilitates not only sending of larger data volumes (payload): the limit of 8 bytes with Classical CAN has been increased to 64 bytes with CAN FD Also, it provides the possibility of a higher bit rate within the data phase, even going beyond the previous limit of 1 MBit/s.

CAN FD Data Frame

Classical CAN differentiated only two data frames: standard frames (CAN 2.0A) with 11-Bit identifiers and extended frames (CAN 2.0B) with 29-Bit identifiers. These formats will be maintained, however, within the scope of CAN FD they will be renamed.

Table 1: CAN FD Frame Formats

Classical CAN differentiated only two data frames: standard frames (CAN 2.0A) with 11-Bit identifiers and extended frames (CAN 2.0B) with 29-Bit identifiers. These formats will be maintained, however, within the scope of CAN FD they will be renamed.

Abbr.
CBFF
CEFF
FBFF
FEFF
Identification
Classical Base Frame Format
Classical Extended Frame Format
FD Base Frame Format
FD Extended Frame Format
Description
11 bit identifiers, max. 8 bytes payload, (previous standard frame)
29 bit identifiers, max. 8 bytes payload, (previous extended frame)
11 bit identifiers, max. 64 bytes payload
29 bit identifiers, max. 64 bytes payload

A CAN FD controller is downward-compatible, i.e. the previous formats of the classical CAN are recognized and can be processed. However, this does not work in the reverse direction: the frame formats FBFF and FEFF are unknown to a classical CAN controller and, consequently, error frames will be sent. This is why all devices in the network need to be equipped with a CAN FD controller to be able to use FD frame formats.

The most significant differences in the frame structure of a classical CAN data frame are shown in fig. 1.

CAN FD Base Frame Format

The CAN FD format does not support remote frames, the previous RTR bit after the identifier is replaced by the “Remote Request Substitution” (RRS) bit.

The FDF bit (FD format) in the expanded control field is the qualifier for the flexible data format. In a classical CAN frame the valid value range of the DLC field (Data Length Code) was within 0 to 8, whereas the valid range of values in a CAN FD frame reaches from 0 to 15. The value of the DLC field determines the number of bytes in the data field and is interpreted as follows:

Encoding the Data Length

DLC value
0 .. 8
9
10
11
Data Field size (Bytes)
0 .. 8
12
16
20
DLC value
12
13
14
15
Data Field size (Bytes)
24
36
48
64

Even without using the option of faster data transfer in the data phase, the increased data volume alone will bring significant advantages. At a nominal bit rate of 1 MBit/s the net transfer rate (i.e. the transfer rate of the data field) of a classical CAN controller is 576 kBit/s. A CAN FD frame with a data size of 64 bytes has a net transfer rate of 903 kBit/s.

Improved Error Detection

Via the ESI (Error State Indicator) bit in the control field the sender of a message indicates whether they are in error active or error passive mode which will considerably facilitate error detection
To avoid a worse residual error probability as with classical CAN due to the potentially higher number of stuff-bits in a message, CAN FD has been equipped with a stuff-bit counter (3 bit + parity). The new stuff-count field is sent at the beginning of the CRC field.

Increase Data Rates

In a CAN FD frame the transfer rate in the data phase (this starts with the BRS bit and ends with the last bit of the CRC) can be increased via the BRS (Bit Rate Switch) bit. The maximum value of the transfer rate in the data phase is limited by the CAN controller or CAN transceiver used in the application and is currently between 5 MBit/s and 8 MBit/s, depending on the manufacturer.

Available CAN FD Controllers

Manufacturer
Microchip
Microchip
NXP
NXP
STM
STM
STM
TI
Controller
Description
External CAN FD controller, 1 x CAN, SPI interface
External CAN FD controller, 1 x CAN, SPI interface
Cortex-M4 (220 MHz), 2 x CAN FD
Cortex-M0 / Cortex-M4F (bis 112 MHz), 1 .. 3 x CAN FD
Cortex-M4 (170 MHz), 3 x CAN FD
Cortex-M33 (110 MHz), 1 x CAN FD
Cortex-M7 (400 MHz), 1 x CAN FD
External CAN FD controller with integrated transceiver, 1 x CAN, SPI interface
CAN Core
Microchip
Microchip
Bosch M_CAN
FlexCAN
CANFDL
CANFDL
Bosch M_CAN
Bosch M_CAN

Development of CAN FD systems is determined by the available CAN controllers. The following list is an overview of currently available CAN FD microcontrollers, but without claiming to be complete.

You would like to get advice?

+49 2241 – 25 65 9 – 0

Write an email or call us.