UG235.07: Energy Saving with Silicon
Labs Connect v2.x
This chapter of the Connect v2.x User’s Guide discusses techniques to reduce power consumption of network applications
based on the Silicon Labs Connect Stack. The Connect stack is
delivered as part of the Silicon Labs Proprietary Flex SDK. The
Connect v2.x User’s Guide assumes that you have already installed the Simplicity Studio development environment and the Flex
SDK, and that you are familiar with the basics of configuring,
compiling, and flashing Connect-based applications. Refer to
UG235.01: Developing Code with Silicon Labs Connect v2.x for
an overview of the chapters in the Connect v2.x User’s Guide.
The Connect v2.x User’s Guide is a series of documents that provides in-depth information for developers who are using the Silicon Labs Connect Stack for their application development. If you are new to Connect and the Proprietary Flex SDK, see
QSG138: Proprietary Flex SDK v2.x Quick Start Guide.
KEY POINTS
• Discusses Silicon Labs Connect energy
modes.
• Describes the support for sending data to
sleepy end devices.
• Describes additional methods for reducing
Proprietary is supported on all EFR32FG devices. For others, check the device's data
sheet under Ordering Information > Protocol Stack to see if Proprietary is supported. In
Proprietary SDK version 2.7.n, Connect is not supported on EFR32xG22.
silabs.com | Building a more connected world. Rev. 0.3
UG235.07: Energy Saving with Silicon Labs Connect v2.x
Introduction to Energy Modes
1. Introduction to Energy Modes
In battery-powered microcontroller applications, saving energy is essential. By reducing current consumption, the application's effective
battery life can be significantly increased.
The Wireless Gecko (EFR32™) portfolio supports five Energy Modes:
• Run Mode (Energy Mode 0)
• Sleep Mode (Energy Mode 1)
• Deep Sleep Mode (Energy Mode 2)
• Stop Mode (Energy Mode 3)
• Hibernate Mode / Shut Off Mode (Energy Mode 4)
Of these five energy modes, Silicon Labs Connect supports EM0, EM1, and EM2.
1.1 Energy Mode 0
This is the default mode. In this mode, the CPU fetches and executes instructions from flash or RAM, and all peripherals are available.
1.2 Energy Mode 1
In sleep mode, the clock to the CPU is disabled. All peripherals, as well as RAM and flash, remain available. By using the Peripheral
Reflex System (PRS) and DMA, several operations can be performed autonomously. This helps save power by halting the main loop of
the application but does not interfere with the timely handling of interrupts. For example, the radio can still receive packets in EM1.
1.3 Energy Mode 2
In deep sleep mode, no high-frequency oscillators run, which means that only asynchronous and low-frequency peripherals are available. This mode further improves energy efficiency while still allowing for a range of activities. In this mode, the radio is shut down and
the node will not receive packets.
silabs.com | Building a more connected world. Rev. 0.3 | 2
UG235.07: Energy Saving with Silicon Labs Connect v2.x
Introduction to Energy Modes
1.4 Idle/Sleep Plugin
A device can join to the coordinator as an end device (non-sleepy) or sleepy end device. If a device is non-sleepy, both the MCU and
the radio are always on (and the radio is in RX mode when there is nothing to transmit) regardless of whether the Idle/Sleep plugin is
enabled or not. If a device is a sleepy device and the Idle/Sleep Plugin is not enabled, the radio will be turned off when it is possible
(thus it will unable to receive packets) while the MCU will run. If the Idle/Sleep Plugin is enabled and the device is sleepy, the radio will
be turned off and the MCU will be stopped.
The following table shows the MCU and radio states when no operation is in progress:
Table 1.1. MCU and Radio States
Idle/Sleep Device Mode MCU Radio
Disabled Non-sleepy EM0 On
Enabled Non-sleepy EM1 On
Disabled Sleepy EM0 Off
Enabled Sleepy EM2 Off
To exploit the energy-saving capabilities of EFR32 devices with the Silicon Labs Connect stack, the Idle/Sleep plugin must first be enabled. To enable the plugin, open AppBuilder, select the Plugins tab, scroll down to the Connect Utility group, and select the Idle/
Sleep plugin checkbox as shown in the following figure.
silabs.com | Building a more connected world. Rev. 0.3 | 3