Sleep Modes

The following Table shows the different sleep modes, BOD disable ability and their wake-up sources.

Table 1. Active Clock Domains and Wake-up Sources in the Different Sleep Modes.
  Active Clock Domains Oscillators Wake-up Sources Software
BOD Disable
Sleep Mode clkCPU clkFLASH clkIO clkADC clkASY Main Clock 
Source Enabled Timer Oscillator
Enabled INT and PCINT TWI Address 
Match Timer2 SPM/EEPROM
Ready ADC WDT Other I/O
Idle     Yes Yes Yes Yes Yes(2) Yes Yes Yes Yes Yes Yes Yes  
ADC Noise
Reduction       Yes Yes Yes Yes(2) Yes(3) Yes Yes(2) Yes Yes Yes    
Power-down               Yes(3) Yes       Yes   Yes
Power-save         Yes   Yes(2) Yes(3) Yes Yes     Yes   Yes
Standby(1)           Yes   Yes(3) Yes       Yes   Yes
Extended Standby         Yes(2) Yes Yes(2) Yes(3) Yes Yes     Yes   Yes
Note:
  1. 1.Only recommended with external crystal or resonator selected as clock source.
  2. 2.If Timer/Counter2 is running in asynchronous mode.
  3. 3.For INT1 and INT0, only level interrupt.
  4. 4.Start frame detection, only.

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.

Note: The block diagram in the section System Clock and Clock Options provides an overview over the different clock systems in the device, and their distribution. This figure is helpful in selecting an appropriate sleep mode.

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.