Last month at the ARM Techcon 3 conference, I watched as the CEO of a Norwegian fabless semiconductor company named Energy Micro leapt on stage, imitated Tom Cruse in his Mission Impossible role, opened his black-and-silver attache case, and announced the company’s EFM32 low-power microcontroller based on an ARM Cortex-M3 processor core. What really impressed me was not the over-amped Mission Impossible intro video or the bright green neckties that served as the company uniform at the conference. No, I was impressed by the strikingly graphical way the Energy Micro marketing crew came up with to demonstrate why their microcontroller has the lowest power. I was impressed enough to go through those slides here with you. See if you don’t agree with me about the effectiveness of this graphical presentation.
This first slide shows a power consumption profile curve for a microcontroller as it wakes up, does its thing, and then goes back to sleep. The area shown under the curve is the total expended energy for this profile. Reduce the area under the curve and you’ve cut energy consumption. Are you with me so far?
The first and most obvious thing to do to cut energy consumption is reduce the amount of power drawn by the microcontroller while it’s running in active mode. At 3V and with a 25 to 35 MHz clock, Energy Micro’s EFM32 consumes 180 microamps/MHz when executing code from internal Flash memory. At 3V and 1 MHz, the current consumption is 220 microamps/MHz. (In other words, at 1 MHz the current consumption is 220 microamps.)
The next step towards reducing the microcontroller’s energy consumption is to use a processor core that executes code efficiently so that the microcontroller spends less time in active mode. The EFM32 employs a 32-bit ARM core, which is way more efficient than older 8- and 16-bit microcontroller processor architectures at performing today’s more advanced tasks, so tasks can be executed more quickly—in fewer clock cycles.
Next, you need to deal with the energy consumed between the time the processor starts to wake up from sleep mode and the time it starts executing code. This is dead time when the processor isn’t doing anything useful (just like in sleep mode). However, during this time the microcontroller draws way more current than it does in sleep mode and that power is essentially wasted with respect to “getting the work done.” Some processors don’t wake up very fast, so they waste a non-negligible amount of power between the time they exit sleep mode and the time they start to execute code. The EFM32 wakes up its deep-sleep and stop modes in 2 microseconds, which appears to be relatively fast for this sort of thing compared to the numbers for competing processors in Energy Micro’s ARM Techcon 3 presentation.
In both of these modes, the EFM32 draws less than one microamp of current. The difference between the modes is that in deep-sleep mode, various low-frequency (32-KHz) peripherals continue to operate and can wake the processor. In stop mode, only interrupts, the I2C interface, and the on-chip analog comparators can wake the processor.
Because many embedded applications that have extremely low power and energy consumption requirements tend to put processors to sleep most of the time, it’s critical that the microcontroller have extremely low current consumption during its deepest sleep mode. The EFM32’s shutoff-mode current rating is a mere 20 nanoamps but it takes the processor 160 microseconds to come out of this mode, versus 2 microseconds for the lesser sleep modes. However, with 20 nanoamps of current consumption, the dirt on the board could consume more current than the processor through surface leakage if you’re not careful in cleaning the circuit board.
You need to assert the reset pin to bring the EFM32 out of shutoff mode so there are four other operating modes (stop, deep sleep, sleep, and run) with increasing levels of on-chip activity and increasing amounts of current consumption (from 0.6 microamps/MHz to 180 microamps/MHz).
What do you get by nibbling away various rectangles from the area under the original power-profile curve? You get a processor that might be able to run for more than 4 years from a CR2032 coin cell, which is longer than competing microcontrollers according to Energy Micro.
But wait, there’s more! The EFM32 sports “smart” autonomous peripherals, so the internal ARM Cortex-M3 processor core can spend even more time sleeping and less time working. The EFM32’s intelligent peripherals, which can be time- or data-triggered, include a 6-to-12-bit A/D converter with 8 analog input channels that draws 500 nanoamps running at 1K 6-bit samples/sec to 200 microamps running at 1M 12-bit samples/sec, a 4×40-segment LCD driver with built-in voltage booster that draws 900 nanoamps, a low-energy UART (a “LUART”) that draws 100 nanoamps running at 9600 bps, and a 32-KHz clock/counter that draws 50 nanoamps.
Energy Micro claims that the autonomous peripherals in the EFM32 microcontroller can chop a few more rectangles out of the energy-consumption curve, keeping the processor dormant longer, so that it can get 10 years out of that CR2032 coin-cell battery. That’s four times longer than the next competitive microcontroller, according to Energy Micro.
In addition to these autonomous peripherals there’s a DAC, a power-on reset circuit, real-time clock/counter, watchdog timer, power-monitor, etc. Oh yes, there’s 16 to 128Kbytes of Flash and 8 to 16 Kbytes of RAM on the chip along with the ARM Cortex-M3 processor core and the assorted peripherals. A large number of family members (22) with the usual mix-and-match combinations of peripherals and memory found in most microcontroller families are planned.
What might you do with such low-power devices? Energy Micro’s Web site lists a lot of interesting applications including energy and utility metering (electricity meters, water meters, gas meters, and heat cost allocators), home and building control (HVAC systems, lighting control, smart home systems), alarm and security systems (burglar alarms, fire and safety alarms, smoke detectors, surveillance systems), industrial automation (temperature sensors, pressure sensors, vibration sensors, motion sensors), medical devices (pacemakers and defibrillators, glucose meters, blood-pressure monitors), remote controls (IR and RF remote controls, keyless entry), identification systems (RFID, tracking systems, access control), sporting goods and equipment (GPS, sport watches, MP3 players, pulse and pace monitors), and climate monitoring (humidity sensors, CO2 and gas sensors, temperature sensors, and corrosion detectors). That list is hardly exhaustive, but it’s a darn good start.
The first EFM32 microcontroller chips are packaged in QFN64 and BGA112 packages, which are currently sampling with lead customers. Pricing starts at $1.55 in 100k quantities for 32-pin packages. Interested? Development kits are supposed to be available this month. Samples will be available next month in December. Volume deliveries are scheduled for February, 2010. www.energymicro.com.