14.5.6.1 Sleep Mode
In the CAN module, special conditions need to be met for Sleep mode. The module must first be
switched to Disable mode by setting REQOPx = 001
. When OPMODx =
001
, indicating Disable mode has been achieved, the CAN FD Protocol
Module enters Sleep mode after a Sleep mode request. In Sleep mode, the register
contents do not change, so the OPMODx bits do not change. At the end of Sleep, the
module will continue in the mode specified by the OPMODx bits previous to Sleep mode
(which should be Disable mode, OPMODx = 001
). If the user executes a
SLEEP
instruction without switching to Disable mode, the module
assumes a clock is available to read/write from RAM. Since the system clock input is not
available in Sleep mode, the CAN module cannot run as it requires a system clock to
transmit or receive. Also, the FIFO is in system RAM, which has no clock in Sleep mode.
- Write the REQOP[2:0] bits to
‘
001
’; the module will enter Disable mode. - Poll the OPMOD[2:0] bits to
verify whether they are ‘
001
’, which indicates that the module has successfully entered Disable mode. - Disable the clock source of the CAN module.
- Execute the
SLEEP
instruction.