Mikrokontroller

A Wikipédiából, a szabad enciklopédiából
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é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.

A mikrovezérlő[szerkesztés | forrásszöveg szerkesztése]

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á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 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 | forrásszöveg szerkesztése]

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:
  • 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,
    • parallel 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[szerkesztés | forrásszöveg szerkesztése]