RM0367 Rev 7 147/1043
RM0367 Power control (PWR)
172
6.1.6 Dynamic voltage scaling configuration
The following sequence is required to program the voltage regulator ranges:
1. Check V
DD
to identify which ranges are allowed (see Figure 11: Performance versus
VDD and VCORE range).
2. Poll VOSF bit of in PWR_CSR. Wait until it is reset to 0.
3. Configure the voltage scaling range by setting the VOS[1:0] bits in the PWR_CR
register.
4. Poll VOSF bit of in PWR_CSR register. Wait until it is reset to 0.
Note: During voltage scaling configuration, the system clock is stopped until the regulator is
stabilized (VOSF=0). This must be taken into account during application development, in
case a critical reaction time to interrupt is needed, and depending on peripheral used (timer,
communication,...).
6.1.7 Voltage regulator and clock management when V
DD
drops
below 1.71 V
When V
CORE
range 1 is selected and V
DD
drops below 1.71 V, the application must
reconfigure the system.
A three-step sequence is required to reconfigure the system:
1. Detect that V
DD
drops below 1.71 V:
Use the PVD to monitor the V
DD
voltage and to generate an interrupt when the voltage
goes under the selected level. To detect the 1.71 V voltage limit, the application can
select by software PVD threshold 2 (2.26 V typical). For more details on the PVD, refer
to Section 6.2.3.
2. Adapt the clock frequency to the voltage range that will be selected at next step:
Below 1.71 V, the system clock frequency is limited to 16 MHz for range 2 and 4.2 MHz
for range 3.
3. Select the required voltage range:
Note that when V
DD
is below 1.71 V, only range 2 or range 3 can be selected.
Note: When V
CORE
range 2 or range 3 is selected and V
DD
drops below 1.71 V, no system
reconfiguration is required.
6.1.8 Voltage regulator and clock management when modifying the
V
CORE
range
When V
DD
is above 1.71 V, any of the 3 voltage ranges can be selected:
• When the voltage range is above the targeted voltage range (e.g. from range 1 to 2):
a) Adapt the clock frequency to the lower voltage range that will be selected at next
step.
b) Select the required voltage range.
• When the voltage range is below the targeted voltage range (e.g. from range 3 to 1):
a) Select the required voltage range.
b) Tune the clock frequency if needed.