Low barrier to entry DSP - Page 1
Forum section: electronics / general

author: vvanders
author_rank: Regular Contributor
timestamp: January 06, 2013, 08:53:04 pm
content: I'm currently working on a headphone amp project and want to add some DSP to correct for freq response and some other things(plus is always fun to make projects more complex!). I've been looking into DSP platforms and was wondering if anyone had a good list of low barrier to entry DSP platforms(no BGA/QFN, < 50Mhz).So far I've found Analog Device'sADAU1702which looks awesome, their signal designer is well put together and if I was doing a commercial product I'd be sold for sure.However I'd like to get something a little closer to the metal where I can implement algorithms myself rather than GUI based. What I've looked at so far:dsPIC - Seems neat, although only 16bit resolution and all fixed point from what I could tell.FPGA - I've got an Altera programmer, however it seems like a *lot* of work to go from VHDL -> DSP and I'm not 100% sure how well the Cyclone III stuff handles floating point. There's a FFT core but from what I can tell it's a $500 license cost.Are there any others out there I've missed? Most of the other DSP platforms seem to use BGA packages and are > 100Mhz which is way more than I need for 16 bit 44kHz/2ch.

author: Kremmen
author_rank: Super Contributor
timestamp: January 06, 2013, 08:58:43 pm
content: While they seem to be seldom mentioned anywhere, one possibility you could maybe look into are the Atmel UC3 series processors. UC3C comes with HW floating point and a DSP library + free unlimited toolchain in the form of Atmel Studio 6. Of course there are various Cortex M4 variants as well, but i have found the UC3 to be an easy one to get up to speed. Clocks go up to 66MHz and they come with many QFP package options.

author: jahonen
author_rank: Super Contributor
timestamp: January 06, 2013, 09:09:54 pm
content: I once made a 3-way active FIR crossover using Cyclone II (a small chip, EP2C8) just for fun using VHDL, I was pretty surprised that was actually much easier than I initially thought. Perhaps the most difficult part was to create a serial audio receiver/transmitter, the filter calculation itself was pretty simple.A FPGA is nice in sense that all happens in parallel and structures in HDL support data flow processing nicely so unless you run out of LEs or multipliers, one can always add more functions without speed penalty.Regards,Janne

author: nctnico
author_rank: Super Contributor
timestamp: January 06, 2013, 09:52:35 pm
content: I'd go for an ARM based microcontroller. Most have interfaces which connect directly to a codec. Maybe even an ARM Cortex M4 based device which has an FPU.There is not much use for DSPs nowadays unless you need something really high end and don't have the space for a PC.

author: vvanders
author_rank: Regular Contributor
timestamp: January 07, 2013, 02:34:50 am
content: I'm not really keen on the ARM or a uC with a FPU. I work with them plenty professionally and I'm more interested in learning a dedicated DSP pipeline with the standard restrictions and advantages that come with it.I know it's not the ideal solution but I'm getting into this more to learn low-ish power embedded DSP than just DSP on a uC.

author: rsjsouza
author_rank: Super Contributor
timestamp: January 07, 2013, 05:09:28 am
content: Have you considered TI's fixed-pointC55x familyor the floating pointC6713?

author: NiHaoMike
author_rank: Super Contributor
timestamp: January 08, 2013, 03:51:42 pm
content: Take a look at the C2000 Launchpad.

author: ptricks
author_rank: Frequent Contributor
timestamp: January 14, 2013, 01:32:49 pm
content: The dsPic is fixed or floating point math, your choice. The dsPIC line of chips are very powerful for the price and can do more than most realize. You can use them to do audio processing, there are mp3 decoders, equalizers, microphone processing app notes as well as things like video decoding. Make sure to read the programmers reference :http://ww1.microchip.com/downloads/en/DeviceDoc/70157F.pdf