15.1 Sleep Modes

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

Table 15-1. Active Clock Domains and Wake-up Sources in the Different Sleep Modes.
Active Clock DomainsOscillatorsWake-up SourcesSoftware
BOD Disable
Sleep ModeclkCPUclkFLASHclkIOclkADCclkASYMain Clock 
Source EnabledTimer Oscillator
EnabledINT and PCINTTWI Address 
MatchTimer2SPM/EEPROM
ReadyADCWDTOther I/O
IdleYesYesYesYesYes(2)YesYesYesYesYesYesYes
ADC Noise
ReductionYesYesYesYes(2)Yes(3)YesYes(2)YesYesYes
Power-downYes(3)YesYesYes
Power-saveYesYes(2)Yes(3)YesYesYesYes
Standby(1)YesYes(3)YesYesYes
Extended StandbyYes(2)YesYes(2)Yes(3)YesYesYesYes
Note:
  1. Only recommended with external crystal or resonator selected as clock source.
  2. If Timer/Counter2 is running in asynchronous mode.
  3. For INT1 and INT0, only level interrupt.
  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.