article

The AVRs are a family of RISC microcontrollers from Atmel. Their internal architecture was conceived by two students: Alf-Egil Bogen and Vegard Wollan, at the Norwegian Institute of Technology (NTH)Since 1996, NTH is a part of the Norwegian University of Science and Technology (NTNU) and further developed at Atmel Norway, a subsidiary founded by the two architects.

The AVR is a Harvard architecture machine with programs and data stored separately. Program instructions are stored in semi-permanent Flash memory which loads and manipulates data in the volatile SRAM. The AVRs have thirty-two single-byte registers.

The registers input/output ports and static RAM make up the data address space. The working registers are mapped in as the first thirty-two memory spaces followed by the I/O ports. The actual usable RAM starts at memory location 100(hex). Atmel's AVRs have a two-stage pipeline design. The next machine instruction is fetched as the current one is executing. Most instructions take just one or two clock cycles, making AVRs relatively fast among the eight-bit microcontrollers. The AVRs were designed for the efficient execution of compiled C code.

The AVR instruction set is more orthogonal than most eight-bit microcontrollers, however, it is not completely regular:

  • Pointer registers X, Y, and Z have addressing capabilities that are different from each other.
  • Register locations R0 to R15 have different addressing capabilities than register locations R16 to R31.
  • I/O ports 0 to 31 have different addressing capabilities than I/O ports 32 to 63.
  • CLR affects flags, while SER does not, even though they are complementary intructions. CLR set all bits to zero and SER sets them to one. (Note though, that neither CLR nor SER are native instructions. Instead CLR is syntactic sugar for the same machine code as EOR R,R while SER is syntactic sugar for LDI R,$FF. Math operations such as EOR modify flags while moves/loads/stores/branches such as LDI do not.)

AVRs have a large following due to the free and inexpensive development tools available, including reasonably priced development boards and free development software. They are marketed under various names that share the same basic core but with different peripheral and memory combinations. Compatibility amongst chips is fairly good.

The acronym AVR has been reported to stand for Advanced Virtual RISC. It's also rumoured to stand for the company's founders: Alf and Vegard, who are evasive when questioned about it.

Features


Current AVRs offer a wide range of features:
  • RISC Core Running Many Single-Cycle Instructions
  • Multifunction, Bi-directional I/O Ports with Internal, Configurable Pull-up Resistors
  • Internal Oscillators
  • Internal Instruction Flash Memory up to 256K
  • Internal Data EEPROM up to 4KB
  • Internal SRAM up to 8K
  • 8-Bit and 16-Bit Timers
  • PWM Channels & dead time generator
  • Lighting (PWM Specific) Controller models
  • Dedicated I²C Compatible Two-Wire Interface (TWI)
  • Synchronous/Asynchronous Serial Peripherals (UART/USART) (RS-232,RS-485, and more)
  • Serial Peripheral Interface (SPI)
  • CAN Controller Support
  • USB Controller Support
    • Proper High-speed hardware & Hub controller with embedded AVR.
    • Also freely available low-speed (HID) software emulation. Cheaper than a real USB interface chip.
  • Ethernet Controller Support
  • Universial Serial Interface for Two-Wire, Three-Wire Synchronous Data Transfer (?)
  • Analog Comparators
  • 10-Bit A/D Converters, usually with 8-way multiplex
  • Brownout Detection
  • Watchdog Timer (WDT)
  • Low-voltage Devices Operating Down to 1.8v
  • picoPower Devices
  • Multiple Power-Saving Sleep Modes
  • LCD Controller Support

Footnotes


See also


Atmel Official Links


AVR Forums & Discussion Groups


Machine Language Development


C Language Development


BASIC & Other AVR Languages


AVR Butterfly Specific


Hardware implementations


Other AVR Links


Microcontrollers | Electronics companies | Electronics companies of Norway | Computer companies of Norway | Companies of Norway

Atmel AVR | Atmel AVR | AVR | Atmel AVR | Atmel AVR | AVR | Atmel AVR | AVR | AVR | AVR

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Atmel AVR".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld