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.