34
ATmega103(L)
0945G–09/01
Note that if a level-triggered interrupt is used for wake-up from Power-down mode, the
changed level must be held for some time to wake up the MCU. This makes the MCU
less sensitive to noise. The changed level is sampled twice by the Watchdog oscillator
clock and if the input has the required level during this time, the MCU will wake up. The
period of the Watchdog oscillator is 1 µs (nominal) at 5.0V and 25
°
C. The frequency of
the Watchdog oscillator is voltage-dependent, as shown in “Typical Characteristics” on
page 118.
When waking up from Power-down mode, a delay from the wake-up condition occurs
until the wake-up becomes effective. This allows the clock to restart and become stable
after having been stopped. The wake-up period is defined by the same SUT fuses that
define the reset time-out period. The wake-up period is equal to the clock reset period,
as shown in Table 5 on page 26.
If the wake-up condition disappears before the MCU wakes up and starts to execute,
e.g., a low-level on is not held long enough, the interrupt causing the wake-up will not be
executed.
Power-save Mode
When the SM1/SM0 bits are 11, the SLEEP instruction makes the MCU enter the
Power-save mode. This mode is identical to Power-down, with one exception:
If Timer/Counter0 is clocked asynchronously, i.e., the AS0 bit in ASSR is set,
Timer/Counter0 will run during sleep. In addition to the Power-down wake-up sources,
the device can also wake up from either Timer Overflow or Output Compare event from
Timer/Counter0 if the corresponding Timer/Counter0 interrupt enable bits are set in
TIMSK. To ensure that the part executes the interrupt routine when waking up, also set
the global interrupt enable bit i SREG.
When waking up from Power-save mode by an external interrupt, two instruction cycles
are executed before the interrupt flags are updated. When waking up by the asynchro-
nous timer, three instruction cycles are executed before the flags are updated. During
these cycles, the processor executes instructions, but the interrupt condition is not read-
able and the interrupt routine has not started yet. If the asynchronous timer is not
clocked asynchronously, Power-down mode is recommended instead of Power-save
mode because the contents of the registers in the asynchronous timer should be consid-
ered undefined after wake-up in Power-save mode if AS0 is 0.