A megfelelő beágyazott kártya választása
A beágyazott rendszerek fejlesztői, akik a fejlesztésre és a gyártásra kész kártyákat szeretnének használni, számos lehetőség közül választhatnak. Ma már több olyan ajánlat létezik, amely csak az Arm architektúra köré épül. Az Arm által a processzorok szellemi tulajdonára vonatkozóan elfogadott nyílt licencelési politika lehetővé tette a mikrokontroller- és a többmagos rendszerchip- (SoC) kínálat robbanásszerű növekedését, ami számos alacsony költségű, nagy teljesítményű kártyaszintű ajánlat létrehozásához vezetett. A korábban több ezer euróba kerülő és egyedi megoldást igénylő számítási teljesítményt ma már 100 euró alatti, készre gyártott kártyák is kínálják, még kis mennyiségben is.
A szükségletekre összpontosítva
Amikor a beszerzési döntés meghozatalára kerül a sor, a kérdés az, hogyan lehet gyorsan a megfelelő ajánlatra összpontosítani a kínálatban, amely az Arm Cortex-M-en alapuló tervektől a többmagos Cortex-A processzorok fejlett feldolgozási teljesítményéig terjed, amelyekhez ma már gyakran mesterséges intelligencia és grafikus gyorsítók is társulnak.
Bizonyos esetekben egyértelmű különbségek lehetnek, ha a mérnök figyelembe veszi a szükséges teljesítményszintet. Ha az alkalmazások teljesítménye nem elsődleges szempont, az Arduino egylapos számítógépek jó és olcsó megoldást jelentenek a hardveres perifériák vezérlésére tervezett kódok számára. Más esetekben a Linux lehet követelmény a nagy kódbázisok kezelésére való képessége miatt. Ez viszont jellemzően az Arm Cortex-A processzorcsaládban található virtuális memóriakezelő egység használatát igényli.
A teljesítmény még a Cortex-A processzorokon alapuló kártyákon belül is széles skálán mozoghat. A Beaglebone Black például egyetlen Cortex-A8-as alkalmazásprocesszor-magra épül, amelyet több Cortex-M3-as mikrokontroller-egység kísér a valós idejű feldolgozáshoz. A Raspberry Pi 4 a későbbi Cortex-A72-t használja négymagos konfigurációban, amely nagyobb összesített teljesítményt nyújt. Azt azonban nehezebb megjósolni, hogy ez hogyan teljesíthet a Beaglebone AI-64 ellen, amely egy kétmagos Cortex-A72-t kombinál három Cortex-R5 maggal.
1. ábra Beaglebone AI-64
A megfelelő választás megtalálása
A választási lehetőségek egyértelműbbé válnak, ha figyelembe veszik a célalkalmazás I/O-válaszát és a szoftver átviteli igényeit. A Cortex-R5 processzorok például valós idejű vezérlésre optimalizáltak, ahol sok I/O-csatornát és megszakítást kell kezelni. A Cortex-A processzormagok inkább az alkalmazások kódteljesítményére, mint az I/O-ra összpontosítanak.
Bár a beágyazott kártyák gyakran kombinálják a Cortex-A-t Cortex-M vagy Cortex-R processzorokkal az I/O és a valós idejű vezérlőkörök kezelésére, mostanában más kooprocesszorok is elterjedtek, például a mesterséges intelligenciára (MI) összpontosító gyorsítók. Ez a váltás felismeri, hogy a beágyazott és edge-computing hardvereken képzett neurális hálózatok és más gépi tanulási modellek alkalmazására van szükség. A neurális hálózatokról kiderült, hogy kiválóan alkalmasak számos edge-computing-alkalmazásra, például objektumok követésére összetett környezetben és rendellenességek észlelésére.
Az ipar számára megfelelő kártya kiválasztása
Az anomáliaérzékelés egyik legfontosabb felhasználási területe a prediktív karbantartás, amely a rezgés, a hőkibocsátás és más jelek finom változásait használja fel annak megállapítására, hogy egy berendezés javításra vagy karbantartásra szorul-e, mielőtt teljesen meghibásodna. A mesterséges intelligenciát alkalmazó prediktív karbantartás költséget takaríthat meg és növelheti az ipari üzemek áteresztőképességét azáltal, hogy megszünteti a rutinszerű karbantartás szükségességét, amely rendszeres időközönként leállítja a berendezéseket vagy egész gyártósorokat, még akkor is, ha a javítás szükségtelen.
Bár egyes neurális hálózati modellek futtathatók olyan általános célú processzormagokon, mint a Cortex-A sorozat, a gyártók felismerték a további teljesítmény iránti igényt olyan ajánlatokkal, mint a Beaglebone AI-64, amely az általános célú CPU-k mellett C7x+ gyorsítót és fejlett vektoros lebegőpontos egységet is kínál. Ezek az egységek biztosítják azt a fajta numerikus feldolgozást, amely nemcsak a mesterségesintelligencia-modellek következtetéseinek elvégzéséhez szükséges, hanem az online képzési elem támogatásához is. Míg a következtetések levonásához jellemzően egész számok aritmetikáját használják, a neurális hálózatok képzése általában a lebegőpont által kínált további pontosságot igényli. Bár a nagy méretű képzés általában a felhőben történik, és az így kapott modellt letöltik a peremhálózati számítógépre, a helyi lebegőpontos képesség lehetővé teszi a modell finomhangolását a helyszínen, valamint fejlett adatmanipulációt biztosít a modell jobb forrásadatokkal való ellátása érdekében.
A mesterséges intelligencia nagyobb teljesítménye olyan kártyákkal érhető el, mint a Seeed Studio által készített J1010, amely az Nvidia Jetson technológiáján alapul, Arm Cortex-A57 hosztprocesszorral párosítva. A 128 általános célú grafikus processzor- (GPU) mag 500 GFLOPS teljesítményre képes. Az összetettebb modellekhez a J20 sorozatban egy Jetson Xavier modult alkalmaznak, amelynek csúcsteljesítménye 21 tera művelet/másodperc.
Összehasonlítás különböző ipari alkalmazásokhoz
Bár a célalkalmazás teljesítménye mindig kulcsfontosságú mérőszám lesz a kártyák kiválasztásakor, más szempontok gyakran elsődleges szerepet játszanak abban, hogy a jelöltek potenciálisan hosszú listája sokkal rövidebbé váljon. Az ipari vezérlésben az olyan szempontok, mint a termék életciklusának hossza, a környezeti veszélyekkel szembeni ellenállás és az I/O-hoz való hozzáférés fontos szerepet játszanak az alkalmazás támogatására alkalmas, készen kapható kártya kiválasztásában. A Raspberry Pi-t például elsősorban kompakt formára tervezték, és nem biztos, hogy optimális I/O portok elhelyezését biztosítja egy olyan eszköz számára, amelyet állványra vagy sínre szerelnek.
Más kártyákat, amelyeknél az I/O portok nagy része a kártya egyik oldalán van elhelyezve, könnyebb lesz a végleges burkolatba integrálni és kábelekkel összekötni. Továbbá az ipari alkalmazásokhoz tervezett kártyák gyakran kiterjedtebb támogatást nyújtanak az I/O bővítéshez. Mind a Beaglebone, mind az Arduino családok ma már támogatják a bővítések (Cape, Shield) széles skáláját, amelyek az I/O lehetőségek óriási választékát nyújthatják.
Az olyan alkalmazásokban, mint a gépfelügyelet az ipari ellenőrzés és az érzékelőfeldolgozás, a hőmérséklet-kompatibilitás és a rezgésállóság gyakran fontos szempont. Az asztali használatra tervezett csatlakozók könnyen elmozdulhatnak olyan környezetben, ahol a gépek erős mechanikai rezgésekre hajlamosak. Az irodai vagy otthoni használatra tervezett kártyák hajlamosabbak lehetnek a meghibásodásra olyan környezetben, ahol a hőmérséklet nagyobb szélsőségeket érhet el. Ennek egyik módja a speciális burkolatok használata, amelyek kábelkezelési megoldásokat és ventilátorok vagy hőcserélők segítségével történő hőszabályozást tartalmaznak.
2. ábra Arduino Portenta Machine Control
Kaphatók azonban olyan kész kártyák, amelyeket ipari felhasználásra terveztek. Ilyen például a Beaglebone Black Industrial, amely a Texas Instruments AM335x Cortex-A8 processzorára épül, hasonlóan a termékcsalád többi tagjához, de -40 °C és +85 °C közötti működési hőmérséklet-tartománnyal. Az Arduino által gyártott, Arm Cortex-M többmagos mikrokontrollerekre épülő Portenta kártyakészletet ugyanilyen kiterjesztett hőmérsékleti tartományban való működésre tervezték, ami ipari környezetben történő gépvezérlésre alkalmas. Az ipari vezérlésre való összpontosítás a fedélzeti I/O eszközökben is tükröződik, amelyek a Wifi, USB és Ethernet portok mellett az RS485 és CANbus terepbusz csatlakozási lehetőséget, valamint a hőmérséklet-érzékelőkhöz és a 4-20 mA I/O hurkokhoz tartozó analóg interfészeket is támogatják.
3. ábra Beaglebone Black
Kódolási támogatás beépítése
A fejlesztési támogatás szintén kulcsfontosságú szempont, sőt, ez lehet a legfontosabb. A projektidő csökkentését nagyban segíti a számos nyílt forráskódú eszközkészlet elérhetősége, amelyek ma már léteznek az olyan családok által támogatott Linux-környezetekhez, mint a Raspberry Pi és a Beaglebone-gyűjtemények. A múltban a beágyazott fejlesztőknek az alacsony szintű programozási nyelvek, például a C és a C++, valamint az assembly ismeretére volt szükségük az illesztőprogram szintjén, míg ma már sok mindent el lehet végezni értelmezett nyelveken, például a Pythonban.
A Linux azonban nem elengedhetetlen a könnyebb fejlesztési eszközökhöz való hozzáféréshez. Ahol a céltárgy energiafogyasztása és költsége fontos, és az alkalmazási igények viszonylag alacsonyak, ott a Linux-képes kártyák gyakran túl drágának és nehézkesnek bizonyulnak. Az olyan helyzetekben, mint például a több valós idejű érzékelő bemenetével rendelkező valós idejű vezérlés, az Arduino platform számos előnnyel rendelkezik, és nem kényszeríti a fejlesztőket a Python elhagyására. Az Arduino IDE teljes támogatást nyújt a Pythonhoz, és az ökoszisztéma az OpenMV szoftveren keresztül a képfeldolgozási funkciókat is támogatja. Ez segít a robotrendszerek és intelligens kamerák létrehozásában, minimális hardverlábnyom mellett.
Megalapozott döntések
Az Arduinótól a Jetsonig a beágyazott rendszerek fejlesztői a kártyaszintű ajánlatok széles skáláját integrálhatják rendszereikbe. Bár a választék kezdetben nyomasztónak tűnhet, a célalkalmazás pontos követelményei gyakran terelik a mérnököt a lehetőségek érvényes készlete felé. Az ilyen modulok nagy számához hozzáférő tapasztalt beszállítók, mint például a Farnell, segíthetnek a helyes végső döntés meghozatalában.
Szerző: Simon Wade – Termékszegmens-vezető, Single Board Computing, Farnell
Farnell element14
Ingyenesen hívható telefonszám: 06 80 016 413
Műszaki támogatás e-mailben:
http://hu.farnell.com
www.element14.com