32.5.4 Sleep Mode Operation
The Event System can generate interrupts to wake up the device from IDLE or STANDBY sleep mode.
To be able to run in standby, the Run in Standby bit in the Channel register (CHANNELn.RUNSTDBY) must be set to '1'. When the Generic Clock On Demand bit in Channel register (CHANNELn.ONDEMAND) is set to '1' and the event generator is detected, the event channel will request its clock (GCLK_EVSYS_CHANNEL_n). The event latency for a resynchronized channel path will increase by two GCLK_EVSYS_CHANNEL_n clock (i.e., up to five GCLK_EVSYS_CHANNEL_n clock cycles).
A channel will behave differently in different sleep modes regarding to CHANNELn.RUNSTDBY and CHANNELn.ONDEMAND:
CHANNELn.PATH | CHANNELn. ONDEMAND | CHANNELn. RUNSTDBY | Sleep Behavior |
---|---|---|---|
ASYNC | 0 | 0 | Only run in IDLE sleep modes if an event must be propagated. Disabled in STANDBY sleep mode. |
SYNC/RESYNC | 0 | 0 | Not Applicable. Works only in ACTIVE mode. |
SYNC/RESYNC | 0 | 1 | Run in both IDLE and STANDBY sleep modes. |
SYNC/RESYNC | 1 | 0 | Only run in IDLE sleep modes if an event must be propagated. Disabled in STANDBY sleep mode. Two GCLK_EVSYS_n latency added in RESYNC path before the event is propagated internally. |
SYNC/RESYNC | 1 | 1 | Run in both IDLE and STANDBY sleep modes. Two GCLK_EVSYS_n latency added in RESYNC path before the event is propagated internally. |
- ONDEMAND=1 or RUNSTDBY=1 are not supported for channels when the asynchronous path is selected.
Although the clock for the EVSYS is stopped, the device still can wake up the EVSYS clock. Some event generators can generate an event when their clocks are stopped. The generic clock for the channel (GCLK_EVSYS_CHANNEL_n) will be restarted if that channel uses a synchronized path or a resynchronized path. It does not need to wake the system from sleep.