7.6 Sleep Mode
Setting the sleep mode select bit in the PMU0CF register turns off the internal 1.8 V core LDO regulator and switches the power supply
of all on-chip RAM to the VDD pin. Power to most digital logic on the chip is disconnected; only the power management unit and RTC
remain powered. Only the comparators remain functional when the device enters Sleep mode. All other analog peripherals (ADC0,
IREF0, External Oscillator, etc.) should be disabled prior to entering Sleep mode.
Note:
The system clock source must be set to the low power internal oscillator (LPOSC0) with the clock divider set to 1 prior to entering
Sleep mode.
Note:
The instruction placing the device in Sleep mode should be immediately followed by four NOP instructions. This will ensure the
PMU resynchronizes with the core.
The precision internal oscillator may potentially lock up after exiting Sleep mode. Systems using Sleep mode and the precision oscilla-
tor (HPOSC0) should switch to the low power oscillator prior to entering Sleep:
1. Switch the system clock to the low power oscillator.
2. Turn off the precision oscillator.
3. Enter Sleep.
4. Exit Sleep.
5. Wait 4 NOP instructions.
6. Turn on the precision oscillator.
7. Switch the system clock to the precision oscillator.
GPIO pins configured as digital outputs will retain their output state during sleep mode and maintain the same current drive capability in
sleep mode as they have in normal mode. GPIO pins configured as digital inputs can be used during sleep mode as wakeup sources
using the port match feature and will maintain the same input level specs in Sleep mode as they have in normal mode.
RAM and SFR register contents are preserved in Sleep as long as the voltage on VDD does not fall below V
POR
. The PC counter and
all other volatile state information is preserved allowing the device to resume code execution upon waking up from sleep mode.
The following wake-up sources can be configured to wake the device from sleep mode:
• RTC oscillator fail
• RTC alarm
• Port match event
• Comparator 0 rising edge
The comparator requires a supply voltage of at least 1.8 V to operate properly. In addition, any falling edge on RSTb (due to a pin reset
or a noise glitch) will cause the device to exit Sleep In order for the MCU to respond to the pin reset event, software must not place the
device back into Sleep for a period of 15 μs. The PMU0CF register may be checked to determine if the wake-up was due to a falling
edge on the RSTb pin. If the wake-up source is not due to a falling edge on RSTb, there is no time restriction on how soon software
may place the device back into sleep mode. A 4.7 kΩ pullup resistor to VDD is recommend for RSTb to prevent noise glitches from
waking the device.
7.6.1 Configuring Wakeup Sources
Before placing the device in a low power mode, firmware should enable one or more wakeup sources so that the device does not re-
main in the low power mode indefinitely. For Idle mode, this includes enabling any interrupt. For Stop mode, this includes enabling any
reset source or relying on the RSTb pin to reset the device.
Wake-up sources for Suspend and Sleep modes are configured through the PMU0CF register. Wake-up sources are enabled by writing
1 to the corresponding wake-up source enable bit. Wake-up sources must be re-enabled each time the device is placed in Suspend or
Sleep mode in the same write that places the device in the low power mode.
The reset pin is always enabled as a wake-up source. The device will awaken from Sleep mode on the falling edge of RSTb. The de-
vice must remain awake for more than 15 μs in order for the reset to take place.
EFM8SB2 Reference Manual
Power Management and Internal Regulators
silabs.com
| Smart. Connected. Energy-friendly.
Rev. 0.1 | 47