14.5.6.3 Wake-Up from Sleep

Figure 14-10 depicts how the CAN module will execute the SLEEP instruction and how the module wakes up on bus activity. Upon a wake-up from Sleep mode, the WAKIF flag is set.

Figure 14-10. Processor Sleep and CAN Bus Wake-up Interrupt

The module will monitor the CAN receive line for activity while the module is sleeping. The device will generate a wake-up interrupt on the falling edges of CxRX if WAKIE is enabled.

The device will exit Sleep mode after a new mode request or a negative edge on CxRX.

The module will be in Sleep mode if either of the following is true:

  • The system is in Sleep mode following Disable mode.
  • The system is in Idle mode with SIDL = 1.
Note: If the module is in Sleep mode, the module generates an interrupt if the WAKIE bit (CxINT[30]) is set and bus activity is detected. Due to delays in starting up the oscillator and CPU, the message activity that caused the wake-up will be lost.

The module can be programmed to apply a low-pass filter function to the CAN receive input line while in Disable, Sleep or Idle mode. This feature can be used to protect the module from wake-up due to short glitches on the CAN bus lines. The WAKFIL bit (CxCON[8]) enables or disables the filter while the module is in Sleep.