The definitive guide to ARM Cortex-M0/M0+: Low-power requirements
Editor's Note: In designing deeply embedded systems, engineers face ongoing tradeoffs between power and performance. The rapid emergence of opportunities for personal electronics, wearables and Internet of Things (IoT) applications only exacerbates challenges in reducing power while enhancing performance. The ARM Cortex-M0 and Cortex-M0+ processors have emerged as a leading solution, providing the core for a broad range of microcontrollers designed to meet tough requirements for low-power, high-performance operation. In The Definitive Guide to ARM® Cortex®-M0 and Cortex-M0+ Processors, 2nd Edition, Joseph Yiu offers a comprehensive view of these processors. As Jack Gannsle wrote, these books will "...give you the insight you need to be productive on real projects."
CHAPTER 19. Ultralow-Power Designs (Cont.)
19.2 Requirements of Low-Power Designs
There are many low-power microcontrollers on the market. Traditionally,
many microcontroller vendors classify their microcontrollers as low-power or ULP based on:
Active current during program execution
Idle current during sleep
Today, when selecting microcontrollers for low-power applications, designers should also consider:
Energy efficiency - how much processing work can be done with certain amount of energy.
Code density - how much program memory is need for an application. ROM (or flash) size requirement can have a significant impact on the system level power.
Latencies - how long would it take to wake up the processor from sleep, and how long it will take for the processor to complete an interrupt processing task? This can be important for some applications with real-time requirements that the processor might have to run at higher clock frequency to response to an interrupt request quickly.
In many applications, energy efficiency is the key for better battery life. If a microcontroller has lower active current but need several times higher number clock cycles to complete a task, overall it can burn off more power. As a result, the Cortex!-M processors have been very popular in low-power design as they offer excellent energy efficiency as well as high code density.
In addition to longer battery life, there are many other benefits for having energy-efficient processor in low-power designs. For example,
Smaller battery is required - enable smaller, more portable products
Low-power requirement might simplify the design of power supply, cooling
Might enable easier PCB design (thinner power tracks) and thinner wires inside products
Reduce the electromagnetic interference the microcontroller generates. This can be important to wireless communication product as it affects the quality of the wireless communications
Enable energy harvesting
Many of these factors can also have direct impact to product cost and product development time.
19.3 Where Does the Power Go?
To create better low-power design, it would be helpful if we first understand where the power is consumed on a silicon chip. We start by first looking into a photo of a microcontroller die with a Cortex!-M3 processor, as shown in Figure 19.4.
Figure 19.4. Die of a STM32F100C4T6B ARM Cortex!-M3 microcontroller. Wikipedia (http://en.wikipedia.org/ wiki/ARM_Cortex-M).
Note on Figure 19.4: Integrated circuit die photo of a STM32F100C4T6B ARM! Cortex- M3 MCU (microcontroller) with 16 KB Flash, 4 KB SRAM, 24 MHz CPU, motor control, and CEC functions.
While it is not clear where the processor is in the photo (it is likely to have merged with the digital logic on the upper right-hand side of the photo, which might also contains digital peripherals, DMA controller, and bus interconnect components), it is clear that the memory blocks (left-hand side) takes a significant space. The bottom right contains some nicely structured components. Some of these blocks could be the analog components (this chip has one 12-bit ADC and two 12-bit DACs).
And next to each of the I/O pads, there are also some transistors to help boosting the drive current and also components for protection and voltage level conversions.
Somewhere in the chip, there are also other clock-related components like three internal oscillators, an external Phase Locked Loop (PLL).
In general, the power consumption of a component in the chip is closely related to its area and its signal toggling activities (Table 19.3).
Table 19.3: Common elements that consume power in a microcontroller
Today we see many low-power Cortex-M microcontrollers with very sophisticated system features which enable longer battery life. For example:
Various run modes and sleep modes available
Ultralow-power Real Time Clock (RTC), watchdog, and Brown Out Detector (BOD)
Smart peripherals that can operate while the processor remains in sleep modes
Flexible clock system control features to allow clock signals for inactive parts of the design to be turned off.
While we will not be able to cover the details of all the low-power features in individual microcontroller devices here, we can cover some of the general concepts. Since different microcontrollers have different low-power features, if you want to fully utilize the low- power capability of the microcontrollers, you need to check out the details of the low- power features from reference materials or examples available from the microcontroller vendors. In many cases, example code could be available for download from the manufacturer Web site.