Power Management
15-42
15.3.6.4
Battery Failed
A battery-failed event is indicated via the BFAIL/EXT_FIQ signal connected to
the ULPD, which performs a power-down action. The ULPD processes the in-
coming BFAIL/EXT_FIQ signal to an external device (via RST_HOST_OUT)
to decrease a programmable counter and to generate a shutdown signal when
the counter reaches zero. It also creates an interrupt on MPU level 1. The
release of RST_HOST_OUT is controlled by software. You can use the
SW_NSHUTDOWN bit in the power control register (POWER_CTRL_REG)
to toggle the state of the RST_HOST_OUT pin to high or low level. A power-on
reset condition also causes RST_HOST_OUT to be active low.
15.3.6.5
Big Sleep and Deep Sleep Mode
To go into deep sleep mode, the MPU and DSP must release and unmask all
interrupts that can awake the chip during this mode and they must mask all
interrupts that do not awake the chip during deep sleep mode. Then the MPU
enters big sleep mode. When the device reaches the idle state, it informs
power management to enter into sleep mode by setting the CHIP_IDLE signal.
The state machine cuts the 12-MHz OSC1 oscillator only if external devices
do not request the oscillator clock.
15.3.6.6
Power-On Reset
The PWRON_RESET signal is used to reset the entire device. This signal is
resynchronized on the 32-kHz to achieve a clean reset. Then the ULPD
module initiates the internal reset sequence (minimum of two full 32-kHz clock
periods is recommended). The 32-kHz logic within the ULPD module is reset
asynchronously.
15.3.6.7
Interrupt Wake-Up
When at least one unmask interrupt has occurred during deep sleep, a wake-
up sequence is performed. In this case, the chip must leave the deep-sleep
mode as soon as possible to process this interrupt. To respect the schedule
of the clock enables, the following wake-up sequence is processed:
1) When the clock management interrupt handlers detect an interrupt, the
internal WAKEUP_nREQ signal is asserted.
2) The 12-MHz OSC1 oscillator is enabled and the setup counter is loaded
with the setup_oscillator value.
3) When the setup counter reaches zero, the CHIP_nWAKEUP signal is
used to inform the device to leave big sleep mode.