blank
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 (CAN classic) 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 CAN classic 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

CAN classic 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.
Identification
Description
CBFF
Classical Base Frame Format
11 bit identifiers, max. 8 bytes payload, (previous standard frame)
CEFF
Classical Extended Frame Format
29 bit identifiers, max. 8 bytes payload, (previous extended frame)
FBFF
FD Base Frame Format
11 bit identifiers, max. 64 bytes payload
FEFF
FD Extended Frame Format
29 bit identifiers, max. 64 bytes payload

A CAN FD controller is downward-compatible, i.e. the previous formats of the CAN classic 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 CAN classic 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 CAN classic data frame are shown in fig. 1.

CAN FD Base Frame Format

Image of 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
Data Field size (Bytes)
0 .. 8
0 .. 8
9
12
10
16
11
20
DLC value
Data Field size (Bytes)
12
24
13
32
14
48
15
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 CAN classic 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

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.

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

You would like to get more information?

Picture of MicroControl team member on the phone

+49 2241 – 25 65 9 – 0

Write an email or give us a call.