ST Microelectronics recently announced a new library of digital signal processing software components for its low-cost microcontroller family, the STM32. STM32 chips are based on ARM’s Cortex-M3 core, and they target low-cost embedded applications, particularly motor control. The software component library includes a speech codec and variety of DSP and control-oriented functions, such as FIR and IIR filters, a PID controller, and an FFT. The PID controller is available in both C and assembly, and one of the two IIRs is also written in C; other functions are implemented in assembly only. The speech codec (there is currently only one codec in the library) is based on the Speex open-source format. Library functions can be used with the IAR, Keil and Raisonance tool chains for the STM32.
Both libraries are available now (at http://www.st.com/mcu/inchtml-pages-stm32_dsp.html) and they’re free (no up-front costs and no royalties). Though there’s no license fee there is a license agreement, and it stipulates that the software components can only be used with STM32 chips.
It may seem surprising that ST is offering DSP software components for a relatively low-performance general-purpose processor core; the Cortex-M3 does not have significant DSP-oriented features, and the STM32 chips only run at 36 or 72 MHz (depending on the family member). But engineers have a long history of cramming DSP functionality into low-performance cores. Take the ARM7—it wasn’t designed to handle DSP, but today plenty of products use an ARM7 to run things like MP3 decoding and even image and video processing. Running real-time DSP on a low-cost CPU like the ARM7 or Cortex-M3 typically requires carefully optimized software, which means that the availability of optimized DSP libraries is perhaps just as important for low-cost MCUs as it is for high-performance DSPs. Assuming the ST software components are indeed well optimized, they should help save application development time and effort.
The new library is also a good way for ST to differentiate itself from the growing field of vendors selling ARM-based chips—such as NXP and Luminary Micro, which also sell Cortex-M3-based microcontrollers. When multiple vendors are selling chips based on the same core, customers often choose their vendor based on ease-of-use factors such as tools or software libraries. In fact, Luminary has taken a similar tack, and offers a reference design kit that includes boards and application source code for its Cortex-M3-based Stellaris family.
As digital signal processing has become ubiquitous in embedded applications, the ability to easily integrate functions like speech compression or signal conditioning into low-cost MCUs has become increasingly important. ST’s new software components will certainly be welcomed by many embedded system designers and software engineers.