RM0444 Rev 5 123/1390
RM0444 Power control (PWR)
159
4.1.4 Dynamic voltage scaling management
The dynamic voltage scaling is a power management technique which consists in
increasing or decreasing the voltage used for the digital peripherals (V
CORE
), according to
the application performance and power consumption needs.
Dynamic voltage scaling to increase V
CORE
is known as overvolting. It allows to improve the
device performance.
Dynamic voltage scaling to decrease V
CORE
is known as undervolting. It is performed to
save power, particularly in laptop and other mobile devices where the energy comes from a
battery and is thus limited.
Two voltage ranges are available:
• Range 1: High-performance range
The main regulator provides a typical output voltage at 1.2 V. The system clock
frequency can be up to 64 MHz. The Flash access time for read access is minimum,
write and erase operations are possible.
• Range 2: Low-power range
The main regulator provides a typical output voltage at 1.0 V. The system clock
frequency can be up to 16 MHz.The Flash memory access time for a read access is
increased as compared to Range 1; write and erase operations are not possible.
The voltage scaling is selected through the VOS bit in the PWR_CR1 register.
The sequence to go from Range 1 to Range 2 is:
1. Reduce the system frequency to a value lower than 16 MHz
2. Adjust number of wait states according new frequency target in Range 2 (LATENCY
bits in the FLASH_ACR).
3. Program the VOS[1:0] bits to 10 in the Power control register 1 (PWR_CR1).
The sequence to go from Range 2 to Range 1 is:
1. Program the VOS[1:0] bits to 01 in the Power control register 1 (PWR_CR1).
2. Wait until the VOSF flag is cleared in the Power status register 2 (PWR_SR2).
3. Adjust number of wait states according new frequency target in Range 1 (LATENCY
bits in the FLASH access control register (FLASH_ACR).
4. Increase the system frequency.