Physics & Astronomy
 
 
Tech Talk
 
     
 
Digital Signal Processors
 

 

What is a Digital Signal Processor or DSP? A DSP is a computer specially designed to speed up numeric computation . Today's processors in general increase throughput by (1) increasing the clock speed and (2) performing operations in parallel using a technique called pipe-lining. In addition, a DSP increases throughput by using the following techniques:

1. Program code and data are stored in two separate memories having separate address and data buses. This is called the Harvard architecture.
2. Special hardware is included to perform a multiply and accumulate (MAC) operation.
3. The set of instructions includes additional instructions to optimize numeric calculations, in particular using the MAC.

Why, when and where would you want to use a DSP? A DSP is used when speed is of the essence. We use the term "real-time processing" freely but this is like an oxymoron since a digital processor cannot acquire and process data with zero time delay. Real-time in reality means obtaining results within a tolerable time frame. Any time delay is therefore relative. In one application a one-second delay might be tolerable. In another application anything longer that one microsecond may be too long. Hence a real-time processor must be able to acquire data continuously, process the data and provide continuous output within a timescale that would be considered acceptable. Obviously the reproduction of CD audio or DVD video and sound would fall into this category. We resort to a DSP when the computer (PC) or microcontroller unit (MCU) is not fast enough to process the data. As one might suspect, mobile phones, DVD, CD, MP3 players etc, all rely on the DSP to be able to handle the high level of data processing required.

Digital Signal Processing also refers to a class of mathematical methods that may have originated with dealing with problems in the analog world. Standard techniques such as filtering have been used to extract signals from noise or to enhance the signal-to-noise ratio (SNR). DSPs are now used to implement such filter techniques in the digital realm, along with many other digital techniques such as correlation, convolution, deconvolution and Fourier transformation. A characteristic feature of all of these methods is the need to calculate the sum of a product repeatedly. Hence the need for fast multiply and accumulate hardware (MAC) is evident.

DSPs are readily available in two flavours, integer and floating-point. With integer DSP, or what is rightly called fixed point arithmetic, all data is scaled to integers and the highest throughput is achieved. While floating-point arithmetic may appear to be desirable, there is a severe penalty to pay in loss of speed. Moreover, there are many pitfalls in floating-point calculations that one should be aware of and these are well documented. A good place to learn about floating-point inaccuracies can be found at:

http://en.wikipedia.org/wiki/Floating_point


Homebrew DSP System

 

 

 

Getting started with DSPs

The simplest and quickest way to get started on learning how to use a DSP is to buy a developmental kit. These are moderately priced from $400 and can go up to $5000 or more. Packages come with a developmental board and software to program the DSP in assembler and C. Most boards today are programmed via a host PC using a special programming/debugging standard, IEEE 1149.1, which is more commonly called JTAG (Joint Test Action Group). The connection to the PC can be implemented via the parallel, serial or USB port. Check that your computer is capable of connecting with whichever one the kit is supplied with.

The JTAG connection allows you to download object code to your DSP, control program execution, set breakpoints and examine registers, memory and variables.

 

Here are two examples of DSPs and developmental kits with typical prices at time of writing (Aug 2006)

Freescale DSP56F807EVM Evaluation Kit CAN$410 for Freescale DSP56F807 CAN$20.

Analog Devices ADDS-21992-EZLITE CAN$570 for ADSP-21992 CAN$56.

All kits and devices are available online from Digi-Key.

 

 

2006.09.09