IDLE instruction is executed to
put the device into HALT mode.
The PLL block responds to the HALT signal. SYSCLKOUT is held for 32 cycles
before oscillator is turned off and the CLKIN to the core is stopped. This delay
enables the CPU pipeline and any other pending operations to flush properly. If
an access to XINTF is in progress and its access time is longer than this number
then it will fail. It is recommended to enter HALT mode from SARAM without an
XINTF access in progress.
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.
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. This enables the provision of a clean
clock signal during the PLL lock sequence. Because the falling edge of the GPIO
pin asynchronously begins the wakeup process, 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 2,600 OSCCLK (X1/X2 or X1 or XCLKIN) cycles.
Clocks to the core and
peripherals are enabled. The HALT mode is now exited. The device will respond to
the interrupt (if enabled), after a latency.