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ő
[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-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)
[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.
Elterjedt típusok
[szerkesztés]- 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[1]
- 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
[szerkesztés]- ↑ Intel MCS-41 - Introduced 1979. CPUShack.Net, 2005 (angolul) – elterjedtek beépített eszközként, pl. billentyűzetekben