# Microcontroladors AVR

AVR és una família de microcontroladors desenvolupada des de 1996 per Atmel, adquirida per Microchip Technology el 2016. Es tracta de microcontroladors d'un xip RISC de 8 bits d'arquitectura Harvard modificada. L'AVR va ser una de les primeres famílies de microcontroladors a utilitzar la memòria flash en xip per a l'emmagatzematge de programes, a diferència de la ROM, EPROM o EEPROM programables d'una vegada utilitzades per altres microcontroladors en aquell moment.
Els microcontroladors AVR troben moltes aplicacions com a sistemes integrats. Són especialment comuns en aplicacions incrustades per aficionats i educatives, popularitzades per la seva inclusió en moltes de la línia Arduino de plaques de desenvolupament de maquinari obertes.

## Història

L'arquitectura AVR va ser concebuda per dos estudiants de l'Institut Noruec de Tecnologia (NTH), Alf-Egil Bogen i Vegard Wollan.
Atmel diu que el nom AVR no és un acrònim i no significa res en concret. Els creadors de l'AVR no donen una resposta definitiva sobre què significa el terme "AVR". No obstant això, s'accepta comunament que AVR significa processador R ISC de A lf i V egard. Tingueu en compte que l'ús de "AVR" en aquest article es refereix generalment a la línia RISC de 8 bits de microcontroladors Atmel AVR.
L'AVR MCU original es va desenvolupar en una casa ASIC local a Trondheim, Noruega, anomenat Nordic VLSI en aquell moment, ara Nordic Semiconductor, on Bogen i Wollan estaven treballant com a estudiants. Es coneixia com a μRISC (Micro RISC) i estava disponible com a IP de silici/bloc de construcció de Nordic VLSI. Quan la tecnologia es va vendre a Atmel des de Nordic VLSI, l'arquitectura interna va ser desenvolupada per Bogen i Wollan a Atmel Norway, una filial d'Atmel. Els dissenyadors van treballar estretament amb els redactors del compilador d'IAR Systems per garantir que el conjunt d'instruccions AVR proporcionés una compilació eficient de llenguatges d'alt nivell.
Entre els primers de la línia AVR hi havia l'AT90S8515, que en un paquet DIP de 40 pins té el mateix pinout que un microcontrolador 8051, inclosa l'adreça multiplexada externa i el bus de dades. La polaritat de la línia RESET era oposada (el 8051 tenia un RESET actiu-alt, mentre que l'AVR té un RESET actiu-baix), però a part d'això, el pinout era idèntic.
L'arquitectura de microcontroladors AVR de 8 bits es va introduir el 1997. El 2003, Atmel havia enviat 500 milions de microcontroladors flash AVR. La plataforma Arduino, desenvolupada per a projectes d'electrònica senzilla, es va llançar el 2005 i comptava amb microcontroladors ATmega8 AVR.

## Arquitectura del dispositiu

Flash, EEPROM i SRAM estan integrats en un sol xip, eliminant la necessitat de memòria externa a la majoria d'aplicacions. Alguns dispositius tenen una opció de bus extern paral·lel per permetre afegir memòria de dades addicional o dispositius assignats a memòria. Gairebé tots els dispositius (excepte els xips TinyAVR més petits) tenen interfícies sèrie, que es poden utilitzar per connectar EEPROM sèrie més grans o xips flash.

## Visió general del dispositiu

L'AVR és una màquina d'arquitectura de Harvard modificada, on el programa i les dades s'emmagatzemen en sistemes de memòria física separats que apareixen en diferents espais d'adreces, però amb la capacitat de llegir elements de dades de la memòria del programa mitjançant instruccions especials.

### Famílies bàsiques

Els AVR es classifiquen generalment en els següents:
tinyAVR: la sèrie ATtiny
megaAVR: la sèrie ATmega
XMEGA
AVR específic de l'aplicació
FPSLIC (AVR amb FPGA)
AVR de 32 bits

## Referències

* ↑ Admin, Blog. «What is AVR microcontroller?» (en anglès americà), 20-12-2012. [Consulta: 15 setembre 2023].
* ↑ «UNSW School of Computer Science and Engineering - General AVR Info» (en anglès). Cse.unsw.edu.au. Arxivat de l'original el 2012-06-23. [Consulta: 19 setembre 2012].
* ↑ «Embedded Systems and Microcontrollers» (en anglès). Arxivat de l'original el 2004-12-24. [Consulta: 1r octubre 2018].
* ↑ Myklebust, Gaute. The AVR Microcontroller and C Compiler Co-Design (en anglès). Atmel Norway.