I.7. Mikrokontroller alapú méréstechnika
Az I.3. alfejezetben már említettük, hogy az analóg jelek mérésére és digitális feldolgozásukra széleskörűen használhatók a különböző mikrokontrollerek. A mikrokontrollerek, hasonlóan a mikroprocesszorokhoz egyetlen áramköri lapkán megvalósított számítógépek. A kérdés az, hogy miben térnek el a mikroprocesszortól és mire lehet őket használni? A 31. ábrán látható, hogy a mikrokontrollerek a központi számolóegységen (CPU) kívül tartalmaznak még:
- beépített memóriát (RAM, ROM, flash-memória),
- az egységeket összekapcsoló buszrendszert,
- időzítő egységeket,
- a külvilággal kapcsolatot tartó beviteli kiviteli (I/O) kapukat (port).
Az I/O portokon keresztül a mikrokontroller adatot küldhet a külvilágnak, másrészt fogadhat adatot. Ezek az adatok mind analóg, mind digitális természetűek lehetnek.
- Analóg digitális (AD) és digitális analóg (DA) konvertert. Ezek közül az AD konverter szolgál arra, hogy az I/O portokon bejövő analóg jelet digitalizálja. A DA konverter pedig a kimenő digitális jelet alakítja analóggá.
- Kommunikációs kapuk (portok) szolgálnak más mikrokontrollerekkel, illetve számítógépekkel történő kommunikációra. Felépítésüket tekintve ezek a kapuk soros (RS-232, Ethernet, USB, I2C, SPI), illetve párhuzamos adatátvitelt valósítanak meg. Soros adatátvitelnél egyszerre mindig csak egy bitet továbbítunk a vevőnek. Párhuzamos adatátvitel esetén egyszerre egy időben mindig bitcsoportot továbbítunk. Ehhez viszont annyi adatátviteli szálra van szükségünk, ahány bitet egyszerre továbbítani szeretnénk.
- ábra A mikrokontrollerek sematikus blokkvázlata.
Innen már látható, hogy a mikroprocesszorokkal szemben a mikrokontrollerek beépítve tartalmazzák a külvilággal való kommunikációhoz szükséges csatoló felületeket, AD/DA-átalakítókat. Azaz minden olyan eszközt, amely lehetővé teszi, hogy a valós világ analóg jeleit digitalizálni lehessen. Cserébe viszont a mikrokontroller CPU-része kisebb utasításkészlettel rendelkezik, mint a mikroprocesszor, hasonlóan a beépített memóriája is jóval kevesebb, és általában a működést biztosító órajel is kisebb. Ennek alapján a mikrokontroller önmagában nem alkalmas bonyolult, számításigényes DSP-feladatok ellátására. Ilyen jellegű feladatoknál az analóg világ jeleinek kezelésére mikrokontrollert tartalmazó mérődobozt és a már digitalizált jelek tárolását, megjelenítését, és feldolgozását végző számítógépet együttesen kell használni. A 32. ábrán egy mikrokontrollerrel és számítógéppel megvalósított mérő rendszer blokksémája látható.
- ábra Mikrokontrollerrel és számítógéppel megvalósított mérő rendszer blokksémája.
Az akár több csatornás analóg jel a mérőegységben csatornánként kondicionálásra kerül, majd az AD átalakító digitális jellé alakítja. Az A/D átalakítóból kijövő minden egyes digitális jel érték egy a mikrokontroller memóriájában lefoglalt pufferbe kerül. Innen a megfelelő digitális interfészen (USB, RS-232) keresztül az adattároló, jelfeldolgozó számítógépbe kerül. Egy ilyen rendszerben két egymástól teljesen elkülönülő szoftver dolgozik: a mérőegység beágyazott szoftvere, és a számítógépen futó magas szintű feladatokat ellátó jelfeldolgozó szoftver.
A mérőegység beágyazott szoftverének a kifejlesztése magas szintű elektronikai és hardver közeli programozási ismereteket igényel. A mikrokontroller szűkös memória kapacitása és a személyi számítógépeknél sokkal kisebb sebessége miatt ebbe az egységbe komolyabb számításokat igénylő algoritmusokat nem építenek bele. Legfontosabb feladata az analóg beviteli csatornákon érkező jelek digitalizálása és ezen a digitalizált jeleknek szabványos kommunikációs portokon történő továbbítása a feldolgozó számítógép felé. A beágyazott rendszerek programozásával kapcsolatban bővebben a [8] irodalomban olvashat.
A számítógépen futó jelfeldolgozó szoftver feladata az alapfeladatokon (jelek fogadása a mikrokontrolleres egységtől, jelek tárolása, grafikus megjelenítése) kívül azon algoritmusok végrehajtása, melyek a felhasználó számára értelmezhetővé teszik a jel által hordozott információt. Azaz a valós világ jeleinek mérése a mikrokontrolleres oldalon, míg tényleges jelfeldolgozás a számítógépes oldalon valósul meg.