Cortex-M processors in DSP applications. Why not?

Have you ever been in a situation where you successfully validated your algorithm and asked yourself: is there a hardware platform with DSP capabilities so I can get my embedded project to market quickly? Guess what: other people have dealt with the same situation as well!

Quvium, a UK-based startup, worked with DSP Concepts to develop an algorithm for a wearable device that is able to indicate an asthma attack hours before it actually happens. This allows people to take their medicine or use inhalers early on to prevent the attack from happening. Quvium’s solution consists of several sound-processing and Machine Learning algorithms running on the ARM Cortex-M7 based Digital Signal Controller.

This is a great example of how an embedded platform capable of generic code and digital signal processing is able to foster innovation.

Digital signal processing addresses a wide range of use cases

Efficient signal processing of sensor data becomes an important use case. Especially in the Internet of Things (IoT), data generation and analytics will form the backbone of multiple applications. As a result, more and more sensors are being connected in various combinations to measure temperature, pressure, altitude, location, motion and sound, among others. Such systems operate in constrained power budgets, sometimes with limited resources, due to small batteries.

Other use cases, focusing on health and fitness applications, include blood pressure monitoring and pulse measurement while exercising. As an example, TomTom’s Spark GPS fitness watch is able to provide step counting, heart rate monitoring, sleep tracking, GPS tracking and music playback using Atmel’s SAM MCU , powered by Cortex-M7. Another example is Bragi’s headset application using Cortex-M4, which I addressed in my previous blog ‘What’s next for headsets?’.

From the use cases highlighted above, it is evident that the amount of data being processed will vary depending on the application. Hence, future systems and algorithms need to be scalable to cover that wide range of use cases in an energy-efficient way.

ARM’s Digital Signal Controller form scalable solutions

In applications that previously used a Microcontroller (MCU), together with a separate proprietary, dedicated Digital Signal Processor (DSP), a vast amount of OEMs are switching to a single, high performance Digital Signal Controller. ARM’s Digital Signal Controllers Cortex-M4 , Cortex-M7 and the recently announced Cortex-M33 address the need for high performance generic code processing, as well as digital signal processing. This enables systems to efficiently process algorithms and leverage the advantages of the Cortex-M processor family.

Cortex-M portfolio overview

The ARM Cortex-M portfolio

The best of both: CPU and DSP in one processor

Digital Signal Controllers from ARM allow the use of one processor for both general purpose and DSP processing, while offering various performance points. Cortex-M7 achieves twice the DSP performance of Cortex-M4, which allows developers to address specific needs and efficiently run DSP algorithms. For example, STMicroelectronics’ new STM32H7 series, running at 400MHz, achieves an impressive 2010 CoreMark and, at the same time, is able to process a complex FFT (Q15) in just 26 m s!

Choosing a Digital Signal Controller has a number of advantages, for example:

  • Significant savings on the BOM costs of products, by replacing two processors with one, and a reduction in system-level complexity by removing the need for shared memory, complex multiprocessor bus architectures and other custom “glue” logic between the MCU and DSP
  • Reduced software development costs, as the entire project can be supported using a single compiler/debugger/IDE, and it benefits from being programmable in a high-level programming language, such as C or C++, rather than the handcrafted assembler often used for a proprietary DSP
  • Develop scalable and future-proof systems, such as ARM’s Digital Signal Controller, which are addressing various performance points, are binary compatible and offer fixed and floating-point support for digital signal processing applications
  • Access to a wide range of tools, libraries and algorithms, as part of the ecosystem for ARM Cortex-M processors, to foster innovation, collaboration and faster time-to-market

The co-processor interface of Cortex-M33, which Diya Soubra described in his latest blog, allows an additional boost of DSP performance in embedded applications.

The key benefits of the ARM Cortex-M33

The key benefits of the ARM Cortex-M33

Summary

The DSP extensions of the binary compatible Cortex-M4, Cortex-M7 and Cortex-M33, combined with the freely available CMSIS DSP library, make them a great scalable platform for signal processing applications.When starting your next DSP project, check out this white paper, which gives more insights on how to use ARM’s Digital Signal Controllers and provides some performance data for relevant kernels, such as FFT.

For further information, view this training video on ‘Hands-On DSP Teaching Using Inexpensive ARM Cortex-M4 Microcontrollers’, which covers some basics of DSP processing, to help get first projects started. In the next blog of the ARMv8-M series, Tim Menasveta will discuss the memory protection unit in detail.

Anonymous