mikrokontroller (MCU)

A mikrokontroller egy kompakt integrált áramkör, amelyet arra terveztek, hogy egy beágyazott rendszerben egy adott műveletet irányítson. Egy tipikus mikrokontroller egyetlen chipen tartalmaz processzort, memóriát és bemeneti/kimeneti (I/O) perifériákat.

A beágyazott vezérlőnek vagy mikrokontroller egységnek (MCU) is nevezett mikrokontrollerek többek között járművek, robotok, irodai gépek, orvosi eszközök, mobil rádió adó-vevő készülékek, automaták és háztartási gépek esetében is megtalálhatók. Lényegében egyszerű miniatűr személyi számítógépek (PC-k), amelyeket egy nagyobb komponens kis funkcióinak vezérlésére terveztek, összetett front-end operációs rendszer (OS) nélkül.

Hogyan működnek a mikrokontrollerek?

A mikrokontroller egy rendszerbe ágyazva egy eszköz egyes funkcióinak vezérlésére szolgál. Ezt úgy teszi, hogy az I/O perifériáktól kapott adatokat a központi processzor segítségével értelmezi. A mikrokontroller által kapott ideiglenes információkat az adatmemóriában tárolja, ahonnan a processzor hozzáfér, és a programmemóriában tárolt utasítások segítségével megfejti és alkalmazza a beérkező adatokat. Ezután az I/O perifériákat használja a kommunikációhoz és a megfelelő művelet végrehajtásához.

A mikrokontrollereket a rendszerek és eszközök széles skáláján használják. Az eszközök gyakran több mikrokontrollert használnak, amelyek az eszközön belül együttműködve látják el az adott feladatokat.

Egy autóban például számos mikrokontroller lehet, amelyek különböző egyedi rendszereket vezérelnek, például a blokkolásgátló rendszert, a kipörgésgátlót, az üzemanyag-befecskendezést vagy a felfüggesztésvezérlést. Az összes mikrokontroller kommunikál egymással, hogy tájékoztassa a megfelelő műveletekről. Egyesek kommunikálhatnak egy összetettebb központi számítógéppel az autón belül, mások pedig csak más mikrokontrollerekkel. Az I/O perifériák segítségével adatokat küldenek és fogadnak, és ezeket az adatokat feldolgozzák a kijelölt feladataik elvégzéséhez.

Melyek a mikrokontroller elemei?

A mikrokontroller központi elemei a következők:

  • A processzor (CPU) — A processzorra úgy lehet gondolni, mint az eszköz agyára. Feldolgozza és megválaszolja a különböző utasításokat, amelyek a mikrokontroller működését irányítják. Ez magában foglalja az alapvető aritmetikai, logikai és I/O műveletek elvégzését. Emellett adatátviteli műveleteket is végez, amelyek parancsokat közvetítenek a nagyobb beágyazott rendszer más összetevői felé.
  • Memória — A mikrokontroller memóriája az adatok tárolására szolgál, amelyeket a processzor kap, és amelyeket a programozott utasításokra való reagáláshoz használ. A mikrokontroller két fő memóriatípussal rendelkezik:
    1. Programmemória, amely hosszú távú információkat tárol a CPU által végrehajtott utasításokról. A programmemória nem illékony memória, ami azt jelenti, hogy az információkat hosszú távon, áramforrás nélkül tartja meg.
    2. Adatmemória, amely az utasítások végrehajtása közbeni ideiglenes adattároláshoz szükséges. Az adatmemória illékony, ami azt jelenti, hogy a benne tárolt adatok ideiglenesek, és csak akkor maradnak fenn, ha az eszköz áramforráshoz van csatlakoztatva.
  • I/O perifériák — A bemeneti és kimeneti eszközök jelentik a processzor interfészét a külvilággal. A bemeneti portok információkat fogadnak, és bináris adatok formájában elküldik a processzornak. A processzor fogadja ezeket az adatokat, és elküldi a szükséges utasításokat a kimeneti eszközöknek, amelyek a mikrokontrolleren kívüli feladatokat hajtanak végre.

Míg a processzor, a memória és az I/O perifériák a mikroprocesszor meghatározó elemei, vannak más elemek is, amelyek gyakran szerepelnek. Maga az I/O-perifériák kifejezés egyszerűen a memóriával és a processzorral összeköttetésben álló támogató komponensekre utal. Számos olyan támogató komponens létezik, amely a perifériák közé sorolható. Az I/O-perifériák valamilyen megnyilvánulása elemi fontosságú egy mikroprocesszor számára, mivel ezek jelentik azt a mechanizmust, amelyen keresztül a processzort alkalmazzák.

A mikrokontroller egyéb támogató elemei közé tartoznak:

  • Analog-digitális átalakító (ADC) — Az ADC egy olyan áramkör, amely az analóg jeleket digitális jelekké alakítja. Ez teszi lehetővé, hogy a mikrokontroller központjában lévő processzor külső analóg eszközökkel, például érzékelőkkel kapcsolódjon.
  • Digitális-analóg átalakító (DAC) — A DAC az ADC fordított funkcióját látja el, és lehetővé teszi, hogy a mikrokontroller központjában lévő processzor a kimenő jeleit külső analóg komponensekkel kommunikálja.
  • Rendszerbusz — A rendszerbusz a mikrokontroller összes komponensét összekötő összekötő vezeték.
  • Soros port — A soros port az I/O port egyik példája, amely lehetővé teszi a mikrokontroller számára a külső komponensekhez való csatlakozást. Hasonló funkcióval rendelkezik, mint az USB vagy a párhuzamos port, de a bitek cseréjének módjában különbözik.

Mikrokontroller jellemzői

A mikrokontroller processzora alkalmazásonként változik. A lehetőségek az egyszerű 4 bites, 8 bites vagy 16 bites processzoroktól a bonyolultabb 32 bites vagy 64 bites processzorokig terjednek. A mikrokontrollerek használhatnak illékony memóriatípusokat, például véletlen hozzáférésű memóriát (RAM) és nem illékony memóriatípusokat — ide tartozik a flashmemória, a törölhető programozható, csak olvasható memória (EPROM) és az elektromosan törölhető, programozható, csak olvasható memória (EEPROM).

A mikrokontrollereket általában úgy tervezték, hogy további számítástechnikai komponensek nélkül is könnyen használhatóak legyenek, mivel elegendő beépített memóriával rendelkeznek, valamint az általános I/O műveletekhez szükséges tűket kínálnak, így közvetlenül csatlakoztathatók érzékelőkhöz és más komponensekhez.

A mikrokontrollerek architektúrája alapulhat a Harvard-architektúrán vagy a von Neumann-architektúrán, mindkettő különböző módszereket kínál a processzor és a memória közötti adatcserére. A Harvard architektúránál az adatbusz és az utasítás külön van, ami lehetővé teszi az egyidejű átvitelt. A Von Neumann-architektúra esetében egy busz szolgál az adatok és az utasítások számára.

A mikrovezérlő processzorok alapulhatnak a komplex utasításkészlet-számításon (CISC) vagy a csökkentett utasításkészlet-számításon (RISC). A CISC általában körülbelül 80 utasítást tartalmaz, míg a RISC körülbelül 30-at, valamint több címzési módot, 12-24-et, szemben a RISC 3-5 utasításával. Míg a CISC könnyebben megvalósítható és hatékonyabb memóriahasználattal rendelkezik, az utasítások végrehajtásához szükséges magasabb órajelciklusszám miatt teljesítménycsökkenést okozhat. A RISC, amely nagyobb hangsúlyt fektet a szoftverre, gyakran jobb teljesítményt nyújt, mint a CISC processzorok, amelyek nagyobb hangsúlyt fektetnek a hardverre, az egyszerűsített utasításkészlet és ezáltal a tervezés nagyobb egyszerűsége miatt, de a szoftverre fektetett hangsúly miatt a szoftver összetettebb lehet. Az, hogy melyik ISC-t használják, az alkalmazástól függően változik.

Az első megjelenésükkor a mikrokontrollerek kizárólag assembly nyelvet használtak. Ma már a C programozási nyelv is népszerű. Más elterjedt mikroprocesszoros nyelvek közé tartozik a Python és a JavaScript.

A mikrokontrollerek bemeneti és kimeneti csapokkal rendelkeznek a perifériás funkciók megvalósításához. Ilyen funkciók például az analóg-digitális átalakítók, folyadékkristályos kijelző (LCD) vezérlők, valós idejű óra (RTC), univerzális szinkron/aszinkron vevőadó (USART), időzítők, univerzális aszinkron vevőadó (UART) és univerzális soros busz (USB) csatlakoztathatóság. A mikrokontrollerekhez gyakran csatlakoztatnak többek között a páratartalomra és a hőmérsékletre vonatkozó adatokat gyűjtő érzékelőket is.

A mikrokontrollerek típusai

Az általános MCU-k közé tartozik az Intel MCS-51, amelyet gyakran 8051-es mikrokontrollerként emlegetnek, és amelyet először 1985-ben fejlesztettek ki; az Atmel által 1996-ban kifejlesztett AVR mikrokontroller; a Microchip Technology programozható interfészvezérlője (PIC); és a különböző licencelt Advanced RISC Machines (ARM) mikrokontrollerek.

Mikrokontrollereket számos vállalat gyárt és forgalmaz, köztük az NXP Semiconductors, a Renesas Electronics, a Silicon Labs és a Texas Instruments.

Mikrokontroller-alkalmazások

A mikrokontrollereket számos iparágban és alkalmazásban használják, többek között az otthoni és vállalati, épületautomatizálási, gyártási, robotikai, autóipari, világítási, intelligens energetikai, ipari automatizálási, kommunikációs és IoT (Internet of Things) alkalmazásokban.

A mikrokontrollerek egyik nagyon speciális alkalmazása a digitális jelfeldolgozóként való használat. Gyakran előfordul, hogy a beérkező analóg jelek bizonyos szintű zajjal járnak. A zaj ebben az összefüggésben olyan kétértelmű értékeket jelent, amelyek nem fordíthatók le könnyen szabványos digitális értékekre. A mikrokontroller az ADC és a DAC segítségével a bejövő zajos analóg jelet egyenletes digitális jellé alakíthatja.

A legegyszerűbb mikrokontrollerek megkönnyítik a mindennapi használati tárgyakban, például sütőkben, hűtőszekrényekben, kenyérpirítókban, mobileszközökben, kulcstartókban, videojátékrendszerekben, televíziókban és fűnyírórendszerekben található elektromechanikus rendszerek működését. Gyakoriak az olyan irodai gépekben is, mint a fénymásolók, szkennerek, faxok és nyomtatók, valamint az intelligens mérőórák, ATM-ek és biztonsági rendszerek.

A bonyolultabb mikrokontrollerek kritikus funkciókat látnak el a repülőgépekben, űrhajókban, óceánjárókban, járművekben, orvosi és létfenntartó rendszerekben, valamint a robotokban. Az orvosi forgatókönyvekben a mikrokontrollerek szabályozhatják a mesterséges szív, a vese vagy más szervek működését. A protézisek működésében is fontos szerepet játszhatnak.

Mikrokontrollerek vs. mikroprocesszorok

A mikrokontrollerek és a mikroprocesszorok közötti különbségtétel egyre kevésbé egyértelmű, mivel a chipek sűrűsége és összetettsége viszonylag olcsón gyárthatóvá vált, és a mikrokontrollerek így több “általános számítógép” típusú funkciót integráltak. Összességében azonban elmondható, hogy a mikrokontrollerek önmagukban is hasznosan működnek, közvetlen kapcsolattal az érzékelőkhöz és működtetőkhöz, míg a mikroprocesszorokat úgy tervezték, hogy maximalizálják a számítási teljesítményt a chipen, belső buszkapcsolatokkal (és nem közvetlen I/O-val) a támogató hardverekhez, például a RAM-hoz és a soros portokhoz. Egyszerűen fogalmazva, a kávéfőzők mikrokontrollereket, az asztali számítógépek mikroprocesszorokat használnak.

A Microchip Technology ATtiny817 mikrokontroller.

A mikrokontrollerek olcsóbbak és kevesebb energiát fogyasztanak, mint a mikroprocesszorok. A mikroprocesszorok nem rendelkeznek beépített RAM-mal, csak olvasható memóriával (ROM) vagy más perifériákkal a chipen, hanem ezekhez csatlakoznak a csapjaikkal. A mikroprocesszor tekinthető a számítógépes rendszer szívének, míg a mikrokontroller a beágyazott rendszer szívének.

A megfelelő mikrokontroller kiválasztása

A projekthez szükséges mikrokontroller kiválasztásakor számos technológiai és üzleti szempontot kell szem előtt tartani.

A költségen túl fontos figyelembe venni a maximális sebességet, a RAM vagy ROM mennyiségét, az MCU-n található I/O-csapok számát vagy típusait, valamint az energiafogyasztást, a korlátozásokat és a fejlesztési támogatást. Feltétlenül tegyen fel olyan kérdéseket, mint: