AVR

rodina jednočipových počítačů od firmy Atmel

AVR je označení pro rodinu 8bitových a některých 32bitových mikročipů typu RISC s harvardskou architekturou od firmy Atmel.

AVR procesor.

Historie

Za zrodem architektury AVR stojí studenti Alf-Egil Bogen a Vegard Wollan z Norského technologického institutu. Na trhu se tyto mikroprocesory začaly objevovat od roku 1997.

Původní mikropočítač AVR byl vyvinut v Trondheimu v centru ASIC (Aplikačně Specifické Integrované Obvody) zmíněnými studenty, kteří tam pracovali. Dnes je tato firma známá jako Nordic Semiconductor.Při designu úzce spolupracovali na tvorbě kompilátoru, který tak měl mít co nejefektivnější sadu instrukcí.[1]

Atmel vyvrací, že by zkratka AVR měla jakýkoliv zamýšlený význam. Ani původní tvůrci neposkytli oficiální vysvětlení, co znamená "AVR". Je však všeobecně přijímáno, že AVR znamená Alf (Egil Bogen), Vegard (Wollan) Risc procesor.[2]

Pokud je v tomto článku použit výraz "AVR", je tím myšlen obecně 8bitový RISC mikropočítač od Atmel.

Mezi prvními vyrobenými mikropočítači byl AT90S8515, který má stejné vývody jako 8051. Včetně některých externích sběrnic. Rozdíl byl v opačné polaritě na pinu RESET.

Základní typy

  • AT90 – řada, která už se dnes nevyrábí, náhradou může být řada ATmega nebo ATtiny
  • ATtiny – využívají se v jednoduchých a malých elektronických obvodech
  • ATmega – výkonné mikročipy, mají JTAG rozhraní, větší flash a RAM, více integrovaných rozhraní.
  • ATxmega – vlastnosti zvyšující výkon jako DMA, "Event System" a podpora kryptografie.
  • ATmega pro speciální aplikace
    • ATmega se speciálními periferiemi jako LCD kontroléry, USB kontroléry, pokročilými PWM, CAN rozhraním, atd.
  • FPSLIC™ (AVR s FPGA)
    • FPGA 5K – 40K hradel
    • SRAM pro programový kód, na rozdíl od ostatních AVR.
    • jádro AVR může běžet až na 50 MHz [3]
  • 32bitové AVR
Související informace naleznete také v článku AVR32.
V roce 2006 vydal Atmel nové 32bitové mikropočítače. Mají integrovaný SIMD a DSP a rozšíření podporující zpracování audia a videa. Tato 32bitová třída AVR měla konkurovat ARM architektuře (Atmel ale souběžně vyrábí i procesory s jádrem ARM). Instrukční sada je podobná RISC jádrům, není ale kompatibilní.

Druhy pamětí

Paměti integrované na čipu jsou typu Flash (programová paměť), EEPROM (trvalá paměť dat), SRAM (paměť dat) a jsou všechny uvnitř čipu AVR.

Programová paměť (Flash)

Instrukce programu jsou uloženy v paměti Flash (10000x přepisovatelné), uchovávající obsah i po vypnutí napájení. Velikost Flash bývá uvedena v označení součástky (např. řada ATmega64x má 64 kB Flash). Nelze použít vnější paměť pro program, veškerý kód prováděný jádrem AVR musí být uvnitř Flash.

EEPROM

Téměř všechny AVR mikrokontroléry mají interní elektricky mazatelnou programovatelnou paměť (EEPROM). Stejně jako Flash i EEPROM uchovává svůj obsah i po vypnutí napájení (garantovaný počet přepsání je 100000x). Používá se pro uložení různých nastavení za běhu mikrokontroléru.

Soubor registrů

OblastVyužití
0000h – 001Fhpracovní registry
0020h – 005FhI/O registry
0060h – ?SRAM

U některých rozšířených variant AVR může být sekce I/O registrů větší.

Programování

Rozmístění programovacích pinů (plošný spoj).
Rozmístění programovacích pinů (programátor).

K naprogramování AVR mikroprocesoru je nutný AVR programátor a příslušný software pro kompilaci programového kódu do strojového kódu. Nejčastěji se používá nástroj vyvinutý firmou Atmel a to program „AVR studio“. V tomto programu lze pak tvořit za pomocí GNU Assembleru, C/C++ program který po kompilaci je skrze programátor nahrán do programové paměti mikroprocesoru. In System Programming

K naprogramování mikroprocesoru je možno využít několik rozdílných programátorů, nejčastěji však:

Vývojové kity

  • Arduino – open-source vývojová deska s AVR procesorem ATMega168, ATMega328 nebo ATMega1280
  • SDKATM16 – vývojová deska s AVR procesorem ATMega16 (COM/USB)
  • USBmegaKIT – vývojová deska s AVR procesorem ATMega16 (USB)

Odkazy

Reference

Externí odkazy