'PIC vs AVR ? some more subtle differences'
On Thu, 15 Jun 2000 14:27:16 +1000, you wrote:
>I know, this sort of questions sometime creates religious-war like endless
>But I would like to learn from your experience on PIC and AVR micros.
>Why/when/where PIC and Why/when/where AVR?
>Their pluses and minuses?
Here's my UKP 0.02, based on decisions made in recent actual projects
Ignoring the obvious differences (flash vs. OTP, eeprom etc.)....-
many of these are the more subtle ones....
* The AVR's interrupt system is much better - seperate vectors for
each source and less context-save overhead. On the flip-side,
interrupt latency, although effectively lower, is less consistent due
to the different times to respond depending on how long the
interrupted instruction was. This is rarely an issue for most apps
* The AVR gives more processing per clock cycle, but this is quite
often not a major issue, as ceramic resonators/xtals below 2MHz can be
tricky to find & get working. I've found that raw speed is not often
that important in the majority of embedded apps (your milage may
* The AVR UART is more flexible - you can enable the TX and RX parts
seperately (e.g. multiple transmitters can tri-state onto a bus), and
you can get high baudrates from low crystal values (115Kbaud at
* At 5V the AVR takes significantly more power than the corresponding
PIC at the same xtal frequency - not quite sure how they compare at
corresponding instruction clocks.
* You can turn the AVR watchdog on & off in software (this can be and
advantage or a disadvantage, depending on the situation!)
* For lowest-end application price you can't beat the PIC12C508 or
16C505 - Atmel's ATTiny devices look promising but the ones with
calibrated RC oscillators aren't available yet.
* You just can't get AVRs in any quantity at the moment. Atmel sell a
lot of devices into the mobile phone market, and this is severely
straining their capacity. Expect this to last at least 6 months.
* Atmel do a very cheap 'proper' in-circuit emulator (about $200),
* If you need a hardware UART or capture/compare peripheral, AVR's
with them start lower down the range than PICs.
* Atmel currently don't have any options in-between 20 and 40 pins.
* Only the PIC can do two hardware sync. serial ports.
* The AVR has much better handling of indirect addressing - multiple
pointers which are invaluable for any application buffering data.
* The larger AVRs can have external RAM
* Bit-toggling is nicer with AVRs, especially for pseudo-open-drain
* The AVR has no XOR immediate instruction - inverting bits can be a
* You can't wake an AVR from sleep with a pulse that's shorter than
the oscillator startup timer (approx. 18mS).
* The AVR has poorer high-level output drive.
Basically both families have their advantages - On of my current
projects uses 2 PICs and 3 AVR's! One of the PICs iss a 16C505 which
allowed the AVR flash to be programmed from an RS232 port!
I can hardly believe this thread. So far all the responses have been
good, reasoned comparisons. If only Tjaart was here to see it.
> >Why/when/where PIC and Why/when/where AVR?
> >Their pluses and minuses?
If you are doing Master/Slave (RS485) comms, the AVR has a very
useful interrupt that tells you when a character (and stop bit) has
finished being sent.
Steve Baldwin Electronic Product Design
TLA Microsystems Ltd Microcontroller Specialists
PO Box 15-680, New Lynn http://www.tla.co.nz
Auckland, New Zealand ph +64 9 820-2221
email: tla.co.nz fax +64 9 820-1929 steveb
More... (looser matching)
- Last day of these posts
- In 2000
, 2001 only
- New search...