Power consumption is a key design criterion for wireless sensor nodes that have to connect easily to the Internet of Things.
Power management across the wireless transceiver and microcontroller is an essential part of achieving the lowest possible power consumption to achieve the longest battery life, but it can require a complex mix of hardware, software and analysis.
The BGM113 from Silicon Labs is a fully integrated, certified Bluetooth low-energy module that combines a 2.4 GHz Bluetooth system-on-chip, a high-efficiency ceramic chip antenna and Bluetooth 4.2-compliant software stack.
Figure 1: The BGM113 module offers low-power Bluetooth for the Internet of Things.
The low-power EFM32 Gecko microcontroller technology is combined with an ultra-low-power Bluetooth Smart transceiver on a single die. This allows for more effective digital power management with fast wake-up times, higher RF sensitivity and transparent management of the peripherals to minimize the power used. The fully-integrated power amplifier and balun allows for a +10 dBm boost in RF sensitivity with more opportunities for power management closely coupled to the application.
The ARM® Cortex®-M4 core supports 128 to 256 kB flash sizes and 16 to 32 kB RAM sizes alongside a range of low-energy peripherals that are connected via the Peripheral Reflex System (PRS). This allows them to operate autonomously from the controller as part of the digital power management.
The Bluetooth Smart module is certified for use in all key markets including North America, Europe, Japan and South Korea, and can be powered by a standard 3 V coin cell battery or two AAA batteries.
Real application from memory
Run Mode
Sleep Mode
Deep Sleep
Stop Mode
Shutoff Mode
Current Consumption
Down to 63 μA/MHz
Down to 32 μA/MHz
Down to 0.9 μA
Down to 0.6 μA
Down to 20 nA
Wake-up Time
-
0
2 μs
2 μs
160 μs
Wake-up Events
Any
Any
32 KHz Peripherals
Async IRQ,
1²C Slave
Analog Comparators
Voltage Comparators
Reset,
GPIO Rising/Falling Edge
CPU (Cortex-M3/M0)
On
-
-
-
-
High Frequency Peripherals
Available
Available
-
-
-
Low Frequency Peripherals
Available
Available
-
-
-
Asynchronous Peripherals
Available
Available
Available
Available
-
Full CPU and SRAM Retention
On
On
On
On
-
Power-on Reset/Brown-out Detector
On
On
On
On
On
Figure 2: The energy modes of the EFM32 controller.
Energy modes
Running at 32 MHz and 3 V, the EFM32 controllers only consume 150 µA/MHz while running real-life code, but there are also several low power modes for the peripherals controller by an energy management unit (EMU) to further manage the power of the system under digital control.
The six-channel PRS links the peripherals and monitors system-level events so that different peripherals can communicate autonomously with each other without CPU intervention. The PRS watches for specific events to occur before waking the CPU, thereby keeping the core in an energy-saving standby mode as long as possible, reducing system power consumption and extending battery life.
The EMU manages the transitions of the five energy modes in the device, controlling which peripherals and features are available and the amount of current the device consumes.
- In Energy Mode 0 (EM0) the CPU fetches and executes instructions from flash or RAM, and all low energy peripherals can be enabled. From here, the core can quickly enter one of the low energy modes, halting the CPU and flash memory. After a wake up, all low energy modes return to EM0 within 2 µs and use 180 µA/MHz.
- In the EM1 sleep mode, the clock to the CPU is disabled but all the peripherals, including flash and RAM, are operational, and the PRS collects data from the peripherals, enabling the system to remain in EM1 for long periods of time with full data retention. This uses 45 µA/MHz.
- In the EM2 deep sleep mode the main high frequency oscillator is turned off, but the 32 kHz oscillator and real time clock are available for the low energy peripherals. The wake-up time to EM0 is only 2 µs and low-leakage RAM ensures full data retention with a power consumption of 0.9 µA.
- The EM3 stop mode disables the low-frequency oscillator, but leaves the low-leakage RAM powered so that the low power analog comparator or asynchronous external interrupts can wake-up the device. This mode uses 0.6 µA.
- For applications that don't need RTC or RAM retention, EM4 shut-off mode is the deepest energy mode available and the only way to wake up is with a reset, and this uses just 20 nA.
Figure 3: The possible energy modes of the different peripherals in the BGM113 module.
The EMU can also be used to turn off the power to unused RAM blocks, and it contains control registers for the DC-DC regulator and the Voltage Monitor (VMON). This monitors multiple supply voltages and has multiple channels, which can be programmed individually in the code to determine if a sensed supply has fallen below a chosen threshold.
Power management
The EMU and integrated regulators generate internal supply voltages from an integrated DC-DC buck regulator for the module so that only one external supply voltage is required. This allows more finely grained control of the internal voltages to minimize the power delivered across the module.
The DC-DC converter covers a wide range of load currents and provides up to 90% efficiency in energy modes EM0, EM1, EM2 and EM3. Paying attention to the RF noise mitigation means the DC-DC converter will perform without degrading the sensitivity of radio components, which is an essential part of digital power management in a wireless transceiver.
There are various protection features for the DC-DC converter, including programmable current limiting, short-circuit protection, and dead-time protection, and it may also enter bypass mode when the input voltage is too low for efficient operation. In bypass mode, the DC-DC input supply is internally connected directly to its output through a low resistance switch. This bypass mode also has in-rush current limiting to prevent input supply voltage droops due to excessive output current transients.
Clocking
Managing the clock signals across the device is another key element of digital power management, allowing peripherals to be placed into lower power modes. The Clock Management Unit (CMU) controls the oscillators and clocks in the BGM113, as well as enabling configuration of the oscillators. The flexibility of the CMU allows the software to optimize energy consumption in any specific application by minimizing power dissipation in unused peripherals and oscillators. However, having digital power management in mind from the start of the design of the device allows the oscillators to be optimized for the different elements of the power control.
As such, there are two crystal oscillators and four RC oscillators integrated on the chip, with a 38.4 MHz high frequency crystal oscillator (HFXO) providing a precise timing reference for the MCU and radio and a 32.768 kHz crystal oscillator (LFXO) providing an accurate timing reference for the low energy modes.
Figure 4: The internal structure of the Blue Gecko controller with the power management blocks.
An integrated high-frequency RC oscillator (HFRCO) is available for the MCU system, when crystal accuracy is not required, and this uses a fast startup technique with minimal energy consumption combined with a wide frequency range to keep the power down.
Another integrated low-frequency 32.768 kHz RC oscillator (LFRCO) can be used as a timing reference in low energy modes, and an integrated ultra-low-frequency 1 kHz RC oscillator (ULFRCO) is available to provide a timing reference at the lowest energy consumption in low energy modes.
The radio sub-system is also part of the digital power management scheme. The RFSENSE module generates a system wakeup interrupt upon detection of wideband RF energy at the antenna interface, providing true RF wakeup capabilities from low energy modes including EM2, EM3 and EM4.
This triggers on a relatively strong RF signal and is available in the lowest energy modes, allowing for a very low energy consumption depending on the application code and the modes used. It does not demodulate or otherwise qualify the received signal, but software may respond to the wakeup event by enabling normal RF reception.
Software
Digital power management is also part of the software chain. A key part of the Simplicity Studio development tool is the energyAware Profiler that provides access to Advanced Energy Monitoring (AEM) data from the chip. This provides real time information about current consumption that can be viewed in the profiler by connecting the development kit to a PC via a USB port.
The AEM allows the developer to track the energy consumption while the application is running and so provides real rather than estimated values across the module to give a complete view of the energy consumption.
A current sensor samples the current flowing through the main power rail of the controller, sampling and converting the current data along with voltage and timing information. The bandwidth of the AEM is 60 Hz when measuring currents below 200 µA and 120 Hz when measuring currents above 200 µA. Above 200 µA the maximum error is 0.1 mA and below 200 µA the accuracy increases to 1 µA, but the sensor can still detect changes in current consumption as small as 100 nA.
This allows the power to be optimized by changing the application code.
Code profiling
This is done with the energyAware Profiler energy debugging tool, which takes the data from the AEM and displays the information in a current vs time graph with the relevant code. The developer can zoom in on the X (time) and Y (power) axes of the energy graph to analyze the details of energy consumption with greater precision. In addition, the profiler provides a direct correlation between the energy graph, function analyzer and application code.
Figure 5: Profiling code for energy consumption as part of the digital power management of the BME113 wireless module.
Conclusion
Digital power management runs across the whole BM113 wireless module. From the controller core to the peripherals and the radio transceiver, all the blocks can be shut down in different ways to optimize the power consumption. Coupled with energy profiling code analysis in the development tools and real data from the module itself, the developer can manage the power effectively across the whole module to maximize the battery life in IoT applications.