Farba Research strongly recommends the AVR family of 8-bit microcontrollers from Atmel Corporation for all 8-bit applications. We have been using the AVR series for quite a while now, in a wide range of embedded applications, and the experience has been so positive that we intend to use only Atmel AVRs for all in-house microcontroller projects. Note that the original (late 1990's) Atmel AVR family has been expanded and embellished into multiple sub-families, to include the TinyAVR series, the MegaAVR series, and the XmegaAVR series. The general term AVR as used herein is meant to apply to all of them.Here are some reasons why the AVR is a superior microcontroller:
- The AVR line is full featured. All members of the AVR family have flash memory for program storage and EEPROM memory for non-volatile parameter storage, and all but the smallest (least expensive) have static memory for runtime data storage and a hardware stack-pointer. All AVRs have device pins that provide TTL-level digital I/O with software selection of direction and -- in the case of input -- software selection of internal pullup resistors. Depending on which particular AVR chip you select, you can also have A/D inputs (10-bit), analog comparators, UARTs, SPI ports, PWM outputs, externally-triggered interrupts, brown-out detection, watchdog timers, and timer/counters with various operating modes that greatly relieve the load on the realtime software. With few exceptions, all of these special functions use device pins that can be alternately assigned as plain digital I/O pins if the special function is not required.
- AVRs are very fast. Unlike most other microcontrollers, the AVR executes most instructions in just one CPU cycle. Thus, a typical AVR running with a 20MHz crystal can approach 20 million instructions per second. The newer XmegaAVRs can run at 32Mhz, and, again, can execute most instructions in just one CPU cycle.
- AVRs are low power devices. (The AVR is a CMOS device capable of fully static operation.)
- The AVR has a wonderful instruction-set. (You 8051 programmers may want to grab a handkerchief before reading this part.) All members of the AVR family have 32 general registers! Sure, there are a few restrictions on which registers can be used for what, but nowhere near the amount of restrictions you'll find for other microcomputer architectures. The typical AVR has three 16-bit pointer registers, and -- even better -- the pointer registers can be used in auto-post-increment or auto-pre-decrement modes. This is a very modern well-crafted architecture indeed.
- The AVR is extraordinarily easy to load. The AVR family was designed from the beginning to allow convenient in-circuit programming. With just a little care in your initial design concerning which device pins are used for which I/O, you can easily create a circuit that allows reprogramming (and initial programming) of the AVR a minimum of 1000 times without removing it from the circuit and without setting or changing any jumpers or switches or providing any other voltage than the normal operating voltage of the circuit. You can, literally, just walk up to the device, plug in the cord from your device programmer and reload the AVR -- without needing to do anything else. (The device programmer takes care of stopping and Resetting the AVR prior to reprogramming.) No more digging around inside your embedded system to pull out the microcontroller, no more programming dipswitches and jumpers, no more special programming voltages, and no more ultraviolet lights. This is downright addictive!
If you are contemplating a new 8-bit microcontroller project, we invite you to contact us for some free advice on using an AVR for the job, and for a free estimate of what we would charge to handle some or all of the job for you.
Farba Research is Atmel Consultant #10846, and is listed in the Consultants section of the Business Partners/Third Party Vendors page on the Atmel Corporation website.
AVR is a registered trademark of Atmel Corporation. (Atmel says that the name AVR is not an acronym and does not stand for anything in particular.)
Farba Products WORK