Voltage scaling on EFM32xG12

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> amenleung on ‎04-21-2017 06:24 AM - edited on ‎04-27-2017 04:06 AM by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> MitchC

Question

What is voltage scaling on EFM32xG12?

Answer

Voltage scaling allows for a trade-off between power and performance.

EFM32xG12 devices can scale voltages between Voltage Scale Level 2 (1.2 V) and Voltage Scale Level 0 (1.0 V) using EM01VSCALE2 and EM01VSCALE0 bitfields in EMU_CMD register.

A lower Voltage Scale Level corresponds to lower processor frequency and lower power consumption. 

 

Flash Wait States at Voltage Scaling Level 2

Clock Frequency Minimum Flash Wait States
HFCLK <= 26 MHz 0
HFCLK > 26 MHz 1

 

Flash Wait States at Voltage Scaling Level 0

Clock Frequency Minimum Flash Wait States
HFCLK <= 7 MHz 0
7 MHz < HFCLK <= 14 MHz 1
14 MHz < HFCLK<= 21 MHz 2

 

During Voltage Scaling, if a fixed frequency oscillator source (i.e. HFXO or CLKIN0) exceeds the maximum system frequency supported, it must be disabled or not selected. Likewise, an adjustable oscillator source (i.e. HFRCO or AUXHFRCO) must be configured to not exceed the maximum system frequency supported before voltage scaling is applied.

 

If Voltage scaling is being used to save system energy, it is important to ensure the proper conditions for entry and exit of EM2 Deep Sleep, EM3 Stop or EM4 Hibernate are met.