AW: PIC power?

Mikko Helin helin at
Fri Nov 19 12:17:33 CET 1999

On Fri, 19 Nov 1999, Dr. Jörg Schmitz wrote:

> > > Are any PIC's powerful enough to do DSP based stuff?
> > > 
> > No they aren't.
> I think it depends on : I plan to use PICs for control voltage generators,
> like complex envelope generators and LFOs and so on. 
> So this isn't exactly DSP (dig. sig. processing) but more DSG (dig. sig.
> generation).
> For 16 bit audio signal processing (48KHz, for example) a PIC is too slow. 

I've been also planning some kind of MIDI controllable CV generator,
and I've been comparing PIC with Atmel's AVR stuff, which is much
more suitable mc for the task. OK, there are PIC's with hardware
multiply operations, and soon there's also similar AVR (atMega161).
With PIC's you can't easily handle 16-bit words like on AVR, which
can sum to 16-bit words with just 2 instructions, like

 ADD r2, r6
 ADC r3, r7

Also 16-bit move is just one instruction in one cycle on AVR. 
You'll need a lot of that kind of handling with LFO's and EG's, as 8 bit
LFO or EG is substandard.

Anyway, even the AVR is still way behind Intel 486's, where
you can do all arithmetics in 32 bits, and easily simulate
analog VCO's, VCF's and VCA's. Obviously they are not ideal
solution (obsolete soon, need hefty and noisy PSU, keyboard,
display etc.). Best would be some 32-bit RISC mc like
Atmel's or other manufacturer's ARM core processors,
Hitachi H8/300 series, even 80C186 stuff could beat AVR's,
but none of these have the low cost developement tools
for hobby users.

However, PIC's are great for minimal tasks like reading
pot's sending MIDI out (even without ADC's), converting
between MIDI sync and say DIN sync with drum machines,
scanning keyboard etc. 8-bit delay is ok, as well as
16-bit as long as you have parallel input/output
converters available, and generally as long as you
don't need multiply instructions or arithmetic
shift operations are sufficient. Anyway, if the PIC
does the thing you need then use it, but be prepared
to use some other MC when täs not enough.


> J.S.
> > 
> > > Like say an 8-bit delay?
> > > 
> > Yes, that's possible. Use 16F877 and 64kbyte SRAM and
> > some 8 bit DAC (PIC16F877 already has 10 bit ADC).
> > At 32 kHz sample rate you should be 2 seconds delay.
> > 
> > -Mikko
> > 
> > 
> > > ~bud
> > > 
> > > 
> ________________________________________
> Dr. J. Schmitz
> ----------------------------------------

More information about the Synth-diy mailing list