IoT-ready microcontrollers pack low-power innovations

Market predictions suggest that 18-50 billion “things” could be connected to the Internet by 2020. Many Internet of Things (IoT) devices are autonomous, independently powered, and must operate maintenance-free for long periods. Since other constraints can dictate the use of tiny coin-cell batteries, or energy harvesting systems that supply limited quantities of electricity, energy-conscious design using ultra low-power components such as microcontrollers is vital.

Historically, power-constrained applications have tended to target the simplest entry-level microcontrollers. However, a 16-bit or 32-bit core can effectively save energy by minimising execution times. Important 16-bit devices available today include Microchip’s eXtreme Low Power PIC® microcontrollers such as the PIC24F family, which combine low run/sleep power and high feature integration.

Several 32-bit microcontroller families offer suitable ultra low-power performance. These include the Freescale Kinetis L and Silicon Labs EFM32™ based on the ARM® Cortex®-M0+ core, NXP Semiconductors LPC1100 featuring the Cortex-M0 core, and the STMicroelectronics STM32 L1 series featuring the Cortex-M3 core. Alternatives such as the Atmel® AVR® UC3 L and TI C2000 are based on proprietary 32-bit cores.

In conjunction with short execution times, typical energy-saving features include very low active and standby power consumption, and energy-saving peripherals that can operate without waking the core, as illustrated in figure 1.

Figure 1. Energy savings achieved by ultra low-power microcontroller core and peripherals (source: Freescale Energy-Efficient Solutions white paper ENEFFSOLKINLSWP).

 

Multiple operating modes maximise flexibility to turn off or slow down unused parts of the device. Kinetis L devices such as the MKL02Z32 have 10 modes, including two RUN modes with various clocking options to save core power, two SLEEP modes where the core is turned off, and six DEEP-SLEEP modes that progressively shut down internal logic and support various wake-up options. In the lowest-power mode, VLL Stop 0, RAM content is not maintained and even the 1kHz low-power oscillator is turned off. Other families have similar features: the STM32 L1 series has five low-power modes. In addition, rapid wake-up time (down to 2µs in Silicon Labs’ EFM32 devices) minimises energy consumed while the core resumes operation.

Some aspects of the Cortex-M0+ core can be optimised to boost power savings. The Kinetis L series uses the Bit Manipulation Engine to minimise the instructions needed for read-modify-write tasks, and a low-power boot option minimises power spikes when booting up or waking from deep sleep.

Core power consumption can be optimised using dynamic voltage scaling. The STM32L151 allows adjustment of the core voltage, from 1.8V at maximum CPU frequency down to 1.2V at lower frequencies such as when acquiring data from analogue front-end circuitry. This can reduce consumption by 25% or more. NXP’s LPC1100 devices such as the LPC1114 allow adjustment of the CPU and peripheral clock frequencies.

Typical of Intelligent peripherals that operate independently of the core are the SleepWalking™ peripherals of Atmel® AVR® UC3 L microcontrollers such as the AT32UC3L0128. These can check for valid data input to prevent false CPU wakeup, send signals directly to other peripherals, and can operate even when the rest of the system is in deep sleep or be revived individually from an un-clocked state. The Silicon Labs EFM32 Peripheral Reflex System provides similar capabilities.

Generally, peripheral integration provides good support for IoT applications. Most devices feature essential peripherals such as USARTs, I2C, USB, touch-sense controllers, ADC, DAC, comparators and timers, and TI’s C2000 microcontrollers like the TMS320F28062PZPS also feature enhanced control peripherals such as PWM, high-resolution capture and quadrature encoder modules.