• Using the above numbers and the VMON calibration equations:
• T
1.86
= 35
• T
2.98
= 87
• V
a
= 21.53 mV
• V
b
= 1.106 V
• Using the VMON threshold equations (with Y=2.2 V), Thres
Y
= 51 (rounded from 50.8) and Y
calib
= 2.204 V
EMU_VMONAVDDCTRL_RISETHRESCOARSE should be programmed to 5 and EMU_VMONAVDDCTRL_RISETHRESFINE should
be programmed to 1 (since Thres
Y
= 51). With these programmed values, VMON AVDD rise threshold is set for Y
calib
= 2.204 V, which
is the closest programmable threshold.
10.3.13 Powering Off SRAM Blocks
SRAM blocks may be powered off using the EMU_RAMxCTRL RAMPOWERDOWN fields. Selected blocks are powered down in order
from the highest to lowest address in each bank. The lowest SRAM block in RAM0 cannot be powered off, and will always remain pow-
ered on for proper system functionality. The stack must be located in retained memory. Refer to the EMU_RAMxCTRL register descrip-
tions for power configuration options and the associated address ranges.
10.3.14 Temperature Sensor
EMU provides low energy periodic temperature measurement. A temperature measurement is taken every 250 ms, with the 8-bit result
stored in EMU->TEMP register.
Note:
The EMU temperature sensor is always running (except in EM4 Shutoff) and is independent from the ADC temperature sensor.
The EMU provides the following features around temperature changes
• Wake-Up from EM4 Hibernate on Temperature Change
• Interrupt from High Level Trip
• Interrupt from Low Level Trip
During production test, the EMU temperature sensor for each device is calibrated at room temperature, with the corresponding calibra-
tion temperature and reading stored off in the DI page as follows:
• DEVINFO->CAL.TEMP : This bitfield contains the temperature in degrees C at calibration
• DEVINFO->EMUTEMP : This register contains the EMU->TEMP reading at the calibration temperature stored in DEVINFO-
>CAL.TEMP
The current calibrated EMU temperature sensor result from EMU->TEMP may be converted to degrees C using the following equation:
T
J_EMU
[°C] = ( DEVINFO->CAL.TEMP ) + (TEMPCO
EMxx
) * [ (DEVINFO->EMUTEMP) - (EMU->TEMP) ]
Figure 10.8. Temperature Calculation
TEMPCO
EMxx
is a temperature coefficient that varies based on the energy mode at the time of the EMU temperature sensor reading:
• TEMPCO
EM01
= 0.278 + (DEVINFO->EMUTEMP) / 100
• TEMPCO
EM234
= 0.268 + (DEVINFO->EMUTEMP) / 100
For maximum accuracy when using the high/low level temperature interrupts, firmware should ensure that TEMPCO
EM234
is used to set
the temperature thresholds in EMU->TEMPLIMITS before entering EM2/3/4. Similarly, when exiting EM2/3/4, the temperature thresh-
olds should be updated using TEMPCO
EM01
.
Note that an increasing reading in EMU->TEMP corresponds to a decreasing temperature, and vice-versa. If enabled, the TEMPHIGH
High Level Limit in EMU-> TEMPLIMITS causes an interrupt flag on a increasing EMU->TEMP reading (i.e., decreasing temperature).
Similarly, the TEMPLOW Low Level Limit causes a interrupt flag on a decreasing EMU->TEMP reading (i.e., increasing temperature).
The EMU temperature sensor accuracy is approximately ±10°C over most of the useable temperature range, but may be +15°C at high-
er temperatures. Accordingly, any use of the EMU temperature sensor should include margin to account for that accuracy.
Reference Manual
EMU - Energy Management Unit
silabs.com
| Building a more connected world.
Rev. 1.1 | 234