Architektura mikrokontroléru AVR byla vyvinuta společností Atmel v roce 1996. Jedná se o harvardskou architekturu s oddělenými programovou a datovou pamětí a AVR byla jednou z prvních rodin mikrokontrolérů, které používaly na čipu paměť flash pro ukládání programu místo jednorázově programovatelných pamětí ROM, EPROM nebo EEPROM, jež tehdy běžně využívaly jiné mikrokontroléry. Díky flash paměti bylo možné programy snadno mazat a přepisovat během vývoje i v cílových zařízeních. AVR často doprovází odkazy a příklady v komunitě hobby elektroniky, především díky platformě Arduino (např. ATmega328P).

Krátká historie a původ názvu

AVR byly vyvinuty inženýry Alf‑Egil Bogenem a Vegardem Wollanem v týmu Atmel Norway. Často se uvádí, že zkratka AVR vznikla z počátečních písmen jmen autorů a zkratky RISC (Alf‑Vegard RISC), i když společnost Atmel oficiálně uvádí pouze označení architektury. První komerční produkty se objevily uprostřed 90. let a rychle si získaly popularitu pro svou jednoduchost, rychlost a nízkou spotřebu.

Architektura a principy

AVR je 8bitová RISC architektura s následujícími klíčovými rysy:

  • Harvardská architektura: oddělená paměť pro instrukce a data, což umožňuje současný přístup k obojímu.
  • 32 8bitových registrů všeobecného určení (R0–R31) přímo připojených k ALU — to výrazně zrychluje operace, protože mnoho instrukcí pracuje přímo s registry bez potřeby přístupu do pomalejší SRAM.
  • Jedno‑taktní vykonávání většiny instrukcí díky dvoustupňovému pipeline (fetch + execute) — většina instrukcí je provedena během jednoho hodinového taktu, což v porovnání s klasickým 8051 (MCS‑51), kde jeden strojový cyklus zabíral 12 taktů oscilátoru, znamená výrazné zlepšení výkonu na takt.
  • Programová paměť v podobě vnitřní flash, datová paměť SRAM a malá vnitřní EEPROM pro uchování parametrů i po odpojení napájení.
  • Instrukční sada optimalizovaná pro rychlé operace nad registry a jednoduché adresování — přehledná a relativně malá sada instrukcí.

Vlastnosti a periferie

AVR mikrokontroléry obvykle nabízejí široké spektrum integrovaných periferií, které usnadňují použití v reálných aplikacích:

  • čítače/timery s PWM (pulzně šířková modulace) pro řízení motorů a výkonových prvků,
  • analogově‑digitální převodníky (ADC) pro snímání analogových signálů,
  • komunikační rozhraní UART (USART), SPI, I²C (TWI) pro připojení k dalším čipům nebo modulům,
  • watchdog timer pro zotavení z chyb,
  • více režimů nízké spotřeby (sleep modes) pro bateriově napájená zařízení,
  • programovací a ladicí rozhraní — ISP (In‑System Programming), JTAG, debugWire a další.

Některé varianty obsahují i hardware pro násobení, DMA nebo pokročilejší analogové bloky (komparátory, referenční napětí apod.).

Rodiny AVR

Hlavní rodiny AVR zahrnují:

  • tinyAVR (ATtiny) – malé a úsporné typy vhodné pro jednoduché aplikace,
  • megaAVR (ATmega) – běžně používané, vybavené více pamětí a periferiemi (např. ATmega328P v Arduino Uno),
  • XMEGA – vyšší výkon, více periferií a lepší ADC/DAC,
  • AVR32 – 32bitová rodina od Atmelu (odlišná architektura než 8bitové AVR),
  • další varianty optimalizované pro nízkou spotřebu nebo pro specifické průmyslové aplikace.

Nástroje pro vývoj a programování

Ekosystém kolem AVR je velmi rozsáhlý a dostupný:

  • Oficiální vývojové prostředí Atmel Studio (nyní Microchip Studio) pro Windows,
  • avr‑gcc toolchain (kompilátor) a avrdude pro nahrávání programu — populární v open‑source komunitě,
  • hardware: ISP programátory, USBasp, Atmel‑ICE a další debug adaptér,
  • mnoho knihoven a příkladů — velká komunita, tutoriály a platformy jako Arduino výrazně usnadňují vstup do světa mikrokontrolérů.

Použití a oblasti nasazení

AVR mikrokontroléry jsou běžně používány v hobby projektech, výuce, průmyslové automatizaci, spotřební elektronice a kdekoliv, kde je potřeba řízení periferií s nízkou až střední složitostí. Díky dostupnosti, nízké ceně a snadnému vývoji jsou jednou z nejoblíbenějších volb pro prototypování i sériovou výrobu menších zařízení.

Souhrn

AVR představuje rychlou, efektivní a dobře zdokumentovanou 8bitovou RISC architekturu s bohatou sadou periferií a širokou uživatelskou základnou. Díky flash paměti, 32 registrům přístupným přímo pro ALU a jednoduchému pipeline jsou AVR čipy vhodné tam, kde je potřeba dobrý výkon na jeden takt, nízká spotřeba a snadný vývoj.