2018 Microchip Technology Inc. DS70005340A-page 5
CAN FD Protocol Module
2.0 CAN FD MESSAGE FRAMES
The ISO11898-1:2015 describes the different CAN message frames in detail. Figure 2-1
through Figure 2-6 explain and summarize the construction of the messages and fields.
There are four different CAN data/remote frames (see Figure 2-2):
• CAN Base Frame: Classic CAN 2.0 frame using Standard ID
• CAN FD Base Frame: CAN FD frame using Standard ID
• CAN Extended Frame: Classic CAN 2.0 frame using Extended ID
• CAN FD Extended Frame: CAN FD frame using Extended ID
There are no remote frames in CAN FD frames; therefore, the RTR bit is replaced with the RRS
bit (see Figure 2-2). The RRS bit in the CAN FD base frame can be used to extend the SID to
12 bits. When enabled, it is referred to as SID11, it is the LSB of SID<11:0>.
Figure 2-3 specifies the control field of the different CAN messages. Before CAN FD was added
to the ISO11898-1:2015, the FDF bit was a reserved bit. Now the FDF bit selects between
Classic and CAN FD formats.
The BRS bit selects if the bit rate should be switched in the data phase of CAN FD frames.
Figure 2-6 illustrates the error and overload frames. These special frames do not change.
2.1 ISO vs. NON-ISO CRC
To support the system validation of non-ISO CRC ECUs, the CAN FD controller module sup-
ports both ISO CRC (according to ISO11898-1:2015) and non-ISO CRC (see Figure 2-4 and
Figure 2-5). The CRC field is selectable using the ISOCRCEN bit (C1CONL<5>). The ISO CRC
field contains the stuff count. This count was not included in the original CAN FD specification; It
was added to fix a minor issue in the error detection of the original specification.
CAN FD frames use two different lengths of CRC: 17-bit for up to 16 data bytes and 21-bit for
20 or more data bytes. Technically, there are a total of six different CAN data/remove frames in
the CAN FD.
Figure 2-1: General Data Frame
Note: If an error is detected during the data phase of a CAN FD frame, the bit rate will be
switched back to the Nominal Bit Rate (NBR). Error frames are always transmitted
at the arbitration bit rate.
IFS
(= 3b)
SOF
(1b)
ARBITRATION (12/32b) CTRL (6/8/9b)
DATA
(0 to 64b)
CRC (16/18/22b)
CRC (16/22/26b)
ACK (2b) EOF (7b)
IFS
(= 3b)
DATA FRAME