2018 Microchip Technology Inc. DS70005340A-page 53
CAN FD Protocol Module
4.2 Configuration Mode
After Reset, the CAN FD Protocol Module is in Configuration mode. The error counters are
cleared and all registers contain the Reset values.
The CAN FD Protocol Module has to be initialized before activation. This is only possible when
the module is in Configuration mode, OPMOD<2:0> = 100. The Configuration mode is
requested by setting REQOP<2:0> = 100.
The CAN FD Protocol Module will protect the user from accidentally violating the CAN protocol
through programming errors. The following registers and bit fields can only be programmed
during Configuration mode:
• C1CONL: WAKFIL, CLKSEL, PXEDIS, ISOCRCEN
• C1CONH: TXQEN, STEF, SERRLOM, ESIGM, RTXAT
• C1NBTCFGH/L, C1DBTCFGH/L, C1TDCH/L
• C1TXQCONH: PLSIZE<2:0>, FSIZE<4:0>
• C1TXQCONL
• C1FIFOCONxL: TXEN, RXTSEN
• C1FIFOCONxH: PLSIZE<2:0>, FSIZE<4:0>
• C1TEFCONL: TEFTSEN
• C1TEFCONH: FSIZE<4:0>
• C1FIFOBAL/H
The CAN FD Protocol Module is not allowed to enter Configuration mode during transmission or
reception to prevent the module from causing errors on the CAN bus. The following registers
are reset when exiting Configuration mode:
• C1TRECH/L
•C1BDIAG0H/L
•C1BDIAG1H/L
In Configuration mode, FRESET is set in the C1FIFOCONxL, C1TXQCONL and C1TEFCONL
registers, and all FIFOs and the TXQ are reset.
4.3 Normal Modes
4.3.1 NORMAL CAN FD MODE
Once the device is configured, Normal Operation mode can be requested by setting
REQOP<2:0> = 000.
In this mode, the device will be on the CAN bus. It can transmit and receive messages in CAN
FD mode, Bit Rate Switching can be enabled, and up to 64 data bytes can be transmitted and
received.
4.3.2 NORMAL CAN 2.0 MODE
The Normal CAN 2.0 Operation mode can be requested by setting REQOP<2:0> = 110.
In this mode, the device will be on the CAN bus. This is a the Classic CAN 2.0 mode. The
module will not receive CAN FD frames. It might send error frames if CAN FD frames are
detected on the bus. The FDF, BRS and ESI bits in the TX objects will be ignored and
transmitted as ‘0’.