Jaký je princip fungování AVR?
Společnost ATMEL vznikla v roce 1984, celý název je Advanced Technology Memory and Logic.
Společnost vydala první MK v roce 1993.
V roce 1995 byla vynalezena nová architektura jádra procesoru pro MK, tzv. jádro RISC. Nová architektura MK se jmenovala AVR. Myšlenka nové architektury jádra se ukázala jako velmi úspěšná a již v roce 1997 ATMEL zahájil sériovou výrobu mikrokontrolérů založených na jádře RISC. V současné době ATMEL vyrábí několik miliard MK různých typů ročně. Z celé této sady vynikají dvě rodiny osmibitových MCU: tinyAVR a megaAVR.
Drobná rodinka – jednodušší, méně sofistikované a v důsledku toho levnější.
Mega rodina – sofistikovanější, ale také dražší.
Každá rodina má širokou škálu různých MK, což nám umožňuje vybrat nejoptimálnější možnost MK pro vytvářený design, a to jak z hlediska jeho možností, tak i ceny.

Stručná charakteristika mikrokontrolérů AVR rodiny Mega a Tiny:
– hodinová frekvence od 0 hertzů do 20 megahertzů
– kapacita paměti programu 1–16 kB pro rodinu Tiny a 8–256 kB pro rodinu Mega
– napájecí napětí od 1,8 do 5,5 voltu (pro různé typy mikrokontrolérů je rozsah napájecích napětí různý, také od 0,7 voltu do 6 voltů)
– aktuální spotřeba mikrokontrolér – v průměru asi 5 miliampérů a velmi závisí na napájecím napětí a taktovací frekvenci, čím vyšší jsou tyto hodnoty – tím větší je spotřeba proudu

Nyní se podívejme na obrázek, který ukazuje všechny hlavní součásti mikrokontroléru, a pak se rychle podívejme na každou z nich:
V tomto článku se nebudeme hluboce zabývat účelem a konstrukcí jednotlivých komponent mikrokontroléru, tím se budeme zabývat v následujících článcích o návrhu mikrokontrolérů AVR. Dnes se podíváme pouze na obecnou strukturu mikrokontroléru.
CPU – mikrořadič procesor
Jeho úkolem je vygenerovat adresu dalšího příkazu, vybrat příkaz z paměti a organizovat jeho provedení.
Hlavní CPU zařízení:
– ALU – aritmeticko-logická jednotka
— blok obecných registrů (RON)
ALU – zařízení, které provádí aritmetické a logické operace s daty pocházejícími z obecných registrů.
RON — univerzální registry (celkem 32 RON, od R0 do R31), jejichž hlavním úkolem je výměna dat mezi ALU a paměťovými buňkami.
Paměť mikrokontroléru
Mikrokontroléry AVR mají tři typy paměti:
– BLIKAT
– SRAM
– EEPROM
FLASH paměť – paměť pouze pro čtení, známá také jako programová paměť. Navrženo pro ukládání programových kódů a konstant
paměti SRAM – paměť s náhodným přístupem, známá také jako datová paměť. Navrženo pro ukládání dat získaných během provádění programu (při vypnutí napájení se data ztratí)
Paměť EEPROM – paměť pouze pro čtení, známá také jako energeticky nezávislá datová paměť. Navrženo pro ukládání konstant a dat získaných během provádění programu (při vypnutí napájení nedojde ke ztrátě dat)
Periferní zařízení
„Periferní“ v mikrokontrolérech označuje všechna zařízení mimo CPU a paměť
Vstupně-výstupní porty
Paralelní osmibitový I/O port se používá pro vstup a výstup dat. Počet portů je od 1 do 7 (v závislosti na modelu mikrokontroléru) a jsou označeny písmeny A, B, C, D. .
Analogový komparátor
Přítomno ve všech modelech MK
Analogový komparátor – srovnávací zařízení. Hlavním úkolem komparátoru je porovnat dvě napětí: jedno z nich je referenční napětí (s čím porovnáváme) a druhé je naměřené napětí (které se porovnává). Pokud je porovnávané napětí větší než referenční napětí, komparátor generuje signál logické jedničky. Pokud je porovnávané napětí menší než referenční napětí, komparátor generuje na svém výstupu logickou nulu.
Pomocí komparátoru můžete například sledovat napětí na nabíjené baterii. Dokud napětí nedosáhne požadované úrovně, je výstup komparátoru logickou nulou, jakmile napětí baterie dosáhne úrovně, kterou potřebujeme, komparátor vytvoří logickou jedničku, což znamená, že můžeme baterii dobít.
ADC – analogově-digitální převodník
Ne všechny mají MK
ADC – analogový převodník napětí do digitální podoby.
Analogové napětí je napětí, které se v čase mění. Například sinusový signál z výstupu frekvenčního generátoru, napětí v domácí zásuvce, zvukový signál na reproduktorech.
ADC neustále analyzuje hodnotu napětí na svém vstupu a na svém výstupu vytváří digitální kód odpovídající vstupnímu napětí.
Příklady aplikací:
– digitální voltmetr nebo ampérmetr
– regulátor napětí procesoru
MK, které mají ADC, mají také samostatné napájení pro digitální a analogovou část.
Časovač/počítadlo
Přítomno ve všech modelech MK, ale v různých množstvích – od 1 do 4 as různými schopnostmi
Časovač/počítadlo – je to jako dvě zařízení v jedné lahvičce: časovač + počítadlo.
Časovač je zařízení, které umožňuje vytvářet časové intervaly. Časovač je digitální čítač, který počítá impulsy buď z interního generátoru frekvence, nebo z externího zdroje signálu.
Pomocí časovače/počítadla můžete:
– počítat a měřit časové intervaly
– spočítat počet externích impulsů
– generovat PWM signály
Chceme například vytvořit zařízení, které nám umožní měřit frekvenci vstupního signálu (frekvenční měřič). V tomto případě můžeme použít dva čítače/časovače. První bude počítat časové intervaly rovnající se 1 sekundě a druhý bude počítat počet pulsů za dobu 1 sekundy, kterou počítá první časovač. Počet pulzů napočítaných druhým časovačem/čítačem za 1 sekundu se bude rovnat frekvenci vstupního signálu.
PWM— pulsně šířkový modulátor určený k řízení průměrného napětí na zátěži.
PWM je jednou z možností ovládání časovače/počítadla, která umožňuje generovat na výstupu MK obdélníkové pulzní napětí s nastavitelnou dobou mezi pulzy (duty factor), které se používá v různých zařízeních:
– regulace otáček elektromotoru
– svítidla
– topná tělesa
Časovač hlídacího psa
K dispozici ve všech modelech MK. Lze povolit nebo zakázat podle uvážení programátora
Watchdog timer má jediný úkol – po určité době resetovat (restartovat program) MK.
Při provozu MK mohou nastat různé situace, kdy dojde k narušení jeho běžného provozu (vnější rušení, hloupý program, kvůli kterému by se měla utrhnout hlava programátora). V takových případech říkají, že MK je „zaseknutý“.
Při běžném provozu MK a zapnutém hlídacím časovači musí program periodicky resetovat hlídací časovač (a periodické nulování musíme zajistit v programu sami) ještě před jeho spuštěním a restartem MK. Pokud je program zmrazený, pak se hlídací časovač nevynuluje a po určité době restartuje MK.
Modul přerušení
Přerušit – signál informující procesor o výskytu události. V tomto případě je pozastaveno provádění aktuálního programu a řízení je přeneseno na obsluhu přerušení, která na událost reaguje a obsluhuje (je spuštěn program, který musí MK provést při výskytu odpovídající události – přerušení) a poté se vrátí k přerušenému programu.
Přerušení mohou být interní nebo externí.
Během provozu periferních zařízení MK (ADC, komparátor, časovač atd.) může docházet k vnitřním přerušením.
Externí přerušení je událost, která nastane, když je na jednom ze speciálních vstupů MK signál (MK může mít několik takových speciálních vstupů pro externí přerušení).
Příklad:
Vnitřní přerušení. Na MK jsme sestavili zařízení, které má i funkci nabíjení záložního zdroje. MK provádí svůj hlavní program, zatímco analogový komparátor kontroluje napětí na baterii. Jakmile napětí baterie klesne pod přípustnou úroveň, komparátor vygeneruje signál do procesoru – přerušení procesor zastaví provádění hlavního programu a pokračuje ve vykonávání programu přerušení způsobeného komparátorem – např. se otočí; na nabíjecím obvodu baterie a poté se vrátí ke spuštění přerušeného programu.
Externí přerušení. Činnost MK probíhá stejně jako u vnitřního přerušení, ale může být způsobena jakýmkoli zařízením připojeným na speciální vstup MK.
Sériové porty
Sériové periferní rozhraní SPI
K dispozici ve všech modelech MK
Používáme jej ve většině případů pro programování MK.
Kromě programování MK umožňuje rozhraní SPI:
– výměna dat mezi MK a externími zařízeními
– výměna dat mezi několika mikrokontroléry
Univerzální UART transceiver
Všechny modely MK je mají, ale různých typů:
– USART
– UART
Navrženo pro výměnu dat přes sériový kanál přes dvoudrátové komunikační linky. Příjem a přenos lze provádět současně.
Sériové dvouvodičové rozhraní TWI (I2C)
Nachází se pouze v sérii Mega.
Určeno pro výměnu dat po dvouvodičovém vedení. Celkem lze na takovou linku připojit až 128 zařízení.
TWI je úplný analog I2C rozhraní.
(26 hlasů, hodnocení: 4,81 z 5)