4. Review
In this chapter, we review some of the important features in BLE and also the necessity of lowering power consumption in this technology.
4.1. Bluetooth Low Energy (LE)
Bluetooth Low Energy (LE) prioritizes energy efficiency over high data rates, making it ideal for battery-operated devices requiring minimal power consumption. This efficiency is achieved through two main mechanisms:
Firstly, data packets in Bluetooth LE are smaller, typically ranging from 27 to 251 bytes. By reducing packet size, less energy is required to transmit data, contributing to lower power consumption.
Secondly, Bluetooth LE minimizes the frequency of data transmission to avoid prolonged radio-on times. This approach reduces the overall power consumption by allowing the device’s radio to remain in a low-power state for longer periods, conserving battery life.
These optimizations make Bluetooth LE particularly suitable for devices that need to operate for extended periods on limited battery capacity while transmitting small bursts of data intermittently.
In addition to power efficiency, Bluetooth LE differs from Bluetooth Classic in terms of supported network topologies and node types. Bluetooth LE was designed for specific use cases, necessitating different network configurations. These differences allow Bluetooth LE to excel in scenarios where low power consumption and intermittent data transmission are paramount.
Overall, Bluetooth LE offers a compelling solution for battery-powered devices requiring energy-efficient communication, making it an attractive choice for a wide range of applications, from wearables and IoT devices to healthcare and home automation.
Transmit Power Level: The transmit power level directly impacts the energy consumption of a BLE device during data transmission. Lower transmit power levels typically result in reduced power consumption but may also affect the range of communication.
Data Rate: BLE allows for variable data rates, with lower data rates generally consuming less power. However, higher data rates may be necessary for certain applications, so it’s essential to strike a balance between data rate and power consumption based on specific requirements.
Packet Size: Smaller data packet sizes lead to lower energy consumption during transmission, as less energy is required to send each packet. Optimizing packet size based on the application’s data requirements can help minimize power consumption.
Connection Interval: The connection interval determines how frequently a BLE device communicates with its connected peer. Longer connection intervals allow for greater power savings by reducing the time spent in active mode, but may also increase latency.
Advertising Interval: BLE devices use advertising packets to broadcast their presence to nearby devices. Adjusting the advertising interval can impact power consumption, with longer intervals resulting in lower energy consumption but potentially slower device discovery.
Peripheral and Central Role: Devices operating in the peripheral role (e.g., sensors) typically consume less power than those operating in the central role (e.g., smartphones). Understanding the roles and responsibilities of each device in the BLE network architecture is crucial for optimizing power consumption.
Efficient Code and Algorithms: Writing efficient code and using optimized algorithms can minimize CPU usage and idle time, leading to lower overall power consumption in BLE devices. Some important factors in the application like data retention can cause more power consumption.
Hardware Design: Selecting energy-efficient components and optimizing hardware design, including power management circuitry, can further reduce power consumption in BLE devices.
Environmental Factors: Environmental conditions such as temperature and interference levels can also affect power consumption. Ensuring proper environmental conditions and mitigating interference can help maintain optimal energy efficiency.
4.1.1. Sleep Modes
BLE devices can enter low-power sleep modes when idle to conserve energy. Optimizing sleep modes and wake-up times can significantly reduce overall power consumption without compromising functionality. DA1459x features four primary power modes.
Hibernation mode. This is supposed to be the shipping mode. No RAM is retained, no clocks are running (so no RTC), all domains are off, except for PD_AON, and the system can only be woken up by POR or a hibernation wake-up trigger that can only happen on dedicated GPIOs.
Deep Sleep mode. This is supposed to be the shipping mode + RTC. No RAM is retained, RCX is running (so RTC is on), all domains, except for PD_AON and PD_SLP, are off, and the system can only be woken up by POR, RTC alarm, watchdog reset, or a GPIO trigger (reset on wake-up).
Extended Sleep mode. This is supposed to be the Bluetooth connection sleep mode. There can be programmable RAM retained, RCX is running (so RTC can be on), all domains are off, except for
PD_AON PD_SLP
andPD_TIM
, the system can only be woken up by POR, RTC alarm (if RCX is used), MAC timer, other Timer, or a GPIO trigger. There is a sleep variance based on the VDD voltage level while sleeping as shown in Table 3. This table compares power consumption in Extended Sleep mode across different scenarios. It outlines varying configurations and their corresponding battery supply currents, measured in microamperes (μA). The data provides insights into power usage under different conditions.
Table 2 Battery Supply Currents in Extended Sleep Mode Mode
Description
Parameters
Current
IBAT_EX_SLP_32KB_RET
Battery supply current
Extended Sleep mode; Both instruction caches retained. 32 kB (data) RAM retained; RCX on; DC-DC on; RTC on; VDD = 0.75 V; VBAT = 3 V.
2.6 μA
IBAT_EX_SLP_64KB_RET
Battery supply current
Extended Sleep mode; Both instruction caches retained. 64 kB (data) RAM retained; RCX on; DC-DC on; RTC on; VDD = 0.75 V; VBAT = 3 V.
3 μA
IBAT_EX_SLP_96KB_RET
Battery supply current
Extended Sleep mode; Both instruction caches retained. 96 kB (data) RAM retained; RCX on; DC-DC on; RTC on; VDD = 0.75 V; VBAT = 3 V.
3.5 μA
IBAT_EX_SLP_96KB_RET _0.9V
Battery supply current
Extended Sleep mode; Both instruction caches retained. 96 kB (data) RAM retained; RCX on; DC-DC on; RTC on; VDD = 0.9 V; VBAT = 3 V.
4.7 μA
As mentioned earlier, Extended Sleep is the Bluetooth connection sleep mode. The power consumption for this mode can be found in the table above. Note that the power consumption is highly dependent on the amount of RAM retained and the VDD voltage. To measure and visualize the power consumption using a power profiler, insert the following function into the
OS_TASK_FUNCTION
inmain.c
. Ensure you include the appropriate header file. Additionally, disable other functions to measure only the current value for Extended Sleep mode#include "sys_adc_internal.h" sys_adc_disable();Active. The system is up and running with a number of power domains enabled depending on the use case requirements. There are two variances in this mode: the Low-Power (LP) and the High-Performance (HP) mainly related to the Radio TX output performance as shown in Table 3.
Power Mode |
VDCDC |
VDD |
System Clock Frequency |
eFlash Mode |
Radio Mode |
Comments |
---|---|---|---|---|---|---|
Active |
1.1 V |
0.9 V |
32 MHz |
Read |
OFF /LP |
Default startup/Low Power mode |
1.4 v |
0.9 v 1.2 v |
32 MHz 64 MHz |
Read/Program/Erase |
OFF/HP |
High-Performance mode |
|
Ext. Sleep |
1.1 V |
0.75 V |
RCX |
OFF |
OFF |
Normal wake-up |
0.9 v |
Fast wake-up |
|||||
Deep Sleep |
1.1 V |
0.75 V |
RCX |
OFF |
OFF |
Wake-up in reset state |
Hibernation |
OFF |
OFF |
None |
OFF |
OFF |
Wake-up in reset state only from designated IOs |