News:

SMF for DIYStompboxes.com!

Main Menu

Cheap PIC that can do DSP

Started by anyuser00, April 20, 2004, 04:03:40 PM

Previous topic - Next topic

anyuser00

Any suggestions for one of these?  Would this be a bad idea, I've done microcontroller and DSP processor programming but the microcontroller is a bit much for a single algorithm and the DSP chips I've seen are way too exspensive.

Are PICs too slow?

Peter Snowberg

I've done plenty of DSP on PICs but it was all digital filtering at speeds well below audio.

I think until the PIC picks up a MAC instruction, there are better chips. The PIC18xxx series comes close with an 8x8 single cycle hardware multiplier.

Analog Devices has a bunch of small DSPs that are real-deal DSPs. Those might be better. What task do you have in mind?

I became biased against PICs a few years ago when Atmel pushed ahead at a much faster speed with the AVR series and then the ATMega series. It looks like Microchip caught up, but I don't have recent experience. I used PICs a lot about 10 years ago when they has NMOS parts. Those things were darn near indestructible. They worked GREAT in motor controllers but the CMOS versions lost that edge.

Take care,
-Peter
Eschew paradigm obfuscation

anyuser00

Quote from: Peter SnowbergWhat task do you have in mind?
Well I wanted to do something that wouldn't be feesible using discrete analog components.  Don't know if you do any computer recording but if you use VST plugins you can see the crazy amount of interesting effects done by independent developers.  See here for an example: http://destroyfx.smartelectronix.com/

Besides working in the Fourier Domain I don't exactly have something particular in mind right now, just feeling this out to see whats possible without too much exspense.  Do you think a PIC could handle this or should I move on up to DSP?

Thanks Peter :)

The Tone God

There are the right tools for certain jobs. PICs are not the right tool for DSP. To make it work is such a pain and the quality is just not there for effects. I like PICs for alot of things but this is just not one of them.

I remember awhile back some people playing with a mfg. DSP ICs that come with alot of audio features and code. Do a search for the Alexis (sp?) DSP. That would be a better way to go then trying to make other things do what they are not really intended for.

Andrew

puretube


Peter Snowberg

That's some wild stuff. :D

To do those kinds of effects, a PIC will not be able to keep up. I'm sure it could in some limited cases, but overall you need something that has MAC capability as well as a good address range for buffer memory.

You mentioned you've had DSP experience. What chip was that on? If it wasn't a general purpose CPU, I think there is benefit to staying with an environment you know so long as it does what you need without excess baggage.

I was going to suggest looking at the two DSPs from Alesis-Semiconductor, but they don't have the kind of buffer capability that it looks like you might be needing. They're not DSPs in the classic sense (they don’t have any kind of branching or control of the program counter), they're more like an instruction sequencer connected to a MAC core and as a result they’re cheap and VERY easy to program SOME types of effects into. I've thought about using them along with an Atmel ATmega but it's not an ideal solution. All the new Alesis cheap gear is based on these two DSPs so they are powerful without question. I have one design that uses seven of these DSPs in series/parallel but at some point it's cheaper to just get a full featured DSP and do all the processing on a single chip with a little external memory.

If you want to jump to a new platform that can do it all.... I can't think of a better one than the Motorola DSK563xx devices. You can get lots of I/O and great buffer memory capability all in one low power package (it is a BGA package though  :shock:). They also have 56 bit accumulators which will give you professional quality results even when you're running 40 IIR filters in parallel. If you need more buffer, no problem as they have a SDRAM controller built in.
Motrola DSP563xx series

Take care,
-Peter
Eschew paradigm obfuscation

Paul Perry (Frostwave)

Look what I got when I typed PIC DSP into google :wink:
www.elecdesign.com/Articles/Index.cfm?ArticleID=3919

toneman

#7
and the Microchip link is-----

http://asp.microchip.com/1010/pline/dspic/index.htm
EDIT: this link is dead....

Try this one:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=75

manufacturing started in 2002!
thanx 4 the links Paul!
tone
  • SUPPORTER
TONE to the BONE says:  If youTHINK you got a GOOD deal:  you DID!

anyuser00

Wow, that's very helpful thanks everyone :D .  I will research out the information here.  I can't really remember the  DSP I used before (it was more than 5 years ago) I just remember the evalution kit was way too much for me to purchase for personal use.  And I'll for sure do something way simpler than those effects from the link I provided.

I was just looking into PICs because of cost mostly, since this is hobby only.  I'll have a look around again thanks.

anyuser00

Oh yeah, kind of off topic but I did make an entire synth(except for external filters) that ran off a motorola 68hc11 :shock: .  That one is definately not designed for DSP.  Used purely for budgetary reasons of a poor working student.

Peter Snowberg

Thanks Paul and Tone! 8)

That looks like just the chip the DIY doctor ordered!

Amazing! I2S and AC97 interfaces along with 12 bit A/D for control pots! I LOVE IT! :D :D :D

The dsPIC30F6012, dsPIC30F6014, dsPIC30F5011, dsPIC30F5013, and especially the dsPIC30F4013 look like awesome chips for DIY DSP.

I wonder if licensing is required for use of the CAN interface??? I can just see it now.... pedalboards with remote switching via CAN interfaces over RS-485! 8)

Take care,
-Peter
Eschew paradigm obfuscation

bioroids

Hi!

I just found out the Development kit for dsPICs costs about 534U$S here in Argentina (plus taxes). Should I stop eating for 5 months to buy it? Also they only carry dsPIC30F301320IS wich I don't know how good it is for audio effects. The chip costs 12U$S.

I'd really like to get into this stuff, but I don't know if I could ever afford it.

Luck

Miguel
Eramos tan pobres!

Peter Snowberg

There will be cheaper solutions available as time moves on. These are fairly new chips and developemnt systems are seldom cheap. I would not suggest you quit eating for 5 months. :)

Digital can do all kinds of control too. DSP is a big step but getting easier all the time.


Eschew paradigm obfuscation

Celadine

#13
Those dspic3014/4013 are nice, but might be too complex for a beginner.  (the sloppy, poorly written documentation brings to mind this phrase: "debugging nightmare")

Also, to program it one would need an ICD2 -
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010046

or equivalent -
http://www.sparkfun.com/commerce/product_info.php?products_id=5

DIY ICD2 -
http://stolz.de.be/   <click on 'In-Circuit Debugger'>


Peace

R.G.

I'm not the world's authority on DSP at all, but I've spent some time trying to get PICs to do trivial stuff, like delays. My conclusion is twofold - first, the PIC architecture, and for that matter, other uC's, is not suited to DSP. DSP engines, heavily optimized for many concurrent Multiply and Add instructions (MADs in the vernacular) are not that good for general stuff.

I think the winner at the state of technology now is the combination of a uC chip to read pots and switches, then to tell the DSP engine what to do based on those inputs. I believe that there are several examples of this in the DSP effects world now.

So think of it as a general controller that translates what you, the human, wants done into the instructions "Run delay program 17 with delay time 200mS" for the DSP, which then digs out program 17, plugs in 200mS and runs it.
R.G.

In response to the questions in the forum - PCB Layout for Musical Effects is available from The Book Patch. Search "PCB Layout" and it ought to appear.

SeanCostello

Quote from: R.G. on February 26, 2006, 08:23:00 PM
I think the winner at the state of technology now is the combination of a uC chip to read pots and switches, then to tell the DSP engine what to do based on those inputs. I believe that there are several examples of this in the DSP effects world now.

The Blackfin DSP from Analog Devices was designed to act as a combo microcontroller/DSP, with 32 bit GPU instructions, and parallel 16-bit MACs. I am not sure how it stacks up against an ARM in real-world situations, but it was intended to be able to replace an ARM in many applications (it would be overkill in replacing PICs or 8051-level uCs). It is pretty blazing fast as a DSP.

I have mentioned before that the ADI development tools can be pretty pricey, but I forgot about this:

http://blackfin.uclinux.org

FREE compiler for Blackfin, board layouts for development boards, boards will be available soon for purchase at fairly low price ($200.00). I will find out at work if the assembly code for the VisualAudio audio modules for Blackfin can be used with this product, or if there are competing license terms (GNU can be fairly restrictive). My guess is that the GCC compiler for Blackfin is not the most efficient in translating C code into efficient assembler, but the price is certainly right, and I will give pointers for anyone who wants to work on implementing double precision operations in Blackfin assembly language.

Sean Costello

The Tone God

I've been keeping an eye on the Blackfin DSP for sometime now including the GCC compiler being a OSS user already. Please let us know anymore information if can. It would be greatly appreciated.

Thanks.

Andrew

moosapotamus

Quote from: SeanCostello on February 27, 2006, 02:28:18 AMFREE compiler for Blackfin, board layouts for development boards, boards will be available soon for purchase at fairly low price ($200.00). I will find out at work if the assembly code for the VisualAudio audio modules for Blackfin can be used with this product, or if there are competing license terms (GNU can be fairly restrictive).

Yeah Sean, please keep us in the know.

A bit more pricy than the AVR stuff. But, is that a valid comparison? If so, would you expect to get what you pay for?

It sounds like Blackfin may not be as well suited to entry-level DSP'ers as AVR's, yes/no?

Thanks
~ Charlie
moosapotamus.net
"I tend to like anything that I think sounds good."

SeanCostello

Quote from: moosapotamus on February 28, 2006, 10:47:27 AM
A bit more pricy than the AVR stuff. But, is that a valid comparison? If so, would you expect to get what you pay for?

Well, with the standard 600 MHz Blackfins that I work with, you can:

- run several hundred 2nd order filter sections in series or parallel
- process several hundred delay taps
- perform extensive frequency domain processing

Quote from: moosapotamus on February 28, 2006, 10:47:27 AM
It sounds like Blackfin may not be as well suited to entry-level DSP'ers as AVR's, yes/no?

Well, if you look at the cost difference between chips, the Blackfin is totally worth it. The more important difference to me will be the ease of use, the ability to create DIY boards with the DSP (or use pre-existing boards that are suitable for onstage use), the development tools, the cost of the entire toolset, and so on. Honestly, I don't have a clear answer on what will be best for DIY.

Sean Costello




moosapotamus

Wow! :o
... things that make you say, "Hmmmmmmmmmmm."

Thanks, Sean!
~ Charlie
moosapotamus.net
"I tend to like anything that I think sounds good."