CAN FD - The basic idea

Because of the bandwidth requirements of the automotive industry, the CAN data link layer protocol needed to be improved. In 2011, Robert Bosch GmbH started the CAN FD (flexible data rate) development in close cooperation with carmakers and other CAN experts. The improved protocol overcomes two CAN limits: You can transmit data faster than with 1 Mbit/s and the payload (data field) is now up to 64 byte long and not limited to 8 byte anymore. In general, the idea is simple: When just one node is transmitting, the bit rate can be increased, because no nodes need to be synchronized. Of course, before the transmission of the ACK slot bit, the nodes need to be re-synchronized.

Using a ratio of 1:8 for the bit rates in the arbitration and data phase leads to an approximately six times higher throughput considering that the CAN FD frames use more bits in the header (control field) and in the CRC field.

CAN FD – Some protocol details

In order to distinguish between CAN CC data frames and CAN FD data frames, one of the formerly reserved bits is used. This bit is called FD frame (FDF) bit. If it is of recessive value, the following bit sequence is interpreted as a CAN FD data frame. If it is of dominant value, it is a CAN CC data or remote frame. In the newly introduced bit rate switch (BRS) bit, the second bit rate is applied, when it is of recessive (r) value. If it is of dominant (d) value, the arbitration phase bit time setting is used in the data phase, too.

Field Description
SOF start of frame
CRC cyclic redundancy check
ACK acknowledgement
EOF end of frame
IMF intermission field

The CAN FD protocol controller also supports CAN CC frames. CAN CC as well as CAN FD are internationally standardized together in ISO 11898-1:2015. CAN FD data frames with 11-bit identifiers use the FD base frame format (FBFF) and those with 29-bit identifiers use the FD extended frame format (FEFF). The CAN FD protocol does not support remotely requested data frames.

Field Description  
RRS remote request substitution  
SRR substitute remote request  
IDE identifier extension  
FDF flexible data rate format  
d dominant  
r recessive  
r0 reserved  

The control field comprises additional bits not provided by the CAN CC data frames. The FDF bit indicates the usage of FD frame formats. At the sample-point of the BRS bit, the bit rate switch is performed. This guarantees a maximum of robustness. The following error state indicator (ESI) bit provides information about the error status: a dominant value indicates an error active state.

Field Description
IDE identifier extension
FDF flexible data rate format
BRS bit rate switch — recessive, if alternate bit rate
ESI error state indicator — recessive, if error passive
DLC data length code

During the standardization process of the CAN FD protocol, some additional safe guards were introduced in order to improve the communication reliability. This is why the CRC field comprises 17-bit (for frames with payloads up to 16 byte) or 21-bit (for frames larger than 16 byte) polynomials and an 8-bit stuff-bit counter plus a parity bit. The CRC field use fixed stuff-bits (FSB) with an opposite value of the previous bit. All these safe guards guarantee that all single failures are detected under all conditions. Even the possibility to detect multiple failures has been improved.

Medium-term, non-ISO CAN FD controllers might also be on the market – these are not compliant with the ISO 11898-1. They don’t implement the above-mentioned additional safe guard features.