bélyegkép|jobbra|200px|Atmel gyártmányú ATTiny2313 típusú 8 bites mikrokontroller, DIP-20 tokozásban

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. Sok hétköznapi használati eszköz tartalmaz mikrokontrollert 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 – elterjedtek beépített eszközként, pl. billentyűzetekben Intel MCS-48 Intel MCS-51, másként Intel 8051 és klónjai, az NXP Semiconductors, az Infineon és sok más vállalat is gyártja Intel MCS-96 Intel MCS-296 Infineon: 8 bites XC800, 16 bites XE166, 32 bites XMC4000 (ARM-alapú Cortex M4F), 32 bites TriCore és 32 bites Aurix Tricore mikrovezérlőkwww.infineon.com/mcu 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

Kategória:Digitális elektronika Kategória:Informatika Kategória:Mikrovezérlők