AVR
Author
Albert FloresAVR procesor. 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. +more Při designu úzce spolupracovali na tvorbě kompilátoru, který tak měl mít co nejefektivnější sadu instrukcí.
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". +more Je však všeobecně přijímáno, že AVR znamená Alf (Egil Bogen), Vegard (Wollan) Risc procesor.
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. +more 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
* 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. +more 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ř. +more ř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). +more 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í
Rozmístění programovacích pinů (plošný spoj). +more 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: * ISP * STK200 * STK500 * AVR Prog * USBasp * The Dragon (USB) * JTAG (IEEE 1149.1)
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
[url=http://www.avrfreaks.net/]Stránka fanoušků MCU firmy Atmel.[/url] * [url=http://www.mcselec.com/]BASCOM-AVR kompilátor pro AVR[/url]