13.2 Sleep Modes
The following table shows the different sleep modes, BOD disable ability, and their wake-up sources.
Sleep Mode | Active Clock Domains | Oscillators | Wake-Up Sources | Software BOD Disable | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
clkCPU | clkFLASH | clkIO | clkADC | clkASY | clkPTC | Main Clock Source Enabled | Timer Oscillator Enabled | INT and PCINT | TWI Address Match | Timer2 | SPM/EEPROM Ready | ADC | WDT | USART(4) | Other I/O | ||
Idle | Yes | Yes | Yes | Yes | Yes | Yes(2) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||
ADC Noise Reduction | Yes | Yes | Yes | Yes | Yes(2) | Yes(3) | Yes | Yes(2) | Yes | Yes | Yes | Yes | |||||
Power-Down | Yes(3) | Yes | Yes | Yes | Yes | ||||||||||||
Power-Save | Yes | Yes | Yes(5) | Yes(2) | Yes(3) | Yes | Yes | Yes | Yes | Yes | |||||||
Standby(1) | Yes | Yes(3) | Yes | Yes | Yes | Yes | |||||||||||
Extended Standby | Yes(2) | Yes | Yes | Yes(2) | Yes(3) | Yes | Yes | Yes | Yes | Yes |
- Only recommended with external crystal or resonator selected as the clock source.
- If Timer/Counter2 is running in Asynchronous mode.
- For INT1 and INT0, only level interrupt.
- Start frame detection only.
- The main clock is kept running if PTC is enabled.
To enter any of the six sleep modes, the sleep enable bit in the Sleep Mode Control Register (SMCR.SE) must be written to '1' and a SLEEP instruction must be executed. Sleep Mode Select bits (SMCR.SM[2:0]) select which sleep mode (Idle, ADC Noise Reduction, Power-Down, Power-Save, Standby, or Extended Standby) will be activated by the SLEEP instruction.
If an enabled interrupt occurs while the MCU is in a Sleep mode, the MCU wakes up. The MCU is then halted for four cycles in addition to the start-up time, executes the interrupt routine, and resumes execution from the instruction following SLEEP. The contents of the register file and SRAM are unaltered when the device wakes up from sleep. If a reset occurs during Sleep mode, the MCU wakes up and executes from the Reset vector.