Megbízható, alacsony fogyasztású peremhálózati IoT-eszközök tervezése Silicon Labs PG23 mikrovezérlőkkel
Contributed By DigiKey's North American Editors
2022-10-19
A fogyasztói és ipari tárgyak internetéhez (Internet of Things, IoT) kapcsolódó számos peremhálózati alkalmazási területen – a villanykapcsolóktól, mérőóra-leolvasóktól és intelligens záraktól kezdve a napelemes inverterekig és biztonsági panelekig – a tervezőkenk optimális egyensúlyt kell találniuk a kiváló működési teljesítmény és az alacsony energiafogyasztás között (különösen az akkumulátorral működő kialakításoknál), miközben biztosítaniuk kell a megvalósítás informatikai biztonságát is. Sok esetben az ilyen kialakítások egy mikrovezérlőre (MCU) épülnek, ezért a tervezőknek alaposan meg kell fontolniuk, hogy melyik használata mellett döntenek.
A biztonságos működés támogatása mellett a megfontolandó tényezők közé tartozik a processzormag teljesítménye, a hatékonyság, a perifériák és más I/O-k támogatása, az általános méretformátum és a külső ökoszisztémák támogatása. Míg egy mikrovezérlő az ereje és teljesítménye tekintetében megfelelhet a tervezési követelményeknek, az informatikai szempontból biztonságos kialakítások megvalósítása mindig egy tanulási görbével jár, ami késedelmet okozhat, vagy hiányosságokat a megbízhatóság megfelelő megvalósítása terén.
Ez a cikk az IoT-eszközökkel kapcsolatos biztonsági szempontokat tárgyalja röviden. Ezután bemutatja a Silicon Labs EFM32PG23 jelű mikrovezérlőjét, majd azt, hogyan lehet azt felhasználni megbízható IoT-eszközök kialakítására, különös figyelmet fordítva az alacsony energiafogyasztásra.
IoT-eszközökkel kapcsolatos biztonsági problémák
Az internetre csatlakoztatott eszközök elleni távoli támadások száma továbbra is folyamatosan növekszik. Előfordulhat, hogy a beágyazott rendszerek fejlesztői hajlamosak azt gondolni, hogy saját peremhálózati IoT-eszközüket nem szükséges biztosítani, mert „úgysincs benne semmi értékes”. Az igazság viszont az, hogy szinte minden eszköz tartalmaz valamit, ami egy hacker számára értékes lehet, például érzékelőadatokat, ügyféladatokat, az eszközön lévő tényleges firmware-t, vagy annak lehetőségét, hogy az adott eszközt használva fel kiskapuként hozzáférhet a csatlakoztatott hálózatokhoz. Az informatikai megbízhatóság egy olyan kritikus tulajdonság, amelyet minden peremhálózati IoT-eszközbe a kezdetektől fogva bele kell tervezni, és nem a tervezési ciklus végén kell azt rábiggyeszteni a rendszerre, mert ellenkező esetben az eszköz rendkívül sebezhető lesz a támadásokkal szemben.
Minden peremhálózati IoT-eszköznél számos biztonsági területet kell figyelembe venni: például az eszköz azonosítását, az eszközkonfigurációt és a szoftver-/firmware-frissítéseket. Az 1. ábrán a gyakori biztonsági tényezők listája látható, valamint az, hogy ezek a tényezők hogyan alakulnak át eszközbiztonsági követelményekké. Minden biztonsági követelményhez egy-egy olyan technológia párosul, amelyet gyakran használnak a követelmény teljesítésére és a potenciális támadások meghiúsítására.
|
1. ábra: Az IoT-rendszerek tervezőinek sokféle biztonsági tényezőt, követelményt és ezekhez kapcsolódó technológiát kell figyelembe venniük (kép: Silicon Labs)
A beágyazott peremhálózati IoT-alkalmazásokat fejlesztő csapatok oroszlánrészénél nagy probléma, hogy nem rendelkeznek házon belüli biztonsági szakértőkkel. Emiatt vagy belsőleg kell megismerkedniük a legjobb tudásuk szerint a biztonsággal és annak megvalósításával, vagy külső szolgáltatóhoz kell fordulniuk. Bárhogy is legyen, az anyagi és időbeli költségek rendkívüliek lehetnek.
Létezik viszont egy alternatíva: a fejlesztőcsapat kiválaszthat egy kész biztonsági megoldásokat kínáló, biztonságosra tervezett mikrovezérlőt, amely kisebb konfigurációs módosításokkal az adott alkalmazási célhoz igazítható.
A Silicon Labs PG23 sorozatú mikrovezérlők bemutatása
A Silicon Labs EFM32PG23 mikrovezérlő-sorozata több okból is jó választás lehet peremhálózati IoT-rendszerekhez. Először is, a PG23 mikrovezérlő a Silicon Labs saját Secure Vault IoT biztonsági megoldását tudja futtatni. A Secure Vault az IoT-eszközök biztonságát és időtállóságát (a jövőbeli követelményeknek való megfelelőségének biztosítását) szolgáló platform, amely a közelmúltban az első IoT-biztonsági megoldásként érte el a PSA Certified Level 3 státuszt. A PG23 mikrovezérlők Secure Vault funkciói közé tartozik a biztonságos eszközazonosítás, a biztonságos kulcskezelés és -tárolás, valamint a fejlett manipulációérzékelés.
A Secure Vault kihasználja a „fizikailag másolhatatlan funkció” (Physically Unclonable Function, PUF) néven ismert biztonsági módszer által generált egyedi digitális ujjlenyomat előnyeit. A PUF olyan AES szimmetrikus kulcs létrehozására használható, amely a rendszer kikapcsolásakor fizikailag eltűnik. Az AES szimmetrikus kulcs nem is létezik, amikor a chip ki van kapcsolva, így lehetetlenné teszi, hogy azt kinyerjék az eszközről. A PUF hatékony megoldást jelent a peremhálózati IoT-rendszerek számos kulcskezelési problémájára. Sőt, a PUF valójában skálázható, és képes annyi kulcsot támogatni, amennyi az adott alkalmazási célra szükséges. A Secure Vault tartalmaz egy manipulációérzékelő rendszert is, amely lehetővé teszi, hogy a kulcs ne legyen rekonstruálható, ha a készülék egy manipulációérzékelési eseményt követően kikapcsolódik. A legfontosabb biztonsági jellemzők a következőkben foglalhatók össze:
- Biztonsági hitelesítés
- Biztonságos kulcskezelés
- Biztonságos kulcstárolás
- Manipuláció elleni védelem
A PG23 mikrovezérlők azért is jól alkalmazhatók peremhálózati IoT-rendszerknél, mert alacsony fogyasztású alkalmazási célokra tervezték őket. Aktív állapotban a PG23 áramfelvétele 21 µA/MHz. Az áramfelvétel 1,03 µA 16 Kbájt RAM aktív memóriával EM2 üzemmódban, vagy 0,7 µA bekapcsolt valós idejű órával (RTC) EM4 üzemmódban. Ezen alacsony áramfogyasztási szinteknek köszönhetően a fejlesztők energiahatékony eszközöket tudnak tervezni, függetlenül attól, hogy azokat fali hálózati csatlakozóból vagy akkumulátorról táplálják.
Utolsóként a PG23 mikrovezérlő képességei említhetők. A PG23 egy max. 80 MHz-es órajelen működő Arm® Cortex®-M33 processzorral rendelkezik. A processzor az 1,71 és 3,8 V közötti üzemi feszültségtartományban működik egyetlen tápegységgel. Az érzékelőket tartalmazó rendszereken dolgozó fejlesztők örülhetnek egy alacsony energiaigényű érzékelő interfész (LESENSE) jelenlétének. A mikrovezérlő 5×5 mm-es 40 tűs vagy 6×6 mm-es 48 tűs QFN-tokozásban kapható. A PG23 blokkvázlata a 2. ábrán látható. A mikrovezérlőnek öt tápállapota van: EM0 futó üzemmód, EM1 alvó üzemmód, EM2 mély alvó üzemmód, EM3 leállítás, és végül EM4 kikapcsolás.
2. ábra: A PG23 mikrovezérlő széles választékot nyújt a perifériák, a memória és az energiatakarékos üzemmódokat illetően (kép: Silicon Labs)
Első lépések a PG23-PK2504A fejlesztői kártyával
A PG23-mal való ismerkedéshez legjobb a PG23-PK2504A fejlesztői kártyát használni. A kártyán egy EFM32PG23B310F512 processzor található, saját 512 kB flash és 64 kB RAM memóriával. A fejlesztői kártya számos beépített érzékelőt, interfészt és egy 4×10 szegmenses LCD-t tartalmaz (3. ábra).
3. ábra: A PG23-2504A fejlesztői kártya egy EFM32PG23 mikrovezérlőt, valamint egy 4×10 szegmenses LCD-t, hőmérséklet- és páratartalom-érzékelőket, feszültségreferenciát és bővítő interfészeket tartalmaz (kép: Silicon Labs)
A kártyával a kezükben a fejlesztők letölthetik és telepíthetik a Simplicity Studio-t (a Getting Started fül alatt). A Simplicity Studio egy olyan platform, ahol minden megtalálható, ami az EFM32 mikrovezérlők kiértékeléséhez, konfigurálásához és fejlesztéséhez kell. A szoftver tartalmazza a kezdést megkönnyítő anyagokat, a dokumentációt, a kompatibilis eszközöket és más további segítségforrásokat.
A Simplicity Studió megnyitása és egy fejlesztői kártya csatlakoztatása után a szoftver azonosítja a kártyát, majd példaprojekteket, dokumentációt és demókat kínál fel a fejlesztőnek (4. ábra), aki ezután kiválaszthatja a számára legmegfelelőbb utat, és elkezdhet kísérletezni a PG23-mal.
4. ábra: A Silicon Labs Simplicity Studio-ja felismeri a kártyát, és testreszabott ajánlásokat ad a kezdéshez, továbbá dokumentációt, példaprojekteket és más egyebeket kínál (kép: Silicon Labs)
A PG23-PK2504A fejlesztői kártya egyik kiemelendő funkciója az a kapcsoló, amelynek segítségével a fejlesztőlap áramellátásának módját lehet beállítani. Két lehetőség van: AEM vagy BAT (5. ábra). AEM üzemmódban egy áramérzékelő ellenállás van sorba kötve az LDO tápegységgel és a PG23-mal. Ennek az üzemmódnak az az előnye, hogy a fejlesztők mérni tudják a processzor áramfelvételét, ami segíthet az energiafogyasztás optimalizálásban. A rendszer optimalizálása után a fejlesztők BAT üzemmódra válthatnak, hogy a fejlesztői kártyát ezután egy gombelem táplálja.
5. ábra: A PG23-PK2504A AEM üzemmódban lehetőséget biztosít arra, hogy a kártya USB-C-n keresztül is táplálható legyen, ami lehetővé teszi a processzor áramfogyasztásának mérését. Alternatívaként a processzor egy CR2032 típusú gombelemmel is táplálható (kép: Silicon Labs)
Tippek és trükkök IoT-rendszerek energiafogyasztásának minimalizálásához
Az energiafogyasztás minimalizálása kritikus fontosságú minden peremhálózati IoT-rendszernél, függetlenül attól, hogy azok akkumulátorral tápláltak-e vagy sem. Ha a fejlesztők nem körültekintőek, a kialakítás energiafogyasztási optimalizálása időigényes lehet. Lentebb néhány olyan szempont található, amelyeket a fejlesztőknek érdemes szem előtt tartaniuk, mert segíthetnek az IoT-rendszerek alacsony energiafogyasztási célú gyors optimalizálásában:
- Használjon eseményvezérelt szoftverarchitektúrát. Ha a rendszer éppen nem végez eseményfeldolgozást, legyen alacsony energiafogyasztású állapotban.
- Térképezze fel a rendszer akkumulátor-fogyasztását több töltési/lemerülési cikluson keresztül. Jegyezze fel az áramfelvételt és az üzemi feszültséget, és ábrázolja azokat az idő függvényében.
- Használja ki az alacsony fogyasztású üzemmódokat az órajelek, a perifériák és a CPU automatikus letiltására.
- Egyszerű alkalmazási esetekben vizsgálja meg az Arm Cortex-M „sleep on exit” funkciójának használati lehetőségét, hogy minimalizálja a rendszer ébresztésekor fellépő nagyszámú megszakítási kérelmet.
- Valós idejű operációs rendszer (RTOS) használata esetén, használja ki annak „tickless” (ketyegés nélküli) üzemmódját annak megakadályozásához, hogy az RTOS véletlenül felébressze a rendszert.
- Iterációkban történő optimalizálás esetén kövesse nyomon az egyes változtatásokkal elért energiamegtakarítást. Egy bizonyos idő után a fejlesztők elérheznek egy olyan törésponthoz, amelyen túl az optimalizálásra fordított idő csupán alacsonyan térül meg az energiamegtakarítás szempontjából. Ez a jele annak, hogy itt az ideje abbahagyni az optimalizálást, és átlépni a következő szakaszba.
A fenti tanácsokat megfogadó fejlesztők sok időt megspórolhatnak, és sokkal kevesebb fejtörésben lesz részük a következő biztonságos, alacsony fogyasztású IoT-rendszerük megtervezésekor.
Összegzés
Egyre nagyobb igény van biztonságos, alacsony fogyasztású mikrovezérlőkre peremhálózati IoT-rendszerekben. A biztonságos működés támogatása mellett a fejlesztőknek oda kell figyelniük többek között a processzormag teljesítményére, a hatékonyságra, a perifériák és más I/O-k támogatására, az általános méretformátumra és a külső ökoszisztémák támogatására, hogy a kialakítás megfeleljen a peremhálózati működési igényeknek.
Amint bemutattuk, a Silicon Labs EFM32PG23 mikrovezérlője segíthet a fejlesztőknek megoldani számos olyan problémát, amelyek az alacsony energiafogyasztású és megbízható eszközök tervezésével kapcsolatosak. A hozzá tartozó fejlesztői kártya minden szükséges eszközt biztosít a kezdéshez, és néhány fontos tanács betartásával az alacsony energiafogyasztású kialakítások gyorsan megvalósíthatók.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

