Architektúra mikrokontroléra: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
d
 
(29 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených)
Riadok 1: Riadok 1:
[[Category:Mikroprocesorové systémy]]
+
[[Kategória:Konfigurovateľné mikroprocesorové systémy]]
__NOTOC__
+
[[Kategória:Úvod k mikroprocesorovým systémom]]
{{Draft}}
+
{{sablona_mikroprocoserove_systemy|Všeobecný úvod|Od počítača k mikrokontroléru|Architektúra všeobecného počítača|Architektúra mikrokontroléra|Prehľad aktuálneho stavu mikroprocesorových systémov}}
 +
===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.
 
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.
  
Riadok 32: Riadok 34:
 
*Periférne obvody pre vstup a výstup dát
 
*Periférne obvody pre vstup a výstup dát
  
==Architektúra==
+
==Architektúra vo všeobecnosti==
  
 
Jednočipový počítač je integrovaný obvod, ktorý v sebe zahrňuje spravidla všetko potrebné k tomu,
 
Jednočipový počítač je integrovaný obvod, ktorý v sebe zahrňuje spravidla všetko potrebné k tomu,
Riadok 48: Riadok 50:
  
  
===Architektúra mikrokontrolera rady 8051===
+
==Architektúra mikrokontrolera rady 8051==
  
 
<center>  
 
<center>  
Riadok 164: Riadok 166:
 
<center>  
 
<center>  
 
{|class="wikitable"
 
{|class="wikitable"
| align="center" width=500 | [[Súbor:Všeobecná architektúra procesorov rady AVR
+
| align="center" width=500 | [[Súbor:Všeobecná architektúra mikrokontrolerov rady AVR.jpg]]
| align="center" width=500 | Všeobecná architektúra procesorov rady AVR
+
|-
 +
| align="center" width=500 | Všeobecná architektúra mikrokontrolerov rady AVR
 +
|}
 +
</center>
 +
 
 +
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.
 +
 
 +
<center>
 +
{|class="wikitable"
 +
| align="center" width=500 | [[Súbor:Pamäť programu dát pre mikrokontroler typu AVR.jpg]]
 +
|-
 +
| align="center" width=500 | Pamäť programu dát pre mikrokontroler typu AVR
 +
|}
 +
</center>
 +
 
 +
 
 +
'''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.
 +
 
 +
<center>
 +
{|class="wikitable"
 +
| align="center" width=500 | [[Súbor:ARM.jpg]]
 +
|-
 +
| align="center" width=500 | ARM
 +
|}
 +
</center>
 +
 
 +
'''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é.
 +
 
 +
<center>
 +
{|class="wikitable"
 +
| align="center" width=500 | [[Súbor:ARM9 core.jpg]]
 +
|-
 +
| align="center" width=500 | ARM9 core
 +
|}
 +
</center>
 +
 
 +
 
 +
==Architektúra mikrokontrolera 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.
 +
 
 +
<center>
 +
{|class="wikitable"
 +
| align="center" width=500 | [[Súbor:MSP 430.jpg]]
 +
|-
 +
| align="center" width=500 | architektúra mikrokontroleru MSP 430
 +
|}
 +
</center>
 +
 
 +
==Mikrokontroler 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.
 +
 
 +
<center>
 +
{|class="wikitable"
 +
| align="center" width=500 | [[Súbor:PSoC.jpg]]
 +
|-
 +
| align="center" width=500 | architektúra mikrokontroleru PSoC
 +
|}
 +
</center>
 +
 
 +
 
 +
==Mikrokontroler 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.
 +
 
 +
 
 +
 
 +
<center>
 +
{|class="wikitable"
 +
| align="center" width=500 | [[Súbor:PIC 16F87X.jpg]]
 +
|-
 +
| align="center" width=500 | architektúra mikrokontroleru PIC 17F87X
 
|}
 
|}
 
</center>
 
</center>
  
  
 +
==Porovnanie jednotlivých typov mikrokontrolerov==
 +
 +
V nasledujúcej tabuľke porovnám jednotlivé typy mikroprocesorov a ich parametre
 +
 +
 +
{|border="2" cellspacing="0" cellpadding="4" width="500" align="center"
 +
|+Tab. 2.2 Porovnanie jednotlivých typov mikroprocesorov
 +
|-
 +
|align="center"|
 +
|align="center"|PSOC
 +
|align="center"|MSP 430
 +
|align="center"|PIC 16F87X
 +
|align="center"|ARM
 +
 +
|-
 +
|align="center"|Frekvencia
 +
|align="center"|90 KHz - 24 MHz
 +
|align="center"|4kHz - 8MHz
 +
|align="center"|32kHz - 20MHz
 +
|align="center"|200 MHz
 +
 +
|-
 +
|align="center"|Napätie
 +
|align="center"|3 – 5 V
 +
|align="center"|1.8 - 3.6V
 +
|align="center"|2.5 - 5V
 +
|align="center"|3.3V
 +
 +
|-
 +
|align="center"|Spotreba(run)
 +
|align="center"|96 kHz - 24MHz ~6mW - ~35mW
 +
|align="center"|4 kHz - 8MHz ~6mW - ~7mW
 +
|align="center"|
 +
|align="center"|~750 mW
 +
 +
|-
 +
|align="center"|Spotreba(sleep)
 +
|align="center"|~15 μW
 +
|align="center"|~0.2 μW
 +
|align="center"|~0.2 μW
 +
|align="center"|4 mW
 +
 +
|-
 +
|align="center"|A/D
 +
|align="center"|6-13 bitov
 +
|align="center"|8 - 14 bitov
 +
|align="center"|4 - 14 bitov
 +
|align="center"|
 +
 +
|-
 +
|align="center"|Cena
 +
|align="center"|$1.00 - $8.00
 +
|align="center"|$0.49 - $8.00
 +
|align="center"|$2.00 - $5.00
 +
|align="center"|$13.00
 +
 +
|-
 +
|align="center"|I/O
 +
|align="center"|6 - 44
 +
|align="center"|14 - 48
 +
|align="center"|12 - 40+
 +
|align="center"|zbernica
 +
 +
|}
  
===LITERATÚRA===
+
==LITERATÚRA==
  
 
# http://home.zcu.cz/~dudacek/Pot/mikrokontrolery.pdf
 
# http://home.zcu.cz/~dudacek/Pot/mikrokontrolery.pdf
 
# [stargate.cnl.tuke.sk/~klimek/SKOLA/JM/otazky_1-2.doc]
 
# [stargate.cnl.tuke.sk/~klimek/SKOLA/JM/otazky_1-2.doc]
 
# http://robotika.yweb.sk/skola/!elektronika%20modelu%20automatickeho%20skladu/popis.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

Aktuálna revízia z 09:34, 21. marec 2013

Predmet

Konfigurovateľné mikroprocesorové systémy
Tématická časť:
Všeobecný úvod

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.jpg
Š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.jpg
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šeobecnosti

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.jpg
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í.jpg
Čí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.jpg
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.jpg
Č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.jpg
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.jpg
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.jpg
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.jpg
ARM9 core


Architektúra mikrokontrolera 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.

MSP 430.jpg
architektúra mikrokontroleru MSP 430

Mikrokontroler 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.

PSoC.jpg
architektúra mikrokontroleru PSoC


Mikrokontroler 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.


PIC 16F87X.jpg
architektúra mikrokontroleru PIC 17F87X


Porovnanie jednotlivých typov mikrokontrolerov

V nasledujúcej tabuľke porovnám jednotlivé typy mikroprocesorov a ich parametre


Tab. 2.2 Porovnanie jednotlivých typov mikroprocesorov
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

  1. http://home.zcu.cz/~dudacek/Pot/mikrokontrolery.pdf
  2. [stargate.cnl.tuke.sk/~klimek/SKOLA/JM/otazky_1-2.doc]
  3. http://robotika.yweb.sk/skola/!elektronika%20modelu%20automatickeho%20skladu/popis.doc
  4. 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
  5. http://www.kvetakov.net/clanky/psoc-uvod-do-programovani/82-procesory-od-cypressu.html
  6. http://sk.wikipedia.org/wiki/Mikroprocesor#Be.C5.BEn.C3.A9_architekt.C3.BAry_mikroprocesorov