10.3.9 Voltage Scaling
The voltage scaling feature allows for a tradeoff between power and performance. Voltage scaling applies an adjustment to the supply
voltage for the on-chip digital logic and memories. For EM0 and EM1 operation, full device performance is supported when the Voltage
Scale Level is set to its highest value. The Voltage Scale Level may be set lower when operating the system at slower clock speeds to
save power. Voltage scaling does not affect the input or output range for analog peripherals or digital I/O logic levels. For more informa-
tion about max system frequency supported for different voltage scaling levels. Refer to the CMU chapter and the data sheet specifica-
tion tables.
Note:
Some device sub-systems and operations are only supported at Voltage Scale Level 2.
• Flash write/erase is only supported at Voltage Scale Level 2.
• TRNG operation is only supported at Voltage Scale Level 2.
• HFXO supports only 38-40 MHz crystals and is only supported at Voltage Scale Level 2.
• Radio operation and radio module register access is only supported at Voltage Scale Level 2. When using any other Voltage Scale
Level access to all radio peripherals is locked out. Thus, firmware may only use Voltage Scale Level 0 during periods when radio
operations or radio register accesses are not required.
Separate voltage scaling controls are available for the different energy modes. These are as follows:
• EM01 Voltage Scaling
• EM23 Voltage Scaling
• EM4H Voltage Scaling
10.3.9.1 EM01 Voltage Scaling
In energy modes EM0 and EM1, the user can dynamically scale voltages between Voltage Scale Level 2 and Voltage Scale Level 0
using the EM01VSCALE2 and EM01VSCALE0 bitfields in EMU_CMD register. A lower Voltage Scale Level can be used in conjunction
with lower processor frequency to reduce power consumption. Once these commands are issued, hardware begins the process of volt-
age scaling and when done, the VSCALEDONE interrupt is triggered. Users can also poll VSCALEBUSY in EMU_STATUS which indi-
cates that hardware is busy changing the voltage scale setting when set. VSCALE in EMU_STATUS shows the current voltage the sys-
tem is in at any time.
Note:
If more than one voltage scaling command is issued in EMU_CMD simultaneously, the lower voltage scaling level has higher
priority. e.g. priority order: EM01VSCALE0 > EM01VSCALE2.
Note:
The reset value of VSCALE for EM0 and EM1 operation is Voltage Scale Level 2.
When voltage scaling up or down, the user should follow the following sequences in order to ensure proper scaling.
• Voltage Scale Down
1. Decrease system clock frequency to the target frequency
2. Update the wait states of Flash for the target frequency
3. Issue voltage scaling command by setting EM01VSCALE2 or EM01VSCALE0 in EMU_CMD
4. Once Hardware completes voltage scaling up, VSCALEDONE interrupt is set.
• Voltage Scale Up
1. Issue voltage scaling command by setting EM01VSCALE2 or EM01VSCALE0 in EMU_CMD
2. Wait for hardware to complete voltage scaling. When done, VSCALEDONE interrupt is set.
3. Update the wait states of Flash for the target frequency
4. Increase system clock frequency to the target frequency
Multiple voltage scaling commands are allowed to be issued even when the current voltage scaling is not yet completed. In such a
case, the current scaling will be aborted and the last command will be executed. VSCALEDONE interrupt will be issued for every volt-
age scaling command.
Note:
When a hard reset occurs, VSCALE will be set to the reset value (Voltage Scale Level 2). In most cases, a soft reset will not
affect the current VSCALE level. However, when a soft reset is issued in the middle of the voltage scaling process, the minimum volt-
age scale level indicated by VSCALE or the EMU_CMD which triggered the voltage scale operation will be applied and reflected in
VSCALE.
Reference Manual
EMU - Energy Management Unit
silabs.com
| Building a more connected world.
Rev. 1.1 | 230