Architektúra mikrokontroléra
Obsah
Architektúra mikrokontrolera
Jednočinný počítač alebo ang. Microcontroller (Mikrokontrolér, MCU) je väčšinou monolitický integrovaný obvod dosahujúci kompletní mikropočítač. Jednočinné počítače sa vyznačujú veľkouspoľahlivosťou a kompaktnosťou, preto sú určené predovšetkým pre jednoúčelové aplikácie ako je riadenie, regulácia a pod. Často sú jedno čipové počítače súčasťou vstavaných (embedded) systémov.
![]() |
Štruktúra mikrokontroleru |
Jednočipový mikropočítač - Mikrokontroler vznikne, ak sa mikroprocesor doplní o periférne obvody (pamäte, obvody vstupu/výstupu a iné rozhrania) a spolu sú umiestnené do jedného puzdra. Jednočipový mikropočítač disponuje určitou univerzálnosťou a možnosťou modifikovať jeho funkciu na základe programu, prípadne rozšírením o ďalšie periférne obvody.
![]() |
Mikrokontroler |
Mikrokontrolery vo všeobecnosti obsahujú:
- Radič a aritmetickú jednotku. Podľa typu mikrokontroleru sa používa dĺžka slova 4,8,16 alebo
32 bitov
- Pamäť programu (kódovú pamäť). Pamäť programu je buď typu EPROM alebo Flash, u mikrokontrolerov
vyrábaných pre určitú konkrétnu aplikáciu s pevne daným programom je typu ROM
- Pamäť typu R/W, niekedy doplnená pamäťou EPPROM
- Periférne obvody pre vstup a výstup dát
Architektúra vo všeovecnosti
Jednočipový počítač je integrovaný obvod, ktorý v sebe zahrňuje spravidla všetko potrebné k tomu, aby mohol dosiahnuť celú aplikáciu, bez toho, aby potreboval ďalšie podporné obvody.
Existujú základné dve architektúry mikroprocesorov – von Neumannova a Harvardská, každá má svoje výhody i nevýhody. Pri súčasnom stupni integrácie sa zrejme častejšie využíva Harvardská architektúra,vysoký stupeň integrácie dovoľuje pripojiť rôzne bloky pamäte pomocou vlastných zberníc. Delenie na „Harvardskou“ a „Von Neumannova“ architektúru je však pri dnešnom stupni integrácie už len akademické. U moderných architektúr sa často užívateľovi adresný priestor javí navonok ako lineárny (Von Neumannovský),zatiaľ čo fyzicky sú pamäte k jadru pripojené pomocou niekoľko nezávislých zberníc (napr. jedna zbernica pre FLASH/ROM (pamäť programu),druhá pre užívateľskú vnútornú RAM a zásobník, tretia pre pripojenie integrovaných pamäťovo mapovaných periférií, ďalšia pre pripojenie externou RAM).
Von Neumannova architektúra
Von Neumannova architektúra je architektúra, pre ktorú je typická spoločná pamäť pre dáta i program. Toto usporiadanie má výhody v tom, že nepotrebujeme rozlišovať inštrukcie pre prístup k pamäti dát a pamäti programu, čo vedie k zjednodušeniu vlastného čipu. Ďalšou výhodou je, že je potreba iba jednej dátovej zbernice, po ktorej sa prenášajú oba typy dát, čo je výhodné v prípade použitia externých pamätí, kde sa redukuje potrebný počet nutných vstupov a výstupov. Nevýhodou je, že prenos oboch typov dát po jednej zbernici je pomalší, ako pri oddelených zberniciach pre pamäti dát a programu.
Harvardská architektúra
Harvardská architektúra je typická oddelením pamäti programu a pamäti dát. Hlavnou nevýhodou tejto architektúry je väčšia technologická náročnosť daná nutnosťou vytvoriť dve zbernice. Za hlavnú výhodu je možné považovať možnosť inej šírky programové a dátové zbernice. Tejto možnosti sa široko využíva, takže nájdeme osembitové mikrokontrolery s programovou zbernicou širokou 12, 14 i 16 bitov. Medzi ďalšie výhody harvardskej architektúry patrí rýchlosť vykonávania inštrukcií, pretože inštrukcie i potrebné dáta je možné čítať v jedom čase.
Architektúra mikrokontrolera rady 8051
![]() |
Architektúra mikrokontrolerov rady 8051 |
Inštrukčné súbory
V oblasti jednočipových počítačov sa bežne používajú inštrukčné súbory typu CISC, RISC a DSP
![]() |
Čítač inštrukcií |
CISC
- označuje procesor so „zložitým inštrukčným súborom“. Procesor podporuje mnoho formátov a druhú inštrukciu. Na jednu stranu to znamená úsporu miesta v programovej pamäti (vyššiu hustotu kódu), na druhej strane to však znamená komplikovanejší dekodér inštrukcií vo vlastnom mikrokontroléri a pomalšie spracovanie inštrukcií
RISC
- RISC označuje procesor s redukovaným inštrukčným súborom. Základnou myšlienkou je obmedzenie počtu a zjednodušení kódovaní inštrukcií, čo vedie ku zjednodušeniu inštrukčného dekodéra. Hlavnou výhodou tohto prístupu je rýchlosť a jednoduchosť, na rovnakej ploche čipu môže byť miesto 16bitového procesoru CISC 32bitový procesor RISC. Nevýhodou je, že pre zakódovanie inštrukcie je potrebné viac miesta, niekedy musíme použiť dve inštrukcie miesto jednej, takže klesá hustota kódu.
DSP
- Digitálny signálový procesor alebo tiež digitálny signálny procesor (skratka DSP) je mikroprocesor, ktorého návrh je optimalizovaný pre algoritmy používané pri spracovaní digitálne reprezentovaných signálov. Hlavným nárokom na systém býva priebežné spracovanie veľkého množstvá dát „pretekajúcich“ procesorom.
Mikrokontrolery 8051 sa vyrábajú v širokom sortimente výkonov a veľkostí. Najmenšie typy majú len 8 vývodov vrátane napájania a rozmery puzdra 3x3 mm, najvýkonnejšie typy majú puzdrá so 100-200 vývodmi.
Mikrokontrolery 8051 obsahujú vo všeobecnosti:
- pamäťový podsystém
- centrálnu procesorovú jednotku
- obvody časovania
- blok čítačov/časovačov
- sériový programovateľný V/V obvod
- paralelný programovateľný V/V obvod
- obvodovy na riadenie externej zbernice
- prerušovací systém
- interná 8-bitová zbernica na prenos dát a inštrukcií
Pamäťový systém mikrokontrolerov 8051
Delenie pamäťového podsystému
Pamäťový systém delíme na:
- pamäť programu – 4KB, možnosť rozšírenia na 64 KB
- pamäť dát – 128 Bytov (256 Bytov) + 64 Bytov
Pamäť programu delíme na:
- internú - umiestnenú na čipe, kapacita 4 kB (rozsah adries 0000H – 0FFFH)
- externú – kapacita 60 kB (rozsah adries 1000H – FFFFH)
Adresný priestor pamäti programu sa adresuje 16-bitovým čítačom inštrukcií (PC register).
Pamäť dát mikrokontrolera 8051
![]() |
Pamäť dát |
Delenie pamäti dát
- Internú (kapacita 256 bytov)
- typ RWM (128 bytov)
- skupina SFR (Special function register 128 bytov)
- Externú – rozšírenie internej pamäti o 64 bytov
Interná pamäť dát typu RWM obsahuje:
- 4 banky 8-bitových registrov označených RB0 až RB3. Každá banka obsahuje 8 registrov R0 až R7. Banky registrov sú umiestnené na adresách 00H až 1FH. Spolu je v bankách 32 8 – bitových registrov.
- bitovo adresovateľnú pamäť RWM na adresách 20H až 2FH.V tejto oblasti môžeme adresovať každý bit samostatne. Rozsah bitových adries je od 00H až po 7FH.
- oblasť pamäti pre univerzálne použitie v rozsahu adries 30H – 7FH.
Skupina SFR obsahuje:
- špeciálne funkčné registre
- bitovo adresovateťné pamäťové miesta pre:
- akumulátor ACC
- register B
- programové stavové slovo PSW
Mikrokontrolery rady AVR
Označenie AVR je priradené mikrokontrolérom spoločnosti Atmel s RISC architektúrou (Reduced instruction set – Redukovanou inštrukčnou sadou), vyvinutých na mieru predovšetkým pre nízkoúrovňový programovací jazyk C. Oproti klasickým mikroprocesorom 8051 naznali sa dočkali rady základnych zmien. Ide predovšekým o zvätšenie šírky inštrukčného slova na 16 bitov. Čo umožnilo zrýchlenie načítavania inštrukcií, kde až na niekoľko výnimiek dochádza k načítaniu v priebehu jedného strojového cyklu. Dalším pokrokom tejto rady je priame propojenie ALU (aritmeticko logickej jednotky) s 32 pracovnými registrami, čo viedlo k zníženiu počtu hodinových taktov potrebných k vykonaniu väčšiny inštrukcií iba na dva takty (načítanie + dekódovanie a vykonanie). Vďaka tomu, že instrukcia vystačí s jedným slovom, bolo možné využiť jednoduchého prekrývania inštrukcí (pipelining). Toto prekrývanie spôsobuje, že v okamžiku dekódovania a vykonávania jednej inštrukcie dochádza k súčastnému nahrávaniu nasledujúcej inštrukcie. Počet hodinových taktov potrebných na vykonanie inštrukcie typu register-register sa tým znížil na jeden hodinový takt.
![]() |
Časovanie jednocyklovej aritmeticko-logickej inštrukcie |
Pri krátkom porovnaní s jadrom 8051 je vidieť, že AVR poskytuje až 12x vyšší výpočtový výkon pri rovnakom hodinovom kmitočte. Pretože jeden strojový cyklus mikroprocesora odpovedá jednej perióde oscilátora, pri 8051 je jeden strojový cyklus rovný dvanástim periódam oscilátora.
Architektúra mikrokontrolera rady AVR
Mikrokontroléry AVR sú Harvardského typu (oddelená pamäť pre program a dáta). Na čipe sú však implementované tri typy pamätí. Pamäť typu Flash má šírku 16 bitov a je využitá pre uloženie programu. Pamäť SRAM má šírku 8 bitov a je využívana pre ukladanie dát. Nakoniec pamäť EEPROM slúži pre odkladanie dát, ktoré je potreba zachovať i pri odpojení napájacieho napätia. Prístup do EEPROM sa zaisťuje nastavením príslušných registrov a komunikácia s ňou je pomalšia.
![]() |
Všeobecná architektúra mikrokontrolerov rady AVR |
Jadro AVR sa skladá z 32 rovnakých 8 bitových registrov (viz. Obr. 7), slúžiacich pre uloženie ako adresy tak aj dát. Tieto registre sú propojené priamo s ALU a práca s nimi zaberá len jeden strojový cyklus. Vďaka jej adresácii v rozmedzí 0H až 1FH je k nim zjednodušený programový prístup.
![]() |
Pamäť programu dát pre mikrokontroler typu AVR |
SPôsob programovania mikrokontrolera rady AVR
Pamäť programu (Flash) je možné programovať niekoľkými spôsobmi .Nejstarším spôsobom programovania je paralelné. Procesor je potrebné vypojiť z konkrétnej aplikácie a pripojiť k programátoru. Tento spôsob je veľmi neefektívny a v istých prípadoch je procesor dokonca potreba odpájkovať z plošného spoje(v prípade použitia SMD púzdra). Najpoužívanejšim spôsobom je sériové programovanie ISP (In System Programming), pri ktorom procesor zostáva naďalej zapojený v konkrétnej aplikácii, stačí len vyviesť niekoľko vstupov. Konkrétne MOSI, MISO, SCK a RESET. Procesory rady ATmega sú dokonca schopné programovať samy seba pomocí štandardného ovládača BOOT Leader Program, umiestného na nejvyšších adresách programovej pamäti. Výrobca Atmel zaručuje až 10000 násobnú programovateľnosť pamäte Flash.
Mikrokontroléry rady ARM
ARM je v informačných technológiách 32bitová mikroprocesorová architektúra typu RISC vyvinutá firmou ARM Limited, ktorá se využíva v mnoho vstavaných systémoch. Vďaka svojim energeticky úsporným vlastnostiam se procesory ARM používajú hlavne v mobilnom odvetví spotrebnej elektroniky, kde je malá spotreba energie velmi dôležitá. Prvý mikroprocesor s architektúrou ARM bol navrhnutý firmou ARM Limited v roku 1984.
![]() |
ARM |
Architektúra procesoru ARM - 9 CORE
Procesor ARM obsahuje 44 základných inštrukcií s jednotnou šírkou 32 bitov. V jednom takte sa vykonávajú iba inštrukcie pracujúce s aritmeticko-logickou jednotkou (ALU), s registrami alebo s priamymi operantami.
Procesor pracuje v štyroch základných režimoch:
- uživateľský režim USR
- privilegovaný režim supervizora SUP
- privilegovaný režim prerušenia IRQ
- privilegovaný režim rychlého prerušenia FIQ
V procesore je obsažené 25 čiastočne sa prekrývajúcich 32bitových registrov (15 registrov je univerzálnych a zbývajúcich 10 má špeciálne funkcie), z toho 16 registrov je v každom režime činnosti programovo prístupných.
Inštrukčný súbor môžeme rozdeliť na skupiny:
- inštrukcie spracovania údajov - spracovanie registrových operandov, spracovanie priamych operandov, nastavenie podmienkového kódu a inštrukcie aritmeticko-logické
- inštrukcie jednoduchého prenosu údajov
- inštrukcie blokového prenosu údajov - inštrukcie vykonávajú prenos medzi skupinou registrov a spojitou oblastí pamäti, pričom jeden register je použitý ako smerník
- inštrukcie vetvenia a vetvenia s uchovaním návratovej adresy (tieto inštrukcie odkladajú PSW do R14)
- inštrukcie prechodu do privilegovaného režimu supervizora, ktoré zahrňujú i programové prerušenie
Všetky inštrukcie majú štvorbitový prefix, ktorý zaisťuje podmienené vykonanie samotnej inštrukcie. Inštrukcie spracovania údajov pracujú iba nad súborom vnútorných registrov a každá z týchto inštrukcií obsahuje referencie na tri operandy: jeden cieľový a dva zdrojové.
![]() |
ARM9 core |
Architektúra mikrokoprocesora MSP 430
Mikrokontrolér MSP430 je 16 bitový Texas Instruments (TI). Bol špeciálne navrhnutý pre nízky výkon, takže je vhodný najmä pre batériové zariadenia. Existujú rôzne druhy vyhotovenia mikrokontroléra s 1 do 256 kB ROM Flash pamäte, 128-16384 bajtov RAM, niektoré s hardware multiplikátormi, UART, A / D prevodník alebo LCD ovládače, väčšina z SMD balenia s 20 až> 100 pinov.
![]() |
architektúra mikrokontroleru MSP 430 |
PSOC
Z popisu procesoru, ktorý firma Cypress u svojich procesorov rady CY8CXXXXX uvádza sa môžeme dočítať, že sa jedná o kombináciu klasického osembitového procesora a obvodu typu FPGA. Obsahuje teda procesorove jadro, pamäť programu FLASH, pamäť dát RAM, tiež analogové a digitálne bloky, ktoré je možné konfigurovať ako UART, I2C, SPI, čítače, časovače, buffery, AD, DA prevodníky, komparátory, operačné zosilňovače, PWM bloky a ďalšie
PSoC je možné preložiť ako Programable System on Chip. Prečo je súčiastka takto označovaná, je určite jasné z predchádzajúceho textu. Vďaka architektúre je možné totiž s istým obmedzením paralelne spracovávať a generovať signály, ktoré by sa nám určite so samotným jadrom nepodarilo.
![]() |
architektúra mikrokontroleru PSoC |
MICROCHIP PIC - PIC 16F87X
PIC je rodina mikroprocesorov Harvardskej architektúry uskutočnenej Microchip Technology, odvodené z PIC1640 [1], pôvodne vyvinutý pre mikroelektroniku. Názov PIC znamená spočiatku len "programovateľné rozhranie Controller.
PIC sú obľúbené ako u priemyselných vývojárov a fanatikov pre ich nízke náklady, širokú dostupnosť, veľké užívateľské rozhranie, dostupnosť a nízke náklady.
![]() |
architektúra mikrokontroleru PIC 17F87X |
PSOC | MSP 430 | PIC 16F87X | ARM | |
Frekvencia | 90 KHz - 24 MHz | 4kHz - 8MHz | 32kHz - 20MHz | 200 MHz |
Napätie | 3 – 5 V | 1.8 - 3.6V | 2.5 - 5V | 3.3V |
Spotreba(run) | 96 kHz - 24MHz ~6mW - ~35mW | 4 kHz - 8MHz ~6mW - ~7mW | ~750 mW | |
Spotreba(sleep) | ~15 μW | ~0.2 μW | ~0.2 μW | 4 mW |
A/D | 6-13 bitov | 8 - 14 bitov | 4 - 14 bitov | |
Cena | $1.00 - $8.00 | $0.49 - $8.00 | $2.00 - $5.00 | $13.00 |
I/O | 6 - 44 | 14 - 48 | 12 - 40+ | zbernica |
LITERATÚRA
- http://home.zcu.cz/~dudacek/Pot/mikrokontrolery.pdf
- [stargate.cnl.tuke.sk/~klimek/SKOLA/JM/otazky_1-2.doc]
- http://robotika.yweb.sk/skola/!elektronika%20modelu%20automatickeho%20skladu/popis.doc
- http://www.google.sk/url?sa=t&source=web&cd=5&ved=0CCQQFjAE&url=http%3A%2F%2Frobotika.yweb.sk%2Fskola%2F!elektronika%2520modelu%2
- http://www.kvetakov.net/clanky/psoc-uvod-do-programovani/82-procesory-od-cypressu.html
- http://sk.wikipedia.org/wiki/Mikroprocesor#Be.C5.BEn.C3.A9_architekt.C3.BAry_mikroprocesorov