PMU Power-down mode

In Power-down mode, the system clock to the processor is disabled as in Sleep mode. All analog blocks are powered down, except for the BOD circuit and the watchdog oscillator, which must be selected or deselected during Power-down mode in the PDSLEEPCFG register. The main clock and therefore all peripheral clocks are disabled except for the clock to the watchdog timer if the watchdog oscillator is selected. The IRC itself and the flash are powered down, decreasing power consumption compared to Deep-sleep mode.

Power-down mode eliminates all power used by analog peripherals and all dynamic power used by the processor itself, memory systems and related controllers, and internal buses. The processor state and registers, peripheral registers, and internal SRAM values are maintained, and the logic levels of the pins remain static. Wake-up times are longer compared to the Deep-sleep mode.

Power configuration in Power-down mode

Power consumption in Power-down mode can be configured by the power configuration setting in the PDSLEEPCFG (SYSCON registerName = PDSLEEPCFG addressOffset = 0x230) register in the same way as for Deep-sleep mode (see Power configuration in Deep-sleep mode):

  • The watchdog oscillator can be left running in Power-down mode if required for the WWDT.
  • The BOD circuit can be left running in Power-down mode if required by the application.

Programming Power-down mode

The following steps must be performed to enter Power-down mode:

  1. The PM bits in the PCON register must be set to 0x2 (PMU registerName = PCON addressOffset = 0x000).
  2. Select the power configuration in Power-down mode in the PDSLEEPCFG ( SYSCON registerName = PDSLEEPCFG addressOffset = 0x230) register.
  3. Select the power configuration after wake-up in the PDAWAKECFG (SYSCON registerName = PDAWAKECFG addressOffset = 0x234) register.
  4. If any of the available wake-up interrupts are used for wake-up, enable the interrupts in the interrupt wake-up registers (SYSCON registerName = STARTERP0 addressOffset = 0x204, SYSCON registerName = STARTERP1 addressOffset = 0x214) and in the NVIC.
  5. Select the IRC as the main clock. See SYSCON registerName = MAINCLKSEL addressOffset = 0x070.
  6. Write one to the SLEEPDEEP bit in the ARM Cortex-M0+ SCR register (PMU registerName = SCR addressOffset = 0xD10).
  7. Use the ARM WFI instruction.

Wake-up from Power-down mode

The microcontroller can wake up from Power-down mode in the same way as from Deep-sleep mode: