Electronic – Selecting a platform for DSP

dsp

I have experience with selecting low end PICs, but haven't had to select a controller for DSP before. Initially I thought about the dsPIC line, but the only reason for this because I am comfortable with the microchip line.

So, what options do I have to select from? How can I decide what is best for me? Are there in general differences between lines? Example, the MSP430 line is good for very low power, are there any similar type of things for the DSP lines?

For my specific project I am going to have 3 sets of SPI from ADCs that are 24bit at about 400KHz, but I am find with broad description on how to find the proper platform.

Best Answer

If I was asked to look at DSP products, I would look at the architecture. The hardware architectures for DSP processors are more varied than for general purpose processors.

  1. Word Length. As you mentioned, your source data is 24-bits. So, unless you are able to lose some fidelity, you will need a DSP that can handle 24-bits data at least.
  2. Fixed/Floating Point. You will need to look at your algorithms to see if floating-point hardware is needed or if it can be entirely implemented in fixed-point. Not all DSPs can do floating-point in hardware.
  3. Addressing Modes. You are dealing with buffers all the time. While DSPs have circular addressing modes, some have more advanced modes that are able to chain memory blocks together or flip memory blocks in hardware and more. I would say that this is the most critical architecture aspect for a DSP.
  4. Special Instructions. Every DSP has specialised instructions. At the minimum, they will have a MAC instruction. However, some have far more esoteric ones which may benefit your application.
  5. Data Paths. Some DSPs have unique data paths, or even multiple datapaths, which allow different data streams to be manipulated separately or combined together, in hardware.
  6. Execution Units. Most DSPs have many parallel execution units that can perform different things at the same time - e.g. multiply, add and shift different registers at the same time.

Then, looking at the algorithms that need to be coded, I would select a DSP architecture that is easier to use to implement the algorithms.

Related Topic