10.3.12 Voltage Monitor (VMON)
The EFR32 features an extremely low energy Voltage Monitor (VMON) capable of running down to EM4 Hibernate. Trigger points are
preloaded but may be reconfigured.
• AVDD X 2
• DVDD
• IOVDD0
Table 10.6. VMON Events
Feature
Condition
AVDD
DVDD
IOVDD
Hysteresis (separate rise and fall triggers)
-
Yes
-
-
Interrupt
Fall or Rise
Yes
Yes
Yes
Wake-Up from EM4 Hibernate
Fall or Rise
Yes
Yes
Yes
The status of the VMON is reflected in the EMU_STATUS register.
The status of the sticky interrupt can be found at EMU_IF. These interrupt flags also serve as the wake-up source of EM4H when the
associated RISEWU and FALLWU bits are set. This means that if these flags are set, EM4H entry will result in an immediate wake-up.
To prevent this, these must be cleared by software before EM4H entry.
Note that the VMON has offset high hysteresis, specified in the device Data Sheet. For rising edge detection the threshold will be the
threshold setting (as described below) + V
VMON_HST
, and for falling edge detection the threshold will simply be the threshold setting.
VMON channels are calibrated at two voltages: 1.86 V and 2.98 V. The calibration results (coarse thresholds and fine thresholds for
1.86 V and 2.98 V) are placed in the VMONCAL registers in the DI page. Using these thresholds it is possible to calculate thresholds for
the entire supported VMON VDD range, i.e., 1.62 V to 3.4 V. Using the values given in VMONCAL registers, one can calculate T
1.86
,
T
2.98
, V
a
and V
b
.
T
1.86
= (10 x VMONCALX_XVDD1V86THRESCOARSE) + VMONCALX_XVDD1V86THRESFINE,
T
2.98
= (10 x VMONCALX_XVDD2V98THRESCOARSE) + VMONCALX_XVDD2V98THRESFINE,
V
a
= (1.12) / (T
2.98
- T
1.86
),
V
b
= 1.86 - (V
a
x T
1.86
),
Figure 10.6. VMON Calibration Equations
Now if it is required to find the coarse and fine thresholds for a certain voltage Y, following equation can be used:
Thres
Y
= (Y - V
b
) / V
a
,
Y
calib
= (Thres
Y
x V
a
) + V
b
,
Figure 10.7. VMON Threshold Equations
Thres
Y
should be rounded to the nearest integer. The least significant digit of the rounded Thres
Y
gives the fine threshold and remain-
ing digits give the coarse threshold for Y. These can now be programmed in the relevant EMU_VMONXVDDCTRL register as the
coarse and fine thresholds. It may not be possible to set threshold exactly for Y. In that case the closest possible voltage is used. Y
calib
gives the value of this closest possible voltage.
Consider the example where it is required to set the AVDD rise threshold to 2.2 V (so Y=2.2 V). This means that the EMU_VMO-
NAVDDCTRL_RISETHRESCOARSE and EMU_VMONAVDDCTRL_RISETHRESFINE need to be programmed. Here are the steps
that should be followed:
• Check VMONCAL0 register. It has the VMON AVDD channel calibrated thresholds for 1.86 V and 2.98 V. Lets assume that the fol-
lowing values are present in the associated bitfields:
• AVDD1V86THRESCOARSE = 3
• AVDD1V86THRESFINE = 5
• AVDD2V98THRESCOARSE = 8
• AVDD2V98THRESFINE = 7
Reference Manual
EMU - Energy Management Unit
silabs.com
| Building a more connected world.
Rev. 1.1 | 233