RoweBots

People delivering
embedded software
excellence

DSP RTOS

What makes a DSP Operating System different? Its a question that many signal processing engineers ask. The following summary will clarify what exactly makes a DSP RTOS unique.

Fundamentally, a DSP RTOS is an operating system that is geared to the processing of data on a continuous basis in real-time as it flows to and from external devices. This means that there is typically a stream of data which is sampled periodically and information is extracted from this stream.

First, a DSP RTOS is in fact a real-time operating system. It will handle interrupts at high rates and schedule the appropriate work so that data is not lost. Typical loop update times for PID controllers based on DSP processors are 50 microseconds, so DSP operating systems need to be extremely fast.

Second, a DSP RTOS processes streams of data and must be optimized for streams of data to pass through the system with the data rates highest at the input and lowest as it is passed on to other systems. Often, the significant processing demands create the need for data to be streamed through several processors with significant data rate reductions at each stage.

The need for streaming data and distributed operation make support for fast serial SPI links essential and often requires the need for multicore support using shared memory or fast serial links. In order to process the data link requests, multithreaded operation is required. Along with the multithreaded capability comes fast context switching and very fast fixed size buffer management in order to pass blocks of data through the system at high rates.

This entire approach of blocks of signal processing functionality contained in threads with buffers managed on the input and output gives the user optimum flexibility to move signal processing blocks around the system from software to FPGAs or another DSP.

Third, the information that is extracted from the data uses special DSP algorithms and it is seldom simple to understand and implement these algorithms. As a result, off the shelf algorithms are very important as are additional tools and reference designs to save users time. Furthermore, these libraries must be very fast as well to minimize the overhead of these functions.

For specific implementations see the DSPnano RTOS and Unison DSP RTOS.