Choice of DSP

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hello everybody,

I am an audiophile with experience building amps and programming PIC MCU's in C. I have been researching Signal Processing, specifically for audio and from what I have concluded, ADI's Blackfin and SHARC DSP's would have a lesser learning curve and are powerful enough to meet my project demands while developing employment skills.

I understand that it's DSP theory in general that gets people more than anything else. I can program in ANSI C no worries.


Some questions I have are

1) Are ADI's DSP's a good platform to learn on, and then continue with for making mature projects? What development kit would be reccommended? Nothing for cream puffs, I intend on hitting this pretty hard.

2) ADI's EZ-Board kits look good for project development/learning, is it worth paying extra for a board that will accomodate my needs as my skills advance?

3) Would it be possible, eventually with ADI DSP's to develop complex effects for audio such as reverbs, delays, chorus, etc and also use the DSP for peripheral devices such as writing to SD media in WAV format, LCD use, etc, much like a regular AVR/PIC?

I figure if they can boot a linux kernel and access external SDRAM then they are pretty much a computer in themselves and thus would be more than accomodating for my needs.


Cheers!
 
Hi Severance,

the question of DSP type is a bit like a philosophy.
I startet 1999 with a ADSP-21061 EZ-Kit and was pleased by the features that ADI offered. That time the C/C++ compilers were quite bad so the programming had to be done in assembler to work with the limited resources of memory and processing speed.
It had a poor audio codec (16bit ~ 75 SNR) but you can try all algorithms you have in mind (FIR, IIR, FFT, IFFT, Delay, reverb, chorus, ...).
Manufactures like TI are also producing great devices. When starting with one family you will not switch so easily to a completely different concept.

Today the compilers (from ADI) are really great, when tuning the code a bit the C/C++ compiler produces excellent code. In assembler it is hard to compete it, especially if it comes to flexibility when changing the algorithm even a bit - assembler is crap :) .

In Blackfin and Sharc family you will find devices equipped with interfaces for digital audio (even SRC). Only the number of I/O Port pins is poor on both devices, where blackfin offers I2C, Ethernet MAC and so on the Sharc is more puristic.

In case you want Linux on the system the only choice is Blackfin as there are already ports for that core. I am not sure if the MMU (memory management unit) is fully supported and you have the complete security like on a PC. But be careful, the internal memory space is strongly limitet on the BF series. Especially if you decide to use internal memory as program code cache you will loose a portion. If you want to implement longer filters or FFT then it is neccessary to place the audio data in internal memory, much of the program code must be moved in an external Flash/PROM/SDRAM. Then the external data interface will be the bottleneck - although yor DSP runs at 500MHz the throughput to SDRAM is maybe limited to 100MByte/s.

The Sharc series is well suited for number crunching and pure audio processing. It's a full 40bit floating-point machine with SIMD (single-instruction-multiple-data) and is capable of multiplying 2x2 floats, adding 2x2 floats, loading and storing 8 floats in one single cycle. The Data and Code RAM can be accessed in 64bit with in the same instant - thats why it is so powerful.
(The Blackfin is only a 16bit machine with 32/64bit registers for fixed point multiplication. )
But the Sharc has only little peripherals and so it can be quite a challange to interface it to the outside world. We were using a FPGA on the external address/data bus to implement all our signals, thus we were manly using the processing power of the sharc.


So Severance, it depends on what you want to do.

1) Take a look at ADZS-BF537-EZLITE or ADZS-21369-EZLITE (i don't know that exact processor, was working on ADSP-21061N)

2) Yes, take a board as they offer USB - debugging. When programming you will be thankful to understand why your signal processing is not working. I was developing on 21065 completely without JTAG (programming EPROM, changing socket, starting, erasing, ...)

3) Depends on the device. On BF you can put your display on PPI - universal parallel fast interface / Sharc put it into address/ data space.

Can you describe what you are planning - as this sounds a bit what I want to go into?

Hope this helps you.

Aoxomox
 
Hi jcx,

had a look at the OMAP board - quite a nice OMAP with a lot peripherals. Where can you hook up audio signals (i2s)? Is this the dedicated McBSP1 through 3 for? Unfortunately the board does not offer a lot I/O Port signals for Display and so on - you need a DVI compatible monitor and on-chip debugging (maybe there are other cheap tools) requeires a proprietary debugging hardware.

In principle audio algorithms can be tested and developed on any PC base systems, that's today nothing what you need a special DSP for. Even continuos processing with huge filters can be done completely uninterupted. You may need special I/O equipment with a constant latency but just for evaluation purposes it is fine.

So it depends a bit what Severance wants.
 
Hello,

Thanks for the feedback, I was after ADI because of the level of industry acceptance and use, especially here in Australia. The level of support seems to be pretty good for the Blackfin especially.

I've been using mikroElektronika's PIC boards, however they're very limited for use in intensive information crunching.

I'm basically looking at general hobbywork, and possibly integrating some audio electronics with some amps and other electronic instruments I'm building (SD memory functionality is to record samples on the fly, perhaps when that spur of inspiration hits and you're not connected to a pc, it would be much easier to hit a button and work it into multitracking later)

I really like the idea of using DSP's for speech processing too. There just seems like so many applications.

I'm also a bit of a radio freak in general, so signal processing seems like a natural path to go down for me.

Thanks to the economy crash in both America and Australia, I'm going to have to wait until it recovers to buy :(

Cheers!

Severance
 
I can see that if you're paying mikroElektronika's prices

another fast general purpose option:

the new Atom based Intel D945GCLF ITX board

can be had for US$70

with VGA free monitors are easy to find (have to buy hazardous waste disposal permit to throw out leaded glass CRT monitors in my town)

but no need for dedicated hardware,

DSP programming skills can be developed on PC, many open source projects for DAW/media players/music servers/room correction/Loudspeaker testing... in linux or windows

MatLab is the idustry standard for signal processing algorithm developement - a very good free work-alke is SciLab - many signal processing toolbox components like MatLab's

http://www.scilab.org/
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.