PMU Deep power-down mode

In Deep power-down mode, power and clocks are shut off to the entire chip with the exception of the WAKEUP pin and the self wake-up timer.

During Deep power-down mode, the contents of the SRAM and registers are not retained except for a small amount of data which can be stored in the general purpose registers of the PMU block.

All functional pins are tri-stated in Deep power-down mode except for the WAKEUP pin. In this mode, you must pull the RESET pin HIGH externally.

Note: Setting bit 3 in the PCON register (PMU registerName = PCON addressOffset = 0x000) prevents the part from entering Deep-power down mode.

Power configuration in Deep power-down mode

Deep power-down mode has no configuration options. All clocks, the core, and all peripherals are powered down. Only the WAKEUP pin and the self wake-up timer are powered.

Programming Deep power-down mode using the WAKEUP pin:

The following steps must be performed to enter Deep power-down mode when using the WAKEUP pin for waking up:

  1. Pull the WAKEUP pin externally HIGH.
  2. Ensure that bit 3 in the PCON register ( PMU registerName = PCON addressOffset = 0x000) is cleared.
  3. Write 0x3 to the PM bits in the PCON register (see PMU registerName = PCON addressOffset = 0x000).
  4. Store data to be retained in the general purpose registers (PMU GPREG addressOffset = 0x004).
  5. Write one to the SLEEPDEEP bit in the ARM Cortex-M0+ SCR register (PMU registerName = SCR addressOffset = 0xD10).
  6. Use the ARM WFI instruction.

Wake-up from Deep power-down mode using the WAKEUP pin:

Pulling the WAKEUP pin LOW wakes up the LPC81x from Deep power-down, and the part goes through the entire reset process.

  1. On the WAKEUP pin, transition from HIGH to LOW.
    • The PMU will turn on the on-chip voltage regulator. When the core voltage reaches the power-on-reset (POR) trip point, a system reset will be triggered and the chip re-boots.
    • All registers except the DPDCTRL and GPREG0 to GPREG3registers and PCONwill be in their reset state.
  2. Once the chip has booted, read the deep power-down flag in the PCON register (PMU registerName = PCON addressOffset = 0x000) to verify that the reset was caused by a wake-up event from Deep power-down and was not a cold reset.
  3. Clear the deep power-down flag in the PCON register ( PMU registerName = PCON addressOffset = 0x000).
  4. (Optional) Read the stored data in the general purpose registers (PMU GPREG addressOffset = 0x004).
  5. Set up the PMU for the next Deep power-down cycle.
Note: The RESET pin has no functionality in Deep power-down mode.

Programming Deep power-down mode using the self-wake-up timer:

The following steps must be performed to enter Deep power-down mode when using the self-wake-up timer for waking up:

  1. Enable the low-power oscillator to run in Deep power-down mode by setting bits 2 and 3 in the DPDCTRL register to 1 (see PMU registerName = DPDCTRL addressOffset = 0x014)
  2. Ensure that bit 3 in the PCON register ( PMU registerName = PCON addressOffset = 0x000) is cleared.
  3. Write 0x3 to the PM bits in the PCON register (see PMU registerName = PCON addressOffset = 0x000).
  4. Store data to be retained in the general purpose registers (PMU GPREG addressOffset = 0x004).
  5. Write one to the SLEEPDEEP bit in the ARM Cortex-M0+ SCR register.
  6. Start the self-wake-up timer by writing a value to the WKT COUNT register ( WKT registerName = COUNT addressOffset = 0x00C).
  7. Use the ARM WFI instruction.

Wake-up from Deep power-down mode using the self-wake-up timer:

The part goes through the entire reset process when the self-wake-up timer times out:

  1. When the WKT count reaches 0, the following happens:
    • The PMU will turn on the on-chip voltage regulator. When the core voltage reaches the power-on-reset (POR) trip point, a system reset will be triggered and the chip re-boots.
    • All registers except the DPDCTRL and GPREG0 to GPREG3 registers and PCONwill be in their reset state.
  2. Once the chip has booted, read the deep power-down flag in the PCON register (PMU registerName = PCON addressOffset = 0x000) to verify that the reset was caused by a wake-up event from Deep power-down and was not a cold reset.
  3. Clear the deep power-down flag in the PCON register ( PMU registerName = PCON addressOffset = 0x000).
  4. (Optional) Read the stored data in the general purpose registers (PMU GPREG addressOffset = 0x004).
  5. Set up the PMU for the next Deep power-down cycle.
Note: The RESET pin has no functionality in Deep power-down mode.

-->