IDLE instruction is executed to
put the device into HALT mode.
The PLL block responds to the
HALT signal. SYSCLKOUT is held for the number of cycles indicated as follows
before oscillator is turned off and the CLKIN to the core is stopped:
- 16 cycles, when DIVSEL =
00 or 01
- 32 cycles, when DIVSEL =
10
- 64 cycles, when DIVSEL =
11
This delay enables the CPU pipeline and any other pending operations to
flush properly.
Clocks to the peripherals are
turned off and the PLL is shut down. If a quartz crystal or ceramic resonator is
used as the clock source, the internal oscillator is shut down as well. The
device is now in HALT mode and consumes absolute minimum power. It is possible
to keep the zero-pin internal oscillators (INTOSC1 and INTOSC2) and the watchdog
alive in HALT mode. Keeping INTOSC1, INTOSC2, and the watchdog alive in HALT
mode is done by writing to the appropriate bits in the CLKCTL register. After
the IDLE instruction is executed, a delay of 5 OSCCLK cycles (minimum) is needed
before the wake-up signal could be asserted.
When the GPIOn pin (used to
bring the device out of HALT) is driven low, the oscillator is turned on and the
oscillator wake-up sequence is initiated. The GPIO pin should be driven high
only after the oscillator has stabilized, which enables the provision of a clean
clock signal during the PLL lock sequence. Because the falling edge of the GPIO
pin asynchronously begins the wake-up procedure, care should be taken to
maintain a low noise environment prior to entering and during HALT mode.
The wake-up signal fed to a GPIO
pin to wake up the device must meet the minimum pulse width requirement.
Furthermore, this signal must be free of glitches. If a noisy signal is fed to a
GPIO pin, the wake-up behavior of the device will not be deterministic and the
device may not exit low-power mode for subsequent wake-up pulses.
Once the oscillator has
stabilized, the PLL lock sequence is initiated, which takes 1 ms.
When CLKIN to the core is
enabled, the device will respond to the interrupt (if enabled), after a latency.
The HALT mode is now exited.
Normal operation resumes.
From the time the IDLE instruction
is executed to place the device into low-power mode, wakeup should not be
initiated until at least 4 OSCCLK cycles have elapsed.
Figure 8-50 HALT
Wake-Up Using GPIOn