Nations Technologies Inc.
Tel
:
+86-755-86309900
:
Address: Nations Tower, #109 Baoshen Road, Hi-tech Park North.
Nanshan District, Shenzhen, 518057, P.R.China
38
/
631
bit to put the FLASH into sleep mode to reduce power consumption, and the FLASH_AC.SLMEN bit can also restore
the current state of the FLASH.
Dynamic Voltage Regulation (MR)
Steps to enter MR 1.0V:
Make sure the system clock is at most 72MHz. Note that if the current operating mode is LP RUN, then the
maximum system clock is up to 4MHz;
Configure the FLASH read cycle to be greater than or equal to 2. This step is to avoid entering the low-voltage
mode FLASH timing problem;
Set FLASH_AC.LVMEN to 1, and wait for FLASH_AC.LVMF to be 1, indicating that FLASH has entered
the low-voltage mode;
Reconfigure the FLASH read cycle, the configuration cycle is related to the system clock, and ensure that the
read FLASH wait time is greater than 30ns. If the system clock is 72MHz, the period needs to be configured
as 2;
Set SRAM to work in normal mode;
Configure PWR_CTRL1.MRSEL[1:0] = 0x2, then poll to wait for PWR_STS2.MRF to be pulled low and
then pulled high. It takes about 100us to pull down PWR_STS2.MRF.
Steps for MR1.0V → MR 1.1V:
Configure PWR_CTRL1.MRSEL[1:0] = 0x3, then poll and wait for PWR_STS2.MRF to be pulled low and
then pulled high. It takes about 100us to pull down PWR_STS2.MRF;
Configure the FLASH read cycle to be greater than or equal to 2. This step is to avoid entering the low-voltage
mode FLASH timing problem;
Clear the FLASH_AC.LVMEN bit and wait for the FLASH_AC.LVMF bit to be 0, indicating that the FLASH
has exited the low-voltage mode;
Increase the system clock;
Configure the FLASH read cycle according to the system clock, and ensure that the read wait time is greater
than or equal to 20ns (if it is less than 50MHz, it can be configured to 0).
SLEEP mode
The CPU stops and all peripherals including peripherals around the Cortex®-M4F core (such as NVIC, SysTick, etc.)
can run and wake up the CPU when an interrupt or event occurs. In SLEEP mode, all I/O pins maintain the same
state/function as in RUN mode.
Enter SLEEP mode
Enter SLEEP mode by executing WFI (wait for interrupt) or WFE (wait for event) instruction with
SCB_SCR.SLEEPDEEP = 0. Depending on the SCB_SCR.SLEEPONEXIT, there are two options for SLEEP mode
entry: