Mikrokontroller
A mikrokontroller / mikrovezérlő egyetlen lapkára integrált, általában vezérlési feladatokra optimalizált cél-számítógép. A mikrokontroller egy mikroprocesszor kiegészítve az áramköri lapkájára integrált perifériákkal. Manapság sok hétköznapi használati eszközben mikrokontroller lapul a digitális hőmérőtől az autónkon át akár a gyorséttermi ajándék játékig.
Régebben mikroprocesszor-típusokat használtak a vezérlési feladatok elvégzésére. A mikroprocesszor használatakor a szükséges perifériák miatt további IC-ket kellett beépíteni. Az áramköri technológia fejlődésével egyre több perifériát az IC tokba lehetett integrálni, így alakult ki a mikrokontroller, nagyon tömör áramkört eredményezve.
Mikrokontroller [szerkesztés]
Költséghatékonyan képes ellátni egyszerű, kis számítási teljesítményt és operatív tárat igénylő műveleteket. A tervezés során törekszenek rá, hogy minél kevesebb járulékos alkatrésszel lehessen megoldani a feladatok legszélesebb skáláját amellett, hogy az eszköz fogyasztását, méretét és költségét minimalizálják. Ezt a IC lábainak multiplex felhasználásával és beépített perifériákkal érik el. Az áramköri tok lábai programozhatóan kapcsolódnak a belső perifériák ki-bemeneteihez, vagy a mikrokontroller programja direktben beállíthatja/ beolvashatja őket. A mai (2013) tipikus mikrokontroller 1-100MHz órajelen fut, 100byte-100kByte flash programtárat, és tucat Byte-tól néhány 100kByte-ig terjedő méretű RAM memóriát tartalmaz. Tipikus tápfeszültségük 1,8V - 3,3V - 5V, maximális áramfelvételük 100mA tartományban van, a tokozás lábszáma 8 és néhányszáz láb közötti. A belső adatméret alapján 8, 16 és 32 bites mikrokontrollereket különböztethetünk meg.
A mikrokontrollereket általában real-time (valós-idejű) feladatokra használják, ahol valamilyen környezeti jelzésre nagyon rövid időn belül (általában ezred-másodperceken belül) reagálni kell. Általában nincs operációs rendszerük, hanem az adott cél-feladatra készített program fut a mikrokontrollerben.
A működtető program betöltése a mikrokontrollerbe vagy a *PROM-okhoz (PROM, EPROM, EEPROM) hasonlóan külön programozó készülékben, vagy ISP (In System Programming) módon a végleges áramkörbe beépített állapotban, illetve nagy szériánál a mikrokontroller előállításával egyidőben maszk programozással történik. A régi típusok egyszer voltak programozhatóak, de az új eszközök gyakorlatilag mindegyike Flash-ROM alapú programtárat tartalmaz, így akár sokezer beírás/törlés ciklust is elviselnek. A programozásuk a mikroprocesszorhoz hasonlóan gépi kódú (assembler) utasításokkal, vagy a nagyobb mikrokontrollerek esetében magas szintű pl. C programnyelven történik.
Részegységei (perifériái) [szerkesztés]
A mikrokontroller az ellátandó feladatától függően sok perifériát tartalmazhat. Minden egyes perifériának fogyasztása van (amely függ a periféria állapotától, annak beállításaitól), amelyek összeadódnak és a mikrokontroller összfogyasztását növelik. A fölösleges fogyasztások elkerülése végett az egyes perifériák ki- ill. bekapcsolhatóak akár a program futása folyamán is.
Gyakran előforduló perifériák:
- oszcillátor: órajelet ad a processzor számára, ezen kívül egy számláló vezérlésével időmérésre is használható
- operatív tár a vezérlőprogram tárolására ROM és futás közbeni adatok tárolására RAM
- számlálók/időzítők: ezeket külső és belső jelek segítségével lehet léptetni. Használhatók egyszerű impulzusszámlálási feladatokra és frekvenciamérésre is
- watchdog időzítő: biztonsági eszköz a működtető program "lefagyása" ellen. Egy időzítő, melyet a szoftvernek periodikusan nullázni kell. Ha nem teszi, akkor a watchdog áramkör hardveresen újraindítja a mikrokontrollert, amitől talán elmúlik a lefagyást előidéző állapot.
- EEPROM memória: kalibrációs adatok vagy más paraméterek, és adatok tárolására szolgál. A tápfeszültség elvesztése után is megőrzi a tartalmát.
- DSP (digitális jel-processzor): a nagysebességű digitális jelfeldolgozáshoz szükséges különleges számítási műveleteket gyorsító számolóegység
- Jelátalakítók:
- Analóg-digitális átalakító (A/D konverter) a külső analóg jeleket (feszültséget) digitális formába, a processzor által feldolgozhatóvá alakítja
- Digitális-analóg átalakító (D/A konverter) a belső digitális jeleket alakítja át analóg jelekké.
- Komparátor: két analóg feszültséget hasonlít össze.
- Kommunikációs interfészek buszok: a különböző eszközök egymással történő kommunikációját valósítják meg.
- Memória jellegű tárok kezelés
- párhuzamos adat- és címbuszú memóriák kezelése
- SD-kártya kezelése
- Meghajtó egységek:
- Jelgenerátorok:
- PWM: négyszögjel elállítása megfelelő kitöltéssel, általában teljesítmény-szabályozáshoz
- debug interface: a mikrokontroller hibakereséséhez és programállapot-figyeléshez. A program futtatását teszi lehetővé miközben össze van kötve egy számítógéppel. Így a futás jellemzőit nyomon lehet követni: regisztereket, memóriát meg lehet nézni. A program futását le lehet állítani, majd újra lehet indítani.

