Power Management

Introduction

Power management and extended battery life are primary focus areas for embedded low-power Wi-Fi® devices such as the SimpleLink™ CC35xx SoC solution. Handling power regimes effectively is fundamental for any battery-operated device. This problem is especially challenging for standards-based wireless devices that need to comply with certain requirements for Transmit power, Beacon interval, and data rates, as is the case with embedded Wi-Fi® devices. This paragraph covers the application level and networking subsystem power management (PM) capabilities, and describes how to enable and measure the average current in different use cases. By application level we refer to the ARM m33 processor and subsystem and by networking subsystem we refer to the internal ARM m3 processor handling all the Wi-Fi® and BLE lower layers.

Power Modes

The CC35xx SoC device offers multiple power modes to optimize energy consumption based on system’s operational requirements. These power modes enable the device to adapt its power usage dynamically, depending on its specific operation (such as monitoring beacons, receiving or transmitting data, etc.). A power mode defines a specific operational state of the device, characterized by its functionality and corresponding power consumption.

In general, the aggregated power consumption is composed from contribution of the application processor subsystem and the networking subsystem. Each of these subsystems is independent and can be in a different power mode. For example, in an idle connected mode, where the device is connected to an Access Point and waking up to receive beacons, there is no need to wakeup the application processor and hence the networking subsystem would jitter between LPDS current (Low Power Deep Sleep) and full RX current. The application processor would stay in LPDS.

Power modes:

  • Shutdown - refers to the networking subsystem. This is the lowest power mode. Networking subsystem is powered off, meaning power lines voltages are down, RTC is not running. Requires cold boot stabilization, including slow clock stabilization. This mode exists before Wlan_Start() API is invoked.
  • Low Power Deep Sleep (LPDS) - applies to both, the application level subsystem and the networking subsystem. Lowest power mode which keeps RTC’s clock and counter running. Fast clock is off. Memories are in retention mode. Voltage levels are lowered. Please note that each subsystem can be in LPDS regardless of the other subsystem. For example, in idle connected mode, the application subsystem would be most of the time in LPDS whereas the networking subsystem may receive or transmit. On the other hand, after Wlan_Start() API is invoked, the networking subsystem is in LPDS and the application processor may be in Active mode depends of the application code.
  • Active - Device is fully active, voltage levels are at their operational value, and all clocks are active. In terms of the application subsystem, it means the processor is ticking. In terms of the networking subsystem, it may be in one of 3 modes, Rx listen, Rx normal or Tx. Rx listen is a mode of STA role when the device is connected and monitors beacons where the beacons are received in 1Mbps or 2Mbps. Rx normal is similar to Rx listen but for all modulations. The Rx current is a little higher in this mode as can be seen on the datasheet. Tx is activating the internal PA to transmit frames.

Note

Since each of the subsystems operate independently, it is common to refer to the device power mode as a combination of the two subsystems mode. For example, when a device power mode is referred to as true LPDS, it means that both subsystems are in LPDS concurrently.

How to measure?

In order to measure the aggregated power consumption, an external power meter needs to be connected. For this purpose, there are two jumpers on the LaunchPad EVB, one for the 1.8V and another for the 3.3V. The 3.3V is used for Tx mode only. Instructions of how to connect and measure can be found in the CC35xxE LaunchPad User Guide under Measure the CC35xxE Current Draw paragraph. See CC35xxE LaunchPad User Guide.

How to measure using the SDK

In order to measure the power consumption, the user needs to use the CC35xx_network_terminal example. The commands include a new command test_sleep with an option to set the time in seconds that the system would try to move to LPDS. If connected idle mode is desired, it is also recommended to configure the DTIM period and observe how the average current decreases as the DTIM period increases. To modify the DTIM period, the user can use the wlan_set_LSI and set the number of DTIM period to stay in LPDS.