38.4.1 ISO vs. Non-ISO CRC

To support the system validation of non-ISO CRC ECUs, the CAN FD Controller module supports both ISO CRC (according to ISO11898-1:2015) and non-ISO CRC (see Figure 38-10 and Figure 38-11). The CRC field is selectable using the ISOCRCEN bit (C1CON[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/remote frames in the CAN FD.

Figure 38-7. General Data Frame
Figure 38-8. Arbitration Field
Figure 38-9. Control Field
Figure 38-10. ISO CRC Field
Figure 38-11. NON_ISO CRC Field
Figure 38-12. Error and Overload Frame