Forums

Choosing a DSP for audio processing

Started by Jackson4 June 1, 2008
Hello all,

My group is designing a small, inexpensive audio device (basically a PWM
amp with variable/custom EQ processing), and we're looking to select a DSP.
 I've perused datasheets from the majors, and could use some general
advice.

Our requirements -

Inexpensive ($5-10 ballpark in quantity)
40 MIPS or so should be plenty if there are single-cycle MACs
On-board program flash with code security 
The usual interfaces/interrupts/basic ADC, nothing special needed
Reasonable technical documents, and hopefully example code, available.

It seems like a 16-bit device should be sufficient, though it will of
course be a fair bit more difficult to code clean filters, especially when
good audio fidelity is desired.  32 bit will probably save us a lot of
work.

Some candidates I've carefully considered:

dsPIC30/33 series
PIC32 series
TMS320lF2401
TMS320F28015 (32 bit is convenient! only ~$5 too.)

So far, though, it doesn't seem like people doing simple audio/effects
boxes are using this type of chip, and instead are using much more
expensive floating point hardware.  Is there a good reason for this that
I'm missing?

Thanks for any advice!



On Jun 1, 5:06 pm, "Jackson4" <p...@media.mit.edu> wrote:
> Hello all, > > My group is designing a small, inexpensive audio device (basically a PWM > amp with variable/custom EQ processing), and we're looking to select a DSP. > I've perused datasheets from the majors, and could use some general > advice. > > Our requirements - > > Inexpensive ($5-10 ballpark in quantity) > 40 MIPS or so should be plenty if there are single-cycle MACs > On-board program flash with code security > The usual interfaces/interrupts/basic ADC, nothing special needed > Reasonable technical documents, and hopefully example code, available. > > It seems like a 16-bit device should be sufficient, though it will of > course be a fair bit more difficult to code clean filters, especially when > good audio fidelity is desired. 32 bit will probably save us a lot of > work. > > Some candidates I've carefully considered: > > dsPIC30/33 series > PIC32 series > TMS320lF2401 > TMS320F28015 (32 bit is convenient! only ~$5 too.) > > So far, though, it doesn't seem like people doing simple audio/effects > boxes are using this type of chip, and instead are using much more > expensive floating point hardware. Is there a good reason for this that > I'm missing? > > Thanks for any advice!
dsPIC33 would probably be a good match for what you're doing. I've used it for simple audio applications, but beware that the 16-bit wordsize really limits the ultimate audio quality of what you can do with it these processors. You might check out some of the low-end Freescale 56k processors - there are some very economical parts in that family these days. They're 24-bit fixed point and have sufficient dynamic range for good audio, but may not have enough general purpose peripherals & features for all the other things you want to do. Eric
>dsPIC33 would probably be a good match for what you're doing. I've >used it for simple audio applications, but beware that the 16-bit >wordsize really limits the ultimate audio quality of what you can do >with it these processors.
Yes, I wrote some simple routines (filters) using an eval board, and this remains a concern. 24 or 32 bit might be a better way.
>You might check out some of the low-end Freescale 56k processors - >there are some very economical parts in that family these days. >They're 24-bit fixed point and have sufficient dynamic range for good >audio, but may not have enough general purpose peripherals & features >for all the other things you want to do.
Ah, I have looked into the DSP56F8xx . They do look interesting, but unless someone talks me out of it, I might go straight into 32-bit and make my life easier, since the PIC32 and TMS320 seems to be priced similarly. What I'd really love is a floating point processor with onboard flash, for $5-$10. :) Thanks much.
Jackson4 wrote:
>> dsPIC33 would probably be a good match for what you're doing. I've >> used it for simple audio applications, but beware that the 16-bit >> wordsize really limits the ultimate audio quality of what you can do >> with it these processors. > > Yes, I wrote some simple routines (filters) using an eval board, and this > remains a concern. 24 or 32 bit might be a better way. > >> You might check out some of the low-end Freescale 56k processors - >> there are some very economical parts in that family these days. >> They're 24-bit fixed point and have sufficient dynamic range for good >> audio, but may not have enough general purpose peripherals & features >> for all the other things you want to do. > > Ah, I have looked into the DSP56F8xx . They do look interesting, but > unless someone talks me out of it, I might go straight into 32-bit and make > my life easier, since the PIC32 and TMS320 seems to be priced similarly. > > What I'd really love is a floating point processor with onboard flash, for > $5-$10. :)
Be careful "TMS320" is the prefix for many very different TI processors. Jerry -- Engineering is the art of making what you want from things you can get. &#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;
>Be careful "TMS320" is the prefix for many very different TI processors.
Right. I guess the family is better classified as the C2000.
On Jun 1, 6:39 pm, "Jackson4" <p...@media.mit.edu> wrote:
> >You might check out some of the low-end Freescale 56k processors - > >there are some very economical parts in that family these days. > >They're 24-bit fixed point and have sufficient dynamic range for good > >audio, but may not have enough general purpose peripherals & features > >for all the other things you want to do. > > Ah, I have looked into the DSP56F8xx . They do look interesting, but > unless someone talks me out of it, I might go straight into 32-bit and make > my life easier, since the PIC32 and TMS320 seems to be priced similarly.
PIC32 is basically a MIPS4 architecture which is targeted at general- purpose MCU applications built with high-level language and possibly relying on an OS (RTOS or Linux-like). I don't believe it has any specific hardware support for DSP (MAC instructions, dual operand prefetches, etc). You may find that despite the ~120MIPS max they quote that this lack will reduce its performance for basic DSP algorithms over processors that do include these features but which have lower max instruction rates. Whether or not this is an issue depends on your application of course.
> What I'd really love is a floating point processor with onboard flash, for > $5-$10. :)
Wouldn't we all? Eric
 I don't believe it has any
>specific hardware support for DSP (MAC instructions, dual operand >prefetches, etc). You may find that despite the ~120MIPS max they >quote that this lack will reduce its performance for basic DSP >algorithms over processors that do include these features but which >have lower max instruction rates. Whether or not this is an issue >depends on your application of course.
The PIC32 does have single-cycle MACs, which makes it a possible candidate. Not sure if it's just 16x16 or 32x32, but it brings it close to the TI C2000 series, which is what I'm now leaning toward.

Jackson4 wrote:
> Hello all, > > My group is designing a small, inexpensive audio device (basically a PWM > amp with variable/custom EQ processing), and we're looking to select a DSP.
STA333 from STMicro. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
> >STA333 from STMicro.
Thank you Vlad, this looks like a good chip, but we need something more versatile, as some of the algorithms we're using are nonstandard. If it were only that easy...

Jackson4 wrote:

>>STA333 from STMicro. > > > Thank you Vlad, this looks like a good chip, but we need something more > versatile, as some of the algorithms we're using are nonstandard. If it > were only that easy...
Could you explain what is special and what exactly are you planning to accomplish? Besides, there is a lot of specialized programmable or semi-programmable solutions for the DSP PWM amplifiers from TI, NXP, FreeScale. Using a general purpose DSP for that is an overkill; it is very cost inefficient. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com