Requirements for increasing computing power and more integrated
functions are driving a growing number of applications from 16-bit to
32-bit microcontrollers.
This is equally true for battery powered applications, which benefit
from the lower voltage supply, as well as the high performance and
small die size achieved by 32-bit devices that are based on advanced
CMOS process.
However, deep submicron technologies also have a very important
drawback: their much higher leakage is a major issue, especially for
the limited power resources of a battery powered application.
To enable migration, new 32-bit microcontrollers, including general
purpose devices, must provide very efficient ultra low power modes for
long term standby.
In this article I will describe how STMicroelectronics engineers
enhanced its Cortex-M3 core-based STM32 microcontrollers with low power
modes and features that mitigate the impacts of leakage on battery
powered applications where static current may be a major contributor to
consumption.
Specifically I will address innovations in "ultra low power
standby" and Real Time Clock implementation in our STM32 ARM Cortex-M3
core-based microcontrollers.
Leakage current
The leakage can be defined as the remaining continuous current in a
CMOS gate in static state (no switching activity). It has several root
causes, and increases with each new technology shrink. Its three main
contributors are sub-threshold, gate, and junction tunneling leakage.
 |
| Figure
1: Leakage currents in a CMOS transistor |
Sub-threshold leakage is linked to the threshold voltage diminution
that is required with the decreasing voltages used in each new
technology. Gate leakage is induced by the scaling of the gate oxide
thickness that is needed to reduce the "short channel" effect. Junction
tunneling leakage is induced by the electric field across a reverse
biased p-n junction (tunneling of electrons).
Leakage increases as temperature rises mainly due to the exponential
increase of the sub-threshold leakage over temperature. Without any
switching activity, the quiescent current of a 32-bit microcontroller
using advanced process can still be limited to a few microAmperes at
ambient temperature.
However this leakage will rise with temperature and can even exceed
one milliampere at 125°C. For this reason, it is very important to
take into account the leakage at the maximum application temperature.
 |
| Figure
2: Leakage increase with temperature |
Even though several techniques exist to limit the leakage of a
digital library (increase poly length above minimum allowed by the
technology, increase gate oxide thickness on transistors), such
modifications impact the propagation time in the digital cells. Using
such a library in the entire core logic would prevent the device from
achieving high performance in run mode.
The added dilemma for today's 32-bit devices is that, from a
structural point of view, the main contributors to leakage current in a
microcontroller are digital logic and memories.
In addition to the increasing leakage due to technology shrink, both
the digital gate count and average memory size have increased
dramatically in subsequent generations of 8-bit, 16-bit, and new 32-bit
microcontrollers.
As a result, leakage is a major problem for all general purpose
microcontrollers using the latest semiconductor technology and is a
particular consideration for battery powered applications with their
limited power resources.
Impact of leakage on battery
lifetime
Static current consumption becomes the main contributor to average
current as soon as the average run time becomes very low compared to
the standby time. Given the energy level provided by a battery, a quick
estimation of the application lifetime (not including non-linearity of
the battery capacitance described by the Peukert law) is:
For example, if the specific ultra low power standby mode was not
available on the STM32 128K flash microcontroller the average current
could be significantly impacted: typical run current at 72MHz with all
peripherals enabled is only 36mA (0.5mA/MHz) thanks to the ARM
Cortex-M3 architecture and low power design techniques.
However, due to the use of advanced process, the leakage current
starts to be significant at 55°C. Thanks to a very low power
voltage supervisor and regulator, static current is still limited to 50
microAmperes at 55°C.
This is negligible compared to the run consumption. However if the
application runs only one minute a day, the static current becomes the
main contributor to consumption (64%).
To address this problem, the designers of the STM32 went to great
lengths to enable a true low power standby by implementing an embedded
regulator, independent voltage domains, and integrated power switches
at the architecture level. This implementation enables low power modes
that can optimize battery life depending on the application.