How to get more processing without sacrificing power consumption

Every day more electronic devices are being connected to centralized networks for the purpose of data collection and analysis.  These products range from industrial sensors used to monitor a factory process, an intelligent fire detection system or a home Wi-Fi®-connected thermostat or video doorbell, even my BBQ thermometer connects to the internet.

In many cases, the desire to add connectivity has been around for some time. However, the complexity and often the cost of hardware made this a significant challenge. Today, it is now becoming a viable option due to the availability of easier to use and cost-effective wireless connectivity modules and IC’s.  An important trend that is developing with these connected nodes is the need for higher performance and localized data processing. Let’s consider a wireless glass breakage detector.  Here we would capture an audio signature with a microphone or vibration sensor, the signal then passes through an analog chain typically ending with an analog-to-digital converter (ADC). We then have a couple of options: We can either transmit the entire captured data set to a central hub for signal processing or we can carry out the data processing locally.  This signal processing would typically include digital filtering and frequency-based signal analysis to determine whether the input signal is a valid trigger or not.

While technology exists today to process this audio data locally, the current solutions tend towards high-performance multi-chip implementations that increase system complexity, cost and more importantly energy consumption.  Such a detector would typically be expected to have a multi-year battery life, which would need either a very-low-power system, or a very large battery.  Rechargeable batteries are of course an option, but this leads to the challenge of ensuring there is sufficient access to allow intermittent recharging or that there is a permanent power supply available to recharge the batteries.

 

Figure 1 Simplified LEA block diagram

 These types of applications are one of the key reasons that we developed the MSP430™ microcontroller’s (MCU) - low energy accelerator or LEA for short.  The LEA module is a fixed function vector math engine that is hosted within various MSP430 devices.  The LEA module performs signal processing, matrix multiplications and other operations that normally take large amounts of time and energy to calculate during application runtime. 

Operating without any central processing unit (CPU) interventions, the LEA module is essentially a low-power co-processor that performs operations and triggers an interrupt when the requested function has been completed. It can operate either concurrently to the main CPU, allowing multiple tasks to be completed in parallel, or it can operate while the CPU is in a low-power sleep mode, triggering an interrupt once the specified task has been completed.

The LEA module operates with a pre-defined set of commands, each of which is highly optimized for maximum performance with minimum energy usage. These commands are made easy to use through the use of the MSP DSP Library, a library of over 50 dedicated functions that are built and specifically optimized for MSP430 MCUs to enable signal processing functions of the programmers choosing.  When the LEA module is available on a device, the compiler will automatically use it to optimize performance beyond the MSP430 MCU C-code optimization techniques that have already been implemented.  We have created a new Filtering and Signal Processing TI Design reference design that enables the user to see just how significant the improvement in processing speed is over non-LEA module-enabled MCU’s.  This TI Design reference design is based on the new MSP-EXP430FR5994 MCU LaunchPad™ development kit.  This kit includes a built-in programming and debugging interface, EnergyTrace++ technology to help developers optimize their code for the greatest energy efficiency, user LED’s & push buttons and 40 pin headers to allow the LaunchPad kit to be used with a wide variety of compatible BoosterPack™ plug-in modules.  You can find out more about the LaunchPad kit and BoosterPack ecosystem here.

Figure 2 Comparison of MSP430 MCU with and without LEA

To further help developers to understand the added performance that the LEA module can bring, we have released a new Benchmarking the Signal Processing Capabilities of the Low-Energy Accelerator application note.  This application note covers the performance of the advanced signal processing while maintaining the ultra-low-power consumption on a 16-bit MSP430™ FRAM MCU in comparison to an ARM® Cortex®-M0+ based MCU.

The first devices to include the new LEA module are the MSP430FR5994 MCUs.  This is the latest in a long line of 16-bit ultra-low-power microcontrollers, featuring 256 KB of ferroelectric random access memory (FRAM), 8-KB of shared SRAM, a breadth of analog peripherals, and the LEA vector math accelerator module.  Offering very-low active power consumption of around 120uA / MHz and RTC modes below 500nA’s, the LEA module is a great peripheral for bringing an increase in processing performance, without the usual corresponding increase in energy consumption.

Figure 3 MSP430FR5994 Block Diagram

The MSP430FR5994 device also includes a 12-bit 200K sample ADC, a 16-channel analog comparator, AES256 hardware accelerator, up to eight serial ports in a combination of UART, SPI and I2C, a real-time clock with alarms and calendar.