Low-power microcontrollers are an in-demand item, driven by the dual design need to: (1) save energy to reduce a device’s operating cost; and (2) meet stringent energy budgets for handheld, battery-operated equipment. Most MCU silicon vendors have low-power offerings and these manufacturers are always boasting about how their MCUs have the lowest power. While these claims may have merit, when designing with embedded processors you have to be sure to look into what one of my engineering friends calls the “oh, by-the-ways.”
This article is designed to help you check out the details, going beyond simply comparing bullet points on the first page of the datasheets. It will help you familiarize yourself with the architectures of MCU choices and examine specs gathered for typical low-power MCUs available from Microchip Technology
, Texas Instruments
, and Freescale
, all with an eye toward helping you choose the right embedded MCU for your application.
Along the way we will point out such factors as:
Lots of power management options
- Power-down modes
- Clocking systems
- Event-driven capability
- On-chip peripherals
- Leakage current
First let’s consider the Microchip PIC24FJ128GA310
(Figure 1). This 16-bit processor is a favorite for engineers as it features Microchip’s nanoWatt XLP Technology, has a 60 x 8 LCD controller, and comes in 64/80/100-pin packages. This device also features five external interrupts, a six channel DMA, a programmable 32-bit CRC generator, and seven compare/PWM modules.
Figure 1: Block diagram of Microchip’s PIC24FJ128GA310 family of MCUs.
The chip’s datasheet touts multiple power management options for “extreme” power reduction (hence the XLP tag), provisions for transition to a backup battery, and low power consumption with its RT calendar/clock (RTCC) running. It has a deep-sleep mode that allows near total power-down, with the ability to wake-up on external triggers and a sleep and idle mode that can selectively shut down peripherals and/or the core.
In deep sleep, the main regulator is off, the low-power regulator is on, and all power is removed from the core of the chip. The core and peripherals are non-functional. Only the RTCC and two registers are available. In this mode, the chip takes only 10 nA from a 2.0 V supply or 40 nA from a 3.3 V supply — plus 400 nA for the RTCC if you turn it on. You could also leave on the WDT, which typically takes 270 nA.
Now, looking a bit deeper, at 85°C the deep sleep numbers go up considerably to 1.1 µA at 2.0 V and 1.4 µA at 3.3 V, and again the RTCC adds 400 nA — which is constant over temperature. Wake-up time is only 200 µs.
The PIC24 also has LV sleep mode where the main regulator is turned off and a special low-power regulator is turned on. The entire chip is powered, but peripherals such as LCD, RTCC and timers are off and will add to the power if enabled. At 2 V, 330 nA is specified, but be careful because at 85°C this goes up to 7.7 µA. It should also be noted that these are all typical values, not maximums. Wake-up takes only 90 µs from this mode.
Running at 32 MHz, yielding up to 16 MIPS, the chip typically takes 4.8 mA at 2 V. There is very little current change with VDD or temperature because the IC has a regulator powering the core. The setup for this measurement is code executing from flash with no peripherals enabled and no I/O driven, and the clock is from an external source. Running the A/D adds 750 µA at 25°C and the RT clock adds 400 nA at all temperatures.
Many safety features
The 16-bit Renesas RL78/G14 (R5F1006EASP
) MCU (Figure 2) offers up to 44 DMIPS performance at 32 MHz, with 85 percent of its instructions executed in one clock cycle. The controller has 64 Kbytes of flash (up to 500 K available) and features precision 16-bit motor timers with up to 64 MHz operation and five-operating modes including a six-channel complementary PWM. It has many safety features including CRC, illegal memory access detection, and IEC/UL 60730 support. It operates from 1.6 to 5 V and has 10 channel 10-bit A/D.
Figure 2: The 16-bit Renesas RL78/G14.
In halt mode, the RL78/G13 takes 0.54 mA at 32 MHz up to 5.5 V. This goes down to 0.46 µA for RTC only. In stop mode, this number goes down to a mere 0.23 µA (all stopped, RAM retained) and with just under-voltage detection only 0.08 µA.
The stop mode current is just leakage (no clocks on) and does go up significantly at higher temperatures. The leakage of everything in the MCU (gates, register, RAM) is typically 0.9 µA but is specified as 3.3 µA max at 85°C.
Active current is given as 66 µA/MHz at 32 MHz, and is said to be the lowest in the market today. This is for running NOPs only, however, so it takes 2.1 mA at 32 MHz. But, depending on the instruction mix, the current can go as high as 144 µA/MHz, again for the 64 Kbyte flash version of the device. The MCU operating current is rated for -40° to 85°C, with the same typical and maximum active currents over the whole temperature range. The transition time from stop to active is 32 µs max when a high-speed external or on-chip oscillator clock is used.
version of TI’s MSP430 (Figure 3) has 32 Kbytes of flash and 6 Kbytes of RAM along with a 10- or 12-bit A/D converter. This MCU includes Full-Speed USB, a real-time clock, DMA, multipliers and comparators, and an embedded emulation module.
Figure 3: Block diagram of the Texas Instruments MSP430F5xx family.
For this device, in active mode running from flash memory from a 3 V supply, current draw is just 250 µA at 1 MHz and 1.55 mA at 8 MHz (193.75 µA/MHz).
In standby, with self-wake-up and brown-out reset enabled, full RAM retention, watchdog timer and supply supervisor operational, and USB disabled, it needs 1.1 µA at –40°C, 1.3 µA at 25°C, and 2.7 µA at 85°C. Not a big change there, but still significant. If you turn on the RT clock, the current goes to 2.1 µA at 25°C and 3.6 µA at 85°C. Running the A/D adds 75 µA with a 3-V supply. Fast wakeup is less than 5 µs from standby to active.
You can find a TI product training module
discussing the MSP430 family’s power consumption on the Digi-key website.
Ten power modes
Next let’s look at a Freescale device in its 32-bit Kinetis K20 family (Figure 4). The MK20DX256ZV
has a 10- MHz Cortex M4 core, 256 Kbytes of flash, and a 25 channel 16 bit A/D. The device also has a CRC, a memory protection unit, a capacitive-touch unit, WM, and 64 Kbytes of SRAM. Supply voltage range is 1.71 to 3.6 V and it manages 1.25 Dhrystone MIPS/MHz.
Figure 4: Features of the Freescale MK20DX256ZV MCU.
Running at 12.5 MHz with peripherals off supply current is about 5.5 mA, and at 85°C the current is about the same. The chip has 10 power modes. In stop mode where the CPU is static, all registers are maintained and the A/D is active, current from a 2.0 v supply is about 310 µA. At 85°C, in the same mode, the current 380 µA. Wakeup time from stop mode is 4.5 µs. In the K20’s lowest power mode, with 32-byte register retention only, current is only 220 nA (supply = 3.0 V), but this rises to 5.50 µA at 85°C. It takes 130 µs to get to full operation from this mode.
For all MCUs, it’s important to check power for the exact version you are using. If you decide to get a chip with more flash, your leakage current will rise proportionally and this is especially important at high temperatures. For some of the data included here, typical specifications were readily available, but it should be noted that maximum specifications are really the only ones that count, so you may have to dig a bit deeper. Overall, choosing a low-power MCU can be a time-consuming, difficult task, but the reward for those who take the time to learn the architectural features and the broader operating parameters of possible choices will be designs that better meet demanding power budgets.