[sdiy] PICs vs dsPICs vs AVRs [was: Top Octave Synthesizer]

Seb Francis seb at burnit.co.uk
Tue Jul 11 21:50:27 CEST 2006


René Schmitz wrote:
> Seb Francis wrote:
>> The PIC16C54 used in this design would also work with a 32MHz crystal 
>> instead of 16MHz which would bump it up an octave.
>
> I'd port/rewrite it for the AVR. These PICs do use (mostly) 4 clock 
> cycles per instruction (they misleadingly claim "single cycle", 
> talking about machine-cycles, not clock-cycles, hello marketing...). 
> While the AVR truely uses (mostly) 1 cycle per instruction  So an AVR 
> @ 10Mhz would have the instruction rate of a PIC16XXX @ 40Mhz.... 
> (Don't get me started about the PICs instruction set...) And there are 
> AVRs that can be clocked with up to 20MHz, and maybe some more with 
> overclocking.
>

I would agree with you about 16XXX PICs, but it's not true for their 
more modern processors.  For example dsPICs can run usually up to 30MIPS 
(not MHz) and while they still use the 4 internal clock cycles per 
instruction architecture, they have a built in PLL that can 4x, 8x or 
16x the actual external clock frequency - so you can run the internal 
clock at 120MHz without a high frequency external crystal (actually with 
many of them you can run at this frequency without an external crystal 
at all).

And as for the instruction set: it's *much* different to the older 
PICs.  Single instruction 16bit multiplies & divides, DSP type 
instructions with 40bit accumulators, etc...

Having no experience with AVRs, I can't really speak for them, but I can 
say that dsPICs are really quite a joy to program and very powerful 
(okay, they're not up there with true DSP processors like SHARCs, etc. 
but they are in quite a different price bracket.  And plus, in keeping 
with other PIC, they have a wealth of useful built in peripherals).

Seb






More information about the Synth-diy mailing list