Mikrovezérlő

A mikrokontroller vagy mikrovezérlő egyetlen lapkára integrált, általában vezérlési feladatokra optimalizált célszá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 integrált áramköröket (IC) 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.

A mikrovezérlő 
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-100 MHz órajelen fut, 100 byte-100 kByte flash programtárat, és tucat Byte-tól néhány 100 kByte-ig terjedő méretű RAM memóriát tartalmaz. Tipikus tápfeszültségük 1,8 V...3,3 V...5 V, maximális áramfelvételük 100 mA tartományban van, a tokozás lábszáma 8 és néhány szá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 egy idő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 sok ezer 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 saját programnyelven, nagyobb mikrokontrollerek esetében magas szintű, pl. C programnyelven történik.

Részegységei (perifériái) 
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.
 I2C (Inter-Integrated Circuit)  busz,
 UART (Universal Asynchron Receiver/Transmitter),
 SPI (Serial Peripheral Interface) busz,
 CAN (Controller Area Network) busz,
 Ethernet, 
 1-Wire, 
 USB, 
 párhuzamos port külső párhuzamos busz
 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:
 LCD-panel meghajtók
 LED kijelző meghajtók
 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.

Elterjedt típusok 
 Microchip PIC
 Atmel AVR, Atmel ATmega és ATmega32
 Motorola/Freescale (pl. 68HC, S08, S12, DragonBall, ColdFire, M-CORE, MPC5xx, i.MX családok)
 Intel MCS-41/42 – 1979-ben bevezetett perifériavezérlők
 Intel MCS-48 
 Intel MCS-51 és klónjai
 Intel MCS-96
 Intel MCS-296
 Parallax SX
 Parallax P8x32 alias Propeller
 Parallax Propeller 2

Jegyzetek

Források

További információk

Kapcsolódó szócikkek 
Az Atmel ARM-alapú processzorai

Digitális elektronika
Informatika
Mikrovezérlők