Silicon Labs UG235.07 Users manual

UG235.07: Energy Saving with Silicon Labs Connect v2.x
This chapter of the Connect v2.x User’s Guide discusses techni­ques 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 instal­led 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 infor­mation for developers who are using the Silicon Labs Connect Stack for their applica­tion 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 availa­ble. 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 ena­bled. 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
Loading...
+ 5 hidden pages