AVR

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
AVR 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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

  • 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
    • Paměť flash pro uložení programu 1 – 8 kB
    • Pouzdro 6 – 32 pinů (orientačně)
    • Omezená sada integrovaných rozhraní
  • ATmega – výkonné mikročipy, mají JTAG rozhraní, větší flash a RAM, více integrovaných rozhraní.
    • Paměť Flash pro uložení programu 4 – 256 kB
    • V pouzdrech 23 – 100 pinů (orientačně)
    • Rozšířená sada instrukcí (instrukce násobení a instrukce pro přístup k větší programové paměti)
    • Široká sada integrovaných rozhraní
  • ATxmega
    • 16 – 384 kB programové paměti
    • 44–64–100 - pinová pouzdra (A4, A3, A1)
    • Vlastnosti zvyšující výkon jako DMA, "Event System" a podpora kryptografie.
    • Široká sada integrovaných rozhraní s DAC.
  • 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í[editovat | editovat zdroj]

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)[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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ů[editovat | editovat zdroj]

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í[editovat | editovat zdroj]

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[editovat | editovat zdroj]

  • 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)

Zdroje[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. The AVR Microcontroller and C Compiler Co-Design
  2. UNSW School of Computer Science and Engineering - General AVR Info
  3. FPSLIC - Field Programmable System Level Integrated Circuit

Externí odkazy[editovat | editovat zdroj]