S. Marsanne

Saving Power Overview

Discussion created by S. Marsanne Employee on Dec 29, 2016

Over the year the population of battery powered devices is booming: watches, pagers, pacemakers, phones, laptops, etc...

The race is on to maximize a device operating time between battery recharge/replace, while reducing the battery's size, weight and cost. Gas meters, Electronic Shelf Label (ESL) and Car Smart Key are typical examples.




All right, let's dig in...


The power budget (Joules or most commonly mAH = mili amp hours) is supplied from the battery to meet the device demand.



Step 1: Batteries and Voltage Regulation


Batteries have a certain voltage range through the discharging cycle.


Typical electronics ICs require lower voltage and regulator is required (3.3V or 1.8V). There are mainly 2 types:


LDO (low drop out linear regulator):

- Easy to use, low voltage ripples on the output, so good for analog.

- The incoming and outgoing currents are the same: Voltage is regulated by using the LDO as a heat sink...



DC-DC (switched mode power supply type) are more complex and more energy efficient, and use a coil.

- More complex to use (coil switching frequency and potential noise vs coil size, peak currents and ripples)

- The energy efficiency is typically 90% (10% of energy is wasted as heat)

Combining DC-DC followed by LDO usually make sense in device such as smart phone.


Note: Batteries have an internal equivalent serial resistor which can cause voltage droops if current peaks are present (eg: button batteries), putting lots of decoupling capacitors may not be the ideal solution.




Step 2: Device Mission profile


The "Mission Profile" represents the typical device operating mode: Usually there is an ON/running time, and a OFF/stand-by time. Together it represents a periodic cycle which total energy consumption should be determined.

Mission profile are also used sometime to estimate or extend the lifespan of a product.


In the OFF/Standby time, if the device could have all its clocks stopped, the main energy waste may come from IC current leakage. (unless an LED is kept on...)


If the ON/Running time, many parameters affect power consumption. It depends on how much processing power is needed. Here, using the maximum operating frequency of a microcontroller may have to be revisited and optimized...


If a device runs at 200uA/MHz, reducing from 200MHz down to 100MHz would save around 20mA or 4 LEDs equivalent.


Depending on the time ratio between ON and Standby time, efforts should focus on the main contributor to power saving.




STM32 On Time optimisation:


Here a quick list to optimise power consumption when the MCU in normal on-time:

- Select the right STM32 family depending on the needed MIPS (computational power).

- Use as much as possible the HW peripheral functionality to reduce the required core frequency

- It is sometime more energy efficient to generate core frequency (SYSCLK) from lower clock with a PLL

- Use the right bus interfaces: I2C consumes power when sending data bit '0' due to the pull-up on the SDA/SCL lines

- Some STM32 can to adjust their core frequency independently of its peripherals, enabling core frequency modulation (eg main loop at half frequency, while interrupts are nominal frequency)

- Some STM32 have more advanced specific low power features, voltage scaling, etc...

- And remember that any additional SW Stack will consume power (RTOS, OS, abstraction layers, etc...)


STM32 Standby optimisation:


- Running the core at low frequency can sometime be good enough in power budget (it's easier to debug too)

- Typically the lower power is done by stopping the internal clock and an event must "wake it up":

==> Wakeup pins can be used to wake up the core from external edge detection

==> Some low power specific peripherals can self-wakeup, low power timer, low power uart, low power I2C, etc...

==> RTC is one low power peripheral which can regularly wakeup the core

- If stopping clock, make sure the GPIOs are correctly configured. An output low with pull-up is hardly nice.

- Some STM32 have a Vbat backup supply which will preserve only few registers/RAM while the core will be shutdown


Tip: Sometime a GPIO can be used as switchable power supply to low power devices such as sensors


To be continued.


This document is a general introduction to low power schemes on microcontroller.