GD32E23x User Manual
65
exits from the lowest priority ISR.
Deep-sleep mode
The Deep-sleep mode is based on the SLEEPDEEP mode of the Cortex
®
-M23. In
Deep-sleep mode, all clocks in the 1.2V domain are off, and all of IRC8M, IRC28M, HXTAL
and PLLs are disabled. The contents of SRAM and registers are preserved. The LDO can
operate normally or in low power mode depending on the LDOLP bit in the PMU_CTL
register. Before entering the Deep-sleep mode, it is necessary to set the SLEEPDEEP bit in
the Cortex
®
-M23 System Control Register, and clear the STBMOD bit in the PMU_CTL
register. Then, the device enters the Deep-sleep mode after a WFI or WFE instruction is
executed. If the Deep-sleep mode is entered by executing a WFI instruction, any interrupt
from EXTI lines can wake up the system. If it is entered by executing a WFE instruction, any
wakeup event from EXTI lines can wake up the system (If SEVONPEND is 1, any interrupt
from EXTI lines can wake up the system, refer to Cortex-M23 Technical Reference Manual).
When exiting the Deep-sleep mode, the IRC8M is selected as the system clock. Notice that
an additional wakeup delay will be incurred if the LDO operates in low power mode.
Note:
In order to enter Deep-sleep mode smoothly, all EXTI line pending status (in the
EXTI_PD register) and related peripheral flags must be reset, refer to
. If not, the program will skip the entry process of Deep-sleep mode to continue to
execute the following procedure.
Standby mode
The Standby mode is based on the SLEEPDEEP mode of the Cortex
®
-M23, too. In Standby
mode, the whole 1.2V domain is power off, the LDO is shut down, and all of IRC8M, IRC28M,
HXTAL and PLL are disabled. Before entering the Standby mode, it is necessary to set the
SLEEPDEEP bit in the Cortex
®
-M23
System Control Register, and set the STBMOD bit in
the PMU_CTL register, and clear WUF bit in the PMU_CS register. Then, the device enters
the Standby mode after a WFI or WFE instruction is executed, and the STBF status flag in
the PMU_CS register indicates that the MCU has been in Standby mode. There are four
wakeup sources for the Standby mode, including the external reset from NRST pin, the RTC
alarm / time stamp / tamper events, the FWDGT reset, and the rising edge on WKUP pins.
The Standby mode achieves the lowest power consumption, but spends longest time to
wake up. Besides, the contents of SRAM and registers in 1.2V power domain are lost in
Standby mode. When exiting from the Standby mode, a power-on reset occurs and the
Cortex
®
-M23 will execute instruction code from the 0x00000000 address.
Table 3-1. Power saving mode summary
Mode
Sleep
Deep-sleep
Standby
Description
Only CPU clock is off
1.
All clocks in the 1.2V
domain are off.
2.
Disable IRC8M,
IRC28M, HXTAL and PLL
1.
The 1.2V domain is
power off.
2.
Disable IRC8M,
IRC28M, HXTAL and PLL.