35
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
9.
Power management and sleep modes
9.1
Overview
Sleep modes enable the application to shut down unused modules in the MCU, thereby saving power. The AVR
provides various sleep modes allowing the user to tailor the power consumption to the application’s requirements.
9.2
Sleep modes
Figure 8-1 on page 26 presents the different clock systems in the Atmel ATmega16M1/32M1/64M1, and their dis-
tribution. The figure is helpful in selecting an appropriate sleep mode.
Table 9-1 shows the different sleep modes
and their wake-up sources.
Notes:
1. Only recommended with external crystal or resonator selected as clock source.
2. Only level interrupt.
To enter any of the five sleep modes, the SE bit in SMCR must be written to logic one and a SLEEP instruction
must be executed. The SM2, SM1, and SM0 bits in the SMCR Register select which sleep mode (Idle, ADC Noise
Reduction, Power-down, Power-save, or Standby) will be activated by the SLEEP instruction. See
Table 9-2 onIf 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 instruc-
tion 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.
9.3
Idle mode
When the SM2:0 bits are written to 000, the SLEEP instruction makes the MCU enter Idle mode, stopping the CPU
but allowing SPI, UART, Analog Comparator, ADC, Timer/Counters, Watchdog, and the interrupt system to con-
tinue operating. This sleep mode basically halt clk
CPU and clkFLASH, while allowing the other clocks to run.
Idle mode enables the MCU to wake up from external triggered interrupts as well as internal ones like the Timer
Overflow and UART Transmit Complete interrupts. If wake-up from the Analog Comparator interrupt is not
required, the Analog Comparator can be powered down by setting the ACD bit in the Analog Comparator Control
and Status Register – ACSR. This will reduce power consumption in Idle mode. If the ADC is enabled, a conver-
sion starts automatically when this mode is entered.
Table 9-1.
Active clock domains and wake-up sources in the different sleep modes.
Active clock domains
Oscillators
Wake-up sources
Sleep mode
clk
CPU
clk
FLASH
cl
k
IO
clk
ADC
clk
PLL
Main
cloc
k
source
en
ab
le
d
IN
T
3
..0
PSC
SPM/EEPR
OM
ready
ADC
WDT
Other
I/O
Idle
X
XXX
X
ADC noise
reduction
XX
X
XX
X
Power-down
X
X