Skip to main content

Válasszunk megfelelő, kis fogyasztású mikrovezérlőt a dolgok internetéhez

Megjelent: 2018. február 06.

Figure 2 Digi KeyAz elemről vagy akkumulátorról táplált, internetre kapcsolt berendezések nagyon kis fogyasztásúak, hogy minél nagyobb legyen a két akkumulátor- vagy elemcsere közötti idő, vagy akár környezeti energiaforrásokról is üzemelhessenek. Míg a beágyazott rendszerek számos fejlesztője kiválóan ért a kódoptimalizáláshoz, a dolgok internetéhez (IoT) kapcsolódó berendezések energiatakarékossága átfogóbb megközelítést kíván.

 

Ha a mikrovezérlőt számítógépnek tekintjük, a memória mérete, a mikrovezérlő (MCU, mikrokontroller) számítási teljesítménye a típusválasztás támpontja. Ha azonban a beágyazott környezetre is tekintettel kell lennünk, figyelembe kell vennünk a fogyasztást, az elektromágneses zavarkibocsátást és -érzékenységet, az analóg áramköröket, a teljesítményátalakítókat és az érzékelőket is. Bár ezek mind hozzájárulnak a rendszer energiaprofiljához, az egyik legjelentősebb szereplő, amelynek helyes megválasztásával a fejlesztő befolyásolhatja a fogyasztást, a mikrovezérlő.
Ez a cikk azt ismerteti, miként érdemes kis fogyasztású mikrovezérlőt választani a dolgok internetéhez, és miket érdemes figyelembe venni a kártyán lévő perifériák esetében. Azt is bemutatja, hogyan kell használni a teljesítményfigyelő eszközöket, és tanácsokat is ad az optimális fogyasztás és teljesítmény eléréséhez.

 

Kis fogyasztású mikrovezérlős rendszer választása

A kis fogyasztású mikrovezérlő kiválasztása a mikrovezérlő processzormagjának kiválasztásával kezdődik. Az iparágban jelenleg elérhető szabványos mikrovezérlő-processzormagok között jó kiindulópontot jelentenek az ARM® Cortex®-M mikrovezérlők. Ezeket a mikrovezérlő-processzormagokat az iparág számos gyártója támogatja, így a támogatás és az erőforrások hatalmas ökoszisztémája áll hozzájuk rendelkezésre.
A fogyasztás minimálisra csökkentése érdekében két tényezőt kell már az elején figyelembe venni: a teljesítményt és az energiatakarékosságot. Ezeket egy mikrovezérlő esetében nehéz lehet megállapítani, de van két teljesítmény-összehasonlítási módszer[1], amelyet a fejlesztők használhatnak: az EEMBC által fejlesztett CoreMark és az ULPMark.
A CoreMark a mikrovezérlő adatfeldolgozási teljesítményét méri, és minél nagyobb a kapott érték, annál nagyobb a feldolgozási teljesítmény. Például az STMicroelectronics STM32L053 processzor teljesítményét, amely az STM32L053 Nucleo Board eszközzel tesztelhető (1. ábra), 75,18, egy másik STMicroelectronics-termék, az STM32F417 MCU-ét 501,85 ponttal értékeli a CoreMark. Első látásra egy fejlesztő azt hihetné, hogy az STM32F417 a jobb választás, mert jóval nagyobb a teljesítménye. A döntés meghozatala előtt azonban több dolgot is érdemes átgondolni.

 

Figure 1 Digi Key

1. ábra Az STMicroelectronics STM32L053 Nucleo Board eszközének alapja egy ARM® Cortex®-M0+ mag, amelyet kis fogyasztású, korlátozott erőforrású alkalmazásokhoz terveztek (forrás: STMicroelectronics)

 

Először is a CoreMark csak azt tudatja a fejlesztővel, hányszor tudja a termék másodpercenként lefuttatni a mikrovezérlők feltételezett használatára jellemző utasításösszeállításból álló ciklusmagot. A különböző órajelen futó processzorok eredményértékei közt ezért hatalmas eltérések mutatkozhatnak. Az adatfeldolgozási teljesítmények összehasonlítására jobb alap a CoreMark/MHz értékek[2] összevetése. Ebben az esetben az STM32L053 processzor eredménye 2,35, míg az STM32F417 processzoré 2,98 (forrás: EEMBC). A két processzor hatékonysága eszerint tehát elég közel áll egymáshoz.
A második, amit a fejlesztőnek figyelembe kell vennie, a mag felépítése. Az STM32L053 az ARM Cortex-M0+ magon alapul, amelyet kis fogyasztásra optimalizáltak, és csak minimális számú hibajavító modult tartalmaz. Ezenkívül eltávolították belőle a nagy teljesítményű processzorokra jellemző, nem csak a számítási teljesítményt, de a fogyasztást is növelő speciális megoldásokat.
Ezzel szemben az STM32F417 alapja egy ARM Cortex-M4 mag, amelyet nagy teljesítményű processzorokba terveztek, névleges órafrekvenciája 168 MHz, szemben az STM32L053 32 MHz-ével. Az előbbi teljesítménynövekedésének nagy része tehát a csaknem ötszörös frekvenciájú órajelnek köszönhető.
A CoreMark/MHz-ben mért teljesítménynövekedés viszont csak 26%, ennyi javulást eredményeznek a nagyobb számítási teljesítményre optimalizált processzormagba épített – a fogyasztást is növelő – célhardverek.
Az ULPmark azt méri, mennyire hatékonyan képes a mikrovezérlő olyan műveleteket végrehajtani, mint a számítások és memóriaműveletek. A legutolsó verziók már a perifériák hatékonyságát is mérik, jó áttekintést nyújtva a fejlesztőnek arra vonatkozóan, mennyire hatékony a processzor általánosságban, a fogyasztás szemszögéből nézve.

 

A megfelelő periféria-összeállítás megtalálása

A mikrovezérlőmag csak az első szempont, amit a fejlesztőnek a kis fogyasztású mikrovezérlő választása során figyelembe kell vennie. A másik ilyen szempont a csipre integrált perifériakészlet. A perifériák nagyban befolyásolják, hogy mennyi energiát fogyaszt a CPU. A fejlesztők biztosak szeretnének lenni abban, hogy kis fogyasztású, egyúttal a lehető legnagyobb mértékben automatizált perifériákat tartalmazó alkatrészeket választanak.
Első lépésként a fejlesztőknek olyan eszközöket kell keresniük, amelyeknek egynél több közvetlen memória-hozzáférési (DMA) csatornájuk van. A DMA teszi lehetővé, hogy a fejlesztő a CPU használata nélkül mozgassa az adatokat a belső alkotóelemek között. Ez azt jelenti, hogy a CPU eközben végezhet valami mást, például futtathat alkalmazáskódot, vagy kikapcsolható, és mély alvásos állapotban energiát takarít meg. Eközben az adatok mozgatása a DMA-csatornákon keresztül történik a perifériák és a memória, valamint a memória különböző részei között.
Jó példa a kis fogyasztásúra tervezett alkatrészre a Texas Instruments MSP430FR5994 mikrovezérlője, amely az MSP430FR5994 Launchpad development kit nevű termékben található.
Az MSP430FR5994 olyan – hat külön csatornával rendelkező – beépített DMA-vezérlővel van ellátva, ahol a hat csatorna egyidejűleg használható a háttérben (2. ábra).

 

Figure 2 Digi Key

2. ábra A Texas Instruments MSP430FR5994 mikrovezérlő több kis fogyasztású perifériát tartalmaz, amilyen például a hatcsatornás DMA-vezérlő és a kis fogyasztású gyorsító- és jelfeldolgozó egység, és több kis fogyasztású üzemmódja van (forrás: Texas Instruments)

 

Fontos szempont a kis fogyasztású üzemmódok sokasága is.

A korszerű mikrovezérlőknek többféle kis fogyasztású üzemmódja van, amelyek különböző állapotokba állítják a CPU-t és a perifériákat, az egyszerű alvó állapottól egészen a mély alvásig, amikor a mikrovezérlő csaknem ki van kapcsolva. Ezekben a mély alvási állapotokban a teljes mikrovezérlő csak pár nA-t vesz fel.
A mikrovezérlő kis fogyasztású állapotait vizsgálva hasznos, ha megvizsgáljuk az eszközláncokat és az ökoszisztéma lehetőségeit is. A kis fogyasztású üzemmódok és az abból való ébresztési események kiválasztása és beállítása nagy kihívást jelenthet, és időigényes lehet. Az új mikrovezérlők, például a Renesas által gyártott Synergy mikrovezérlők olyan beállítószoftvert tartalmaznak a fejlesztési környezetükön belül, amely lehetővé teszi a fejlesztők számára ezen üzemmódok mindössze pár egyszerű kattintással történő beállítását. A kis fogyasztású alkalmazások fejlesztőinek érdemes utánanézni a 32 bites S124 MCU-knak, akár 64, akár 128 kB belső memóriájú változatban. Az ezen eszközökkel való fejlesztés gyors megkezdéséhez a Synergy DK-124 fejlesztőkártya segít hozzá.

 

Figure 3 Digi Key

3. ábra A Renesas Synergy DK-124 fejlesztőkártya egy kis fogyasztású analóg összehasonlító egységet (komparátor), valamint többféle alvó állapotot és kis fogyasztású üzemmódot tartalmaz (forrás: Renesas)

 

A mikrovezérlő fogyasztásának mérése és ellenőrzése

A kis fogyasztású mikrovezérlő kiválasztása csak az első lépés annak biztosításában, hogy a rendszer elérhesse a lehető legkisebb fogyasztását. A legkisebb fogyasztás tényleges elérése érdekében a fejlesztőknek a mikrovezérlő fogyasztását a szoftverfejlesztés teljes folyamata alatt figyelemmel kell kísérniük. Többféle módszer is van, amelyet a fejlesztők a mikrovezérlő fogyasztásának figyelésére használhatnak, így például az áramfelvételt mérő áramszondák használata és a fogyasztásérzékeny hibakereső megoldások.
Az áramszondák egy kis ellenállású, soros áramérzékelő ellenálláson eső feszültséget mérik, és ebből számítják ki a vizsgált áramkör áramfelvételét. Ez megfelelő megoldás, ha a teljes rendszer áramfelvételét szeretnénk megmérni, de ha a tényleges összefüggéseket szeretné megtalálni a mikrovezérlő tevékenysége és energiafogyasztása között, akkor fogyasztásérzékeny hibakereső megoldásra lesz szüksége. Ezek lehetővé teszik a fejlesztők számára annak meghatározását, hogy a kód mely részeinél lenne szükség nagyobb optimalizálásra vagy átdolgozásra.

 

Figure 4 Digi Key

4. ábra: Az IAR I-Jet szondához kapcsolva az I-Scope a rendszer feszültségének és áramfelvételének, valamint a mikrovezérlő áramfelvételének mérésére használható, amely értékeket aztán mind összefüggésbe hoznak a programszámláló (PC) adataival, hogy meg lehessen határozni, hogy a kód mely részeinek futásakor mérhető a legnagyobb áramfogyasztás (forrás: IAR Systems Software)


Többféle fogyasztásérzékeny hibakereső megoldás létezik a piacon, amelyek használhatók az ARM Cortex-M™ mikrovezérlőkkel, ilyen például az IAR Systems I-Scope nevű feszültségszondája az I-Jet hibakereső szondához (4. ábra). Az I-Scope szonda egy differenciálerősítőn alapuló belső feszültségfigyelőt tartalmaz. Ez a feszültségesést méri egy ellenálláson, amely sorba van kapcsolva a mikrovezérlő áramsínjével. Ez lehetővé teszi, hogy az I-Jet hibakereső szonda egyidejűleg mérje az áramfelvételt, miközben mintavételezi a mikrovezérlő CPU-jának magjában lévő programszámlálót (PC) (5. ábra). A programszámláló (PC) értékéből a szonda pontosan „tudja”, hol tart az alkalmazás kódjának futtatása. A programszámláló adatait az áramfelvétellel összefüggésbe hozva lehetővé válik az alkalmazás energiaprofiljának meghatározása, amit aztán a fejlesztők a kód optimalizálására és ellenőrzésére használhatnak.

 

Figure 5 Digi Key

5. ábra Az I-Scope (sárgával kiemelve) együttműködik az I-Jet hibakereső szondával, hogy a mért áramerősséget összefüggésbe hozza az adott pillanatban végrehajtott kóddal (forrás: IAR Systems Software)

 

 

Tanácsok kis fogyasztású eszközök tervezéséhez

A megfelelő mikrovezérlő és figyelő hardvereszköz megtalálásával eddig juthat el a fejlesztő a kis fogyasztású eszköz tervezésében. Ezen a ponton következik annak vizsgálata, hogyan lehet kihozni a legtöbbet az adott mikrovezérlőből a fogyasztás lehető legkisebbre csökkentéséhez. Ehhez néhány általános irányelvet lehet megfogalmazni. A fejlesztő

  • számolja ki az akkumulátor vagy elem élettartamát a minimális, maximális és átlagos fogyasztás becslésével,
  • használjon kis fogyasztású órajeladót minden belső órajel előállításához az ütemezők és valós idejű operációs rendszerek (RTOS) számára,
  • helyezze alvó állapotba a CPU-t, amikor csak lehet (nem feledkezve meg a valós idejű alkalmazások ébresztési és fogyasztáscsökkentési idejének figyelembe vételéről),
  • tegye a rendszert eseményvezéreltté. Használhat megszakításokat a rendszer felébresztésére, az adott funkció végrehajtására, majd utána azonnal alvó állapotba való visszatérésre,
  • építse be a DMA-vezérlőt és minden automatizált perifériát a szoftver architektúrájába úgy, hogy lehetővé váljon a „párhuzamos” adatfeldolgozás,
  • szabályozza a mikrovezérlő órajelének frekvenciáját szükség szerint, hogy további energiamegtakarítást érjen el,
  • figyelje a fogyasztás függését a szoftvertől, ne féljen kísérletezni a különféle architektúrákkal és összeállításokkal. Valószínűleg az első próbálkozás nem a lehető legkisebb fogyasztású összeállítást eredményezi. És ha teheti,
  • használja a megszakítás „kilépéskor alvó állapotra kapcsolás” funkcióját, amely alvó állapotba állítja a processzort a megszakítás végén, és jó pár tucat órajelet takarít meg minden esemény esetén.

 

Következtetés

A dolgok internetére (IoT) kapcsolt berendezéshez nem mindig egyszerű kis fogyasztású mikrovezérlőt választani. Mint láttuk, sok szempontot kell figyelembe venni, kezdve a mikrovezérlő architektúrájától a kártyán lévő perifériák képességéig.
Miután a fejlesztő kiválasztott egy kis fogyasztású mikrovezérlőt, még mindig nincs garancia arra, hogy eléri a lehető legkisebb fogyasztást. A következő lépés a szoftver architektúrájának gondos megtervezése és a szoftvertől függő teljesítményfelvétel figyelése a teljes fejlesztési folyamat során. Csak így lesz képes a fejlesztő teljes mértékben kihasználni a választott mikrovezérlő kis fogyasztást lehetővé tevő jellemzőit.

 

Szerző: Rich Miron – Digi-Key Electronics

 

Digi-Key Electronics

Angol / német nyelvű kapcsolat
Hermann W. Reiter
Sales Director, Digi-Key Electronics Germany
Tel.: +49 151 6286 5934
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.

www.digikey.hu

 

Még több Digi-Key Electronics

 

 


[1]Közkeletű nevén benchmark, a számítási teljesítmény és más minőségjellemző paraméterek megállapítására használható, széles körben elfogadott, ezért a különböző típusok teljesítmény-összehasonlítására alkalmas tesztprogram – A szerk. megj.

[2]Ez a paraméter arra utal, hogy mekkora lenne az összehasonlított MCU-processzormagok CoreMark-pontszáma, ha azokat 1 MHz-es órajellel működtetnénk – függetlenül attól, hogy az adott MCU-típus műszaki követelményei megengedik-e ezt az üzemmódot – A szerk. megj.