Mikroporcesor ATmega16 – informatika

 

   Otázka: Mikroporcesor ATmega16

   Předmět: Informatika

   Přidal(a): Jirka

 

Mikroprocesor = je integrovaný obvod, jehož činnost lze řídit programem. Program je napsán v jazyce symbolických adres (asembler) a je uložen v paměti programu EEPROM.

 

Princip činnosti mikroprocesoru

Programový čítač (Program counter) – vybere instrukci z paměti programu, předá jí do dekodéru instrukcí, kde se dekóduje a CPU provede požadovanou činnost (aritmetické nebo logické operace, skokové instrukce, atd.)

Současně s vykonáváním instrukcí jsou prováděny další činnosti nezávislé na programu – např. hlídání napájení, hlídání zdrojů přerušení nebo analogový komparátor, atd.

 

Blokové schéma

Paměťový prostor

Mikroprocesor využívá harvardskou strukturu, kde jsou odděleny paměť programu a paměť dat.

 

Paměť programu

  • je velká 16kB je typu EEPROM (FLASH) – uložený program (musí zůstat i po vypnutí napájení)
  • lze připojit vnější paměť programu (až 64kB), adresování vnější paměti přes port A a port C

 

Paměť dat

  • SRAM, velikost 1kB
  • EEPROM – nonvolatilní ukládají se sem pouze data které bude potřebovat po vypnutí, velikost 512B

 

Paměť dat SRAM

SRAM /1023, 0

SFR / 63, 0

Prac. registry R0 – R31 / 31, 0

 

Paměť SRAM je 8-bitová, skládá se ze tří částí:

  • 32 pracovních registrů (R0 – R31), registry R26 – R31 mohou byt použity jako tři 16-bitové registry X, Y, Z (většinou se využívají pro adresování)
  • 64 speciálně funkčních registrů (I/O registry) – (SREG – stavový registr, PORT A, PORT B, PIN A, PIN B,..)
  • Libovolně využitelná paměť SRAM

Stavový registr SREG

  • Určuje stav programu po každé aritmetické a logické operaci

 

I (7) – globální povolení přerušení
– musí být nastaven do 1, aby byla povolena přerušení, která jsou nastavena v řídících registrech
pro přerušení
– je-li I=0 jsou zakázána všechna přerušení

T (6) – slouží pro bitové přesuny
– data přesune z výchozího registru do bitu T a z T do cílového registru

H (5) – příznak polovičního přenosu
– indikuje přetečení ze 3. do 4. bitu
– využívá se hlavně v BCD aritmetice

S (4) – znaménkový příznak

V (3) – dvojkový doplněk

N (2) – negace

Z (1) – nulový příznak
– indukuje nulový výsledek při logických nebo aritmetických operacích (je-li nulový Z=1)

C (0) – Carry bit
– přetečení ze 7. bitu

 

Zásobník

Nachází se v paměti dat SRAM a využívá se pro krátkodobé uložení dat a pro ukládání návratové adresy při volání podprogramů. Je typu LIFO (data, která se ukládají jako poslední je potřeba vybrat jako první).

 

Stack Pointer (SP)

Určuje kde je zásobník umístěný. Při ukládání do zásobníku (PUSH) se dekrementuje (sníží o 1) a při ukládání návratové adresy se dekrementuje o 2. Při vybírání ze zásobníku (POP) se SP inkrementuje (zvýší o 1) a při výběru návratové adresy (RET) se inkrementuje o 2.

 

Časování mikroprocesoru

Mikroprocesor využívá pro časování zdroj frekvence:

  • Vnitřní oscilátor – je nastaven na frekvenci 8 MHz, děličkou lze nastavit na 4MHz, 2MHz, 1MHz
  • Vnější krystal
    • připojení na vývody XTAL 1, XTAL 2
    • krystal lze použít do frekvence 16MHz
    • nejčastěji používaná frekvence je 11,0592MHz (generuje přesnou přenosovou rychlost při sériovém přenosu)
    • C= 12 – 22 pF

Strojní cyklus

  • Doba provádění jedné instrukce
  • Strojní cyklus trvá 1 kmit oscilátoru

 

Reset mikroprocesoru

Reset nebo-li inicializace je nastavení procesoru do počátečních podmínek. Po resetu je datová paměť SRAM nastavena na náhodnou hodnotu (makrointstrukci INIT RWM paměť vynulujeme kromě reg. SP, který má hodnotu 1023). Programová paměť EEPROM zůstává (programový čítač PC je nastaven na 0, to znamená, že program bude provádět od začátku).

 

Zdroje resetu

  1. Power on – k resetu dojde po zapnutí napájení
  2. Externí reset – využívá vstup RESET, k resetu dojde tehdy, když na resetovacím vstupu je 0
  3. Watch-dog – pokud je aktivní watch-dog timer musí se pravidelně do nastavené doby provést instrukci WDR (watch dog reset). Pokud se program zacyklí a tato instrukce se neprovede, dojde k resetu
  1. Brown-out – je-li aktivován, dojde k resetu při poklesu napájecího napětí pod nastavenou úroveň. K resetu nedojde je-li pokles kratší než 2m

 

Watch dog (Hlídací pes)

Program který hlídá, aby v jiné situaci nenstala určitá situace. Když nastane tak aplikaci restartuje. à Obvod kontrolující správnou funkci mikroprocesoru. Je ale obsažen jen v některých typech procesorů. Je programově nastavován pomocí registru WD. Zde je nastaven časový interval v němž se program ohlásí. Pokud k tomuto nedojde, je vyvolán reset mikroprocesoru.

💾 Stáhnout materiál   ✖ Nahlásit chybu
error: Stahujte 15 000 materiálů v naší online akademii 🎓.