AVR
AVR je označení pro rodinu 8bitových a některých 32bitových mikročipů typu RISC s harvardskou architekturou od firmy Atmel.
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
- 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)
- 32bitové AVR
- 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ů
Oblast | Využití |
---|---|
0000h – 001Fh | pracovní registry |
0020h – 005Fh | I/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í
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
- The AVR Microcontroller and C Compiler Co-Design. www.atmel.com [online]. [cit. 2011-06-05]. Dostupné v archivu pořízeném z originálu dne 2012-01-27.
- UNSW School of Computer Science and Engineering - General AVR Info. www.cse.unsw.edu.au [online]. [cit. 2011-06-05]. Dostupné v archivu pořízeném dne 2012-06-23.
- FPSLIC - Field Programmable System Level Integrated Circuit. www.atmel.com [online]. [cit. 2011-06-05]. Dostupné v archivu pořízeném z originálu dne 2009-03-13.
Externí odkazy
- Obrázky, zvuky či videa k tématu AVR na Wikimedia Commons
- Kniha Programujeme jednočipy ve Wikiknihách
- Stránka fanoušků MCU firmy Atmel.
- BASCOM-AVR kompilátor pro AVR