- Thu Mar 09, 2006 9:59 am
#10822
Microchip's dsPIC30F devices can run at 30MIPS (120Mhz PLL). You can run them faster but heat becomes an issue. If you can cool them properly, crank up the MIPS until you see errors and then back off a little.
The newest lines that will be commercially available shortly are the PIC24F and the dsPIC33F. Besides moving to 3.3V, these chips are now 2 clocks per instruction instead of 4. They are rated for 40MIPS which means the the PLL will be running at 80Mhz.
Don't forget that the 48Mhz AVR is only an 8-bit controller where the 3 I listed above from Microchip are 16-bit. While instruction speed might be a bit slower, you are working on twice as much data at a time. This will really become noticable if you are working with complex math equations or other large sets of data. The dsPIC controllers also have powerful (for a microcontroller anyway) DSP engines which can significantly increase the speed of mathematical calculations.
From what I understand, the DMA interface on the AVR is limited to 12Mhz where the ones in the PIC24 and dsPIC33F will run at the full instruction clock.
If memory space is a concern, even though the AVR supports 32K of external memory, the largest PIC controllers have up to 256K built in with 32K of RAM.
The higher MIPS PICs also seem to have a lot more built in functionality than the AVRs. Things like several more timers, dual SPI, dual I2C, multiple CCP modules, a/d converters, CAN controllers, CODEC interfaces, software error traps, and an alternative Interrupt Vector Table. While a lot of this could be done with clever coding, that takes up a lot of MIPS where it is directly handled by hardware in the PICs.
I just wish my dsPICs had 16 byte hardware FIFOs on the UART ports like the AVR! I also wouldn't be surprised if the AVR was a fair amount cheaper too.
-Bill