„Mikrovezérlő” változatai közötti eltérés

[ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
a +kat
Nincs szerkesztési összefoglaló
1. sor:
[[Fájl:ATtiny2313.png|bélyegkép|jobbra|200px|[[Atmel]] gyártmányú [[ATTiny2313]] típusú 8-bites mikrokontroller, [[DIP]]-20 [[tok (elektronika)|tokozásban]]]]
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.
 
=== Mikrokontroller = mikroprocesszor + perifériák ===
Költséghatékonyan képes ellátni egyszerű, kis számítási teljesítményt és [[operatív tár]]at 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 [[integrált áramkör|IC]] lábainak multiplex felhasználásával és beépített perifériákkal érik el.
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 =
Programozásuk a *PROM-okhoz ([[PROM]], [[EPROM]], [[EEPROM]]) hasonló módon, a logikai magas szintnél nagyobb [[égetőfeszültség]] alkalmazásával történik. A régi típusok egyszer voltak programozhatóak, de az új eszközök gyakorlatilag mindegyike [[Flash-ROM]] alapú [[programtár]]at tartalmaz, így akár egymillió beírás/törlés ciklust is elviselnek.
Költséghatékonyan képes ellátni egyszerű, kis számítási teljesítményt és [[operatív tár]]at 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 [[integrált áramkör|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.
 
ProgramozásukA működtető program betöltése a mikrokontrollerbe vagy a *PROM-okhoz ([[PROM]], [[EPROM]], [[EEPROM]]) hasonlóhasonlóan módonkülön programozó készülékben, vagy ISP (In System Programming) módon a logikaivégleges magasáramkörbe szintnélbeépített nagyobbállapotban, [[égetőfeszültség]]illetve nagy szériánál a mikrokontroller előállításával egyidőben maszk alkalmazásávalprogramozá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ár]]at tartalmaz, így akár egymilliósokezer beírás/törlés ciklust is elviselnek.
A programozásuk a [[mikroprocesszor]]hoz hasonlóan gépi kódú ([[assembler]]) utasításokkal, vagy a nagyobb mikrokontrollerek esetében magas szintű pl. [[C programnyelv]]en történik.
 
== Részegységei ([[periféria|perifériái]]) ==
A mikrokontroller az ellátandó feladatától függenfü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]]: [[órajel]]et 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ó
* [[oszcillátor]]:
* [[Memória (számítástechnika)|operatív tár]] a vezérlőprogram futtatásáratárolására [[ROM]] és futás közbeni adatok tárolására [[RAM]]
** [[órajel]]et 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ó
** használhatókszámlálók/időzítők: ezeket külső és belső jelek segítségével lehet léptetni. Használhatók egyszerű [[impulzus]]számlálási feladatokra és [[frekvencia]]mérésre is
* [[Memória (számítástechnika)|operatív tár]] a vezérlőprogram futtatására
* [[watchdog]] időzítő: biztonsági eszköz a működtető program "lefagyása" ellen. Egy időzítő, melyet a [[szoftver]]nek 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.
* számlálók/időzítők
** [[EEPROM]] [[memóriaegység|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.
** ezeket külső és belső jelek segítségével lehet léptetni
* [[Digital Signal Processor|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
** használhatók egyszerű [[impulzus]]számlálási feladatokra és [[frekvencia]]mérésre is
* [[watchdog]] időzítő
** olyan számláló, melyeket a [[szoftver]] periodikusan nulláz, a [[hardver]] pedig folyamatosan lépteti; ha elér egy bizonyos értéket, hardveresen [[reset]]-eli az eszközt, ezzel újraindítja a programot (mert feltehetően a szoftver valamilyen hiba miatt nem fut)
* [[EEPROM]] [[memóriaegység|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
* 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 [[busz (informatika)|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,
** a különböző eszközök egymással történő kommunikációját valósítja meg.
** [[I2C]], [[UART]], [[1-Wire]], [[(Universal SerialAsynchron Bus|USB]]Receiver/Transmitter), külső [[RAM]] vezérlése stb.
** [[SPI]] (Serial Peripheral Interface) busz,
** [[CAN]] (Controller Area Network) busz,
** [[Ethernet]],
** [[1-Wire]],
** [[Universal Serial Bus|USB]],
** [[parallel port]] külső párhuzamos busz
 
* Meghajtó egységek:
** [[LCD]]-panel meghajtók
* [[Jelgenerátor]]ok:
** [[PWM]]: négyszögjel elállítása megfelelő kitöltéssel, általában teljesítmény-szabályozáshoz
** négyszög-, szinusz-, háromszögjelek előállítása
** debug interface: a mikrokontroller hibakereséséhez és programállapot-figyeléshez. A program online 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.
** [[PWM]]: négyszögjel elállítása megfelelő kitöltéssel
* debug interface:
** hibakeresés és programállapot-figyelés
** A program online 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 ==
49 ⟶ 57 sor:
* [[ATMEL]] [[ATmega]]
* [[ATMEL]] [[ATmega32]]
* [[Motorola 6811/Freescale]]
 
=== Mikrokontrollerként használt [[mikroprocesszor]]ok ===
 
Gyakran használnak régebbi [[mikroprocesszor]]-típusokat vezérlési feladatok elvégzésére olyan esetekben, amikor a hagyományos értelemben vett mikrokontrollerek nem elégségesek a feladat ellátására. Ma már ezek a típusok rendkívül olcsón hozzáférhetőek, miközben megőrizték a mikrokontrollerekkel szembeni klasszikus előnyeiket.
 
* [[Zilog]] [[Z80]]
** Perifériái ([[PIO]], [[DMA]] stb.)
 
* [[MOS 6502]]
** A [[Commodore]] [[floppy]]k processzora
* [[MOS 6510]]
** A 6502-vel kompatibilis, kibővítve egy kétirányú I/O porttal
** Ez a híres [[C64]] processzora
* Perifériáik
 
* [[Motorola 6800]] és perifériáik
* [[Motorola 6811]]
* [[Motolora 687xx]]
 
{{csonk-dátum|csonk-hardver|2004 decemberéből}}
 
[[Kategória:Digitális elektronika]]