- Energiatakarékossági technikák a mikrovezérlőkhöz
- 1. Alvó üzemmódok
- 2. A processzor frekvenciájának dinamikus módosítása
- 3. Megszakítja a kezelő firmware felépítését
- 4. Teljesítményre optimalizált firmware
- Következtetés
Ahogyan a gáz (benzin / dízel) fontos a kerékpárok, teherautók és személygépkocsik (igen, a Teslas kivételével!) Mozgásához, ugyanúgy az elektromos áram a legtöbb elektronikai alkalmazáshoz és még inkább, a beágyazott rendszer alapú alkalmazásokhoz, amelyek általában akkumulátorok (korlátozott energiájú), a szokásos mobiltelefonoktól kezdve az intelligens otthoni eszközökig.
Az akkumulátor korlátozott jellege magában foglalja annak szükségességét, hogy biztosítsák ezen eszközök energiafogyasztásának arányát, hogy ösztönözzék azok használatát és használatát. Különösen az IoT-alapú eszközöknél, ahol egy eszköz várhatóan akár 8-10 évig is eltarthat egyetlen töltéssel, akkumulátorcsere nélkül.
Ezek a tendenciák alacsony fogyasztási megfontolások megvalósítását tették lehetővé a beágyazott rendszerek tervezésében, és az évek során a tervezők, mérnökök és gyártók több ponton számos intelligens módszert fejlesztettek ki a termékek által fogyasztott energia hatékony kezelésére annak biztosítása érdekében, hogy azok hosszabb ideig működjenek. egyetlen töltés. Sok ilyen technika a mikrovezérlőre összpontosít, amely a legtöbb eszköz szíve. A mai cikkben néhány ilyen technikát fogunk megvizsgálni, és azt, hogy miként lehet minimalizálni a mikrovezérlők energiafogyasztását. Bár egy mikroprocesszor kevesebb energiát fogyaszt, de mindenhol használható a mikrokontrollerre, kövesse a linket, hogy megtudja, miben különbözik a mikroprocesszor a mikrovezérlőtől.
Energiatakarékossági technikák a mikrovezérlőkhöz
1. Alvó üzemmódok
Az alvó üzemmódok (általában alacsony fogyasztású üzemmódoknak nevezik) vitathatatlanul a legnépszerűbb technika a mikrovezérlők energiafogyasztásának csökkentésére. Általában bizonyos áramkörök vagy órák letiltásával járnak, amelyek a mikrokontrollerek bizonyos perifériáit hajtják.
Az architektúrától és a gyártótól függően a mikrovezérlők általában különböző típusú alvó üzemmódokkal rendelkeznek, és mindegyik üzemmód képes arra, hogy a többihez képest több belső áramkört vagy perifériát tiltson le. Az alvó üzemmódok általában a mély alvástól vagy a kikapcsolástól az alapjáratig és a szundikálásig terjednek.
Az elérhető módok közül néhányat az alábbiakban ismertetünk. Meg kell jegyezni, hogy ezen üzemmódok jellemzői és megnevezése gyártónként eltérő lehet.
én. Készenléti / alvó üzemmód
Ez általában a legegyszerűbb az alacsony fogyasztású üzemmódok közül, amelyeket a tervezők megvalósíthatnak. Ez az üzemmód lehetővé teszi, hogy a mikrovezérlő nagyon gyors ütemben térjen vissza teljes működéséhez. Ezért nem a legjobb üzemmód, ha a készülék áramellátása megköveteli, hogy nagyon gyakran hagyja el az alvó üzemmódot, mivel nagy mennyiségű áram merül fel, amikor a mikrovezérlő kilép az alvó üzemmódból. A készenléti állapotból való visszatérés az aktív módba általában megszakítás alapján történik. Ezt a módot a mikrovezérlőn úgy hajtják végre, hogy kikapcsolják a CPU áramkört vezérlő órafát, miközben az MCU elsődleges nagyfrekvenciás órája folyamatosan működik. Ezzel a CPU azonnal képes folytatni a műveleteket, amikor az ébresztésindító aktiválódik. Az óravezérlést széles körben alkalmazták a jelek kikapcsolására alacsony fogyasztású üzemmódokban a mikrovezérlők számára, és ez az üzemmód hatékonyan kapja az órajeleket a CPU-n keresztül.
ii. Készenléti mód
A készenléti mód egy másik alacsony fogyasztású üzemmód, amelyet a tervezők könnyen megvalósíthatnak. Nagyon hasonlít az alapjárat / alvó üzemmódhoz, mivel magában foglalja az órazár használatát a CPU-n, de az egyik fő különbség az, hogy lehetővé teszi a ram tartalmának megváltoztatását, ami általában nem az alapjárat / alvó üzemmód esetében. Készenléti állapotban az olyan nagysebességű perifériák, mint a DMA (közvetlen memória-hozzáférés), a soros portok, az ADC és az AES perifériák folyamatosan futnak, biztosítva, hogy a CPU ébrenléte után azonnal rendelkezésre álljanak. Bizonyos MCU-k esetében a RAM szintén aktív marad, és a DMA hozzájuk férhet, lehetővé téve az adatok CPU-beavatkozás nélküli tárolását és fogadását. Az ebben a módban felvett teljesítmény alacsony energiaigényű mikrokontrollereknél akár 50uA / MHZ is lehet.
iii. Mély alvó üzemmód
A mély alvás üzemmód általában magában foglalja a nagyfrekvenciás órák és más áramkörök letiltását a mikrovezérlőn belül, csak a kritikus elemek, például a watchdog időzítő, a barnulás kimutatás és az áramellátás visszaállítása áramkörök meghajtására használt óraáramkör marad. Más MCU-k további elemeket adhatnak hozzá az általános hatékonyság javítása érdekében. Az energiafogyasztás ebben az üzemmódban akár 1uA is lehet, az adott MCU-tól függően.
iv. Stop / OFF mód
Bizonyos mikrovezérlők ennek a kiegészítő módnak különböző variációi vannak. Ebben az üzemmódban a magas és az alacsony oszcillátor is általában le van tiltva, csak néhány konfigurációs regiszter és egyéb kritikus elem van bekapcsolva.
A fent említett összes alvási mód jellemzői MCU-nként eltérnek, de az általános ökölszabály; minél mélyebb az alvás, annál több az alvás közben letiltott perifériák száma, és annál alacsonyabb az elfogyasztott energia mennyisége, bár ez általában azt is jelenti; annál nagyobb energiafogyasztás szükséges a rendszer újbóli felállításához. Így a tervező feladata, hogy mérlegelje ezt a variációt, és a rendszer specifikációját befolyásoló kompromisszumok nélkül válasszon a feladathoz megfelelő MCU-t.
2. A processzor frekvenciájának dinamikus módosítása
Ez egy másik széles körben elterjedt technika a mikrokontroller által fogyasztott energia mennyiségének hatékony csökkentésére. Messze a legrégebbi technika és egy kicsit bonyolultabb, mint az alvási módok. Magában foglalja a firmware-t, amely dinamikusan vezeti a processzor óráját, váltakozva a magas és az alacsony frekvencia között, mivel a processzor frekvenciája és az elfogyasztott energia mennyisége közötti kapcsolat lineáris (amint az alább látható).
Ennek a technikának a megvalósítása általában ezt a mintát követi; amikor a rendszer készenléti állapotban van, a firmware alacsony sebességre állítja az órajel frekvenciáját, lehetővé téve ezzel az eszköz számára, hogy energiát takarítson meg, és amikor a rendszernek nagy számításokat kell végeznie, az órajelet újra fel kell emelni.
Vannak kontraproduktív forgatókönyvek a processzor frekvenciájának módosítására, amely általában rosszul fejlett firmware következménye. Ilyen esetek akkor fordulnak elő, amikor az órajel frekvenciáját alacsony szinten tartják, miközben a rendszer nehéz számításokat végez. Az alacsony frekvencia ebben a forgatókönyvben azt jelenti, hogy a rendszer több időt vesz igénybe, mint amennyi a beállított feladat elvégzéséhez szükséges, és így halmozottan ugyanannyi energiát fogyaszt, amelyet a tervezők megpróbáltak megtakarítani. Ezért különös gonddal kell eljárni, amikor ezt a technikát időkritikus alkalmazásokban alkalmazzák.
3. Megszakítja a kezelő firmware felépítését
Ez a mikrokontrollerek energiagazdálkodásának egyik legszélsőségesebb technikája. Kevés olyan mikrovezérlő teszi lehetővé, mint például az ARM cortex-M magok, amelyek alvás-kilépés bitet tartalmaznak az SCR regiszterben. Ez a bit biztosítja a mikrovezérlő számára az alvás képességét egy megszakítási rutin futtatása után. Míg az ilyen módon zökkenőmentesen futó alkalmazások száma korlátozott, ez nagyon hasznos technika lehet a terepi érzékelők és más, hosszú távú, adatgyűjtésen alapuló alkalmazások számára.
Saját véleményem szerint a legtöbb egyéb technika a fent említettek variációja. Például a szelektív perifériás órajelezési technika lényegében az alvási módok egyik változata, amelyben a tervező kiválasztja a be- vagy kikapcsolandó perifériákat. Ez a technika a megcélzott mikrovezérlő mély ismeretét igényli, és nem biztos, hogy kezdőbarát.
4. Teljesítményre optimalizált firmware
Az egyik legjobb módszer a mikrokontroller által fogyasztott energiamennyiség csökkentésére az, ha hatékony és jól optimalizált firmware-t ír. Ez közvetlenül befolyásolja a CPU által időnként elvégzett munka mennyiségét, és ez kiterjesztve hozzájárul a mikrovezérlő által fogyasztott energia mennyiségéhez. A firmware írásakor törekedni kell a csökkentett kódméret és ciklusok biztosítására, mivel minden felesleges utasítás végrehajtja az akkumulátorban tárolt energia egy részét. Az alábbiakban néhány általános C alapú tipp található az optimalizált firmware-fejlesztéshez;
- Használja a „Static Const” osztályt, amennyire csak lehetséges, hogy megakadályozza az energiát fogyasztó tömbök, struktúrák stb. Futásidejű másolását.
- Használja a mutatókat. Valószínűleg a C nyelv legnehezebben érthető része a kezdők számára, de a struktúrákhoz és szakszervezetekhez való hatékony hozzáféréshez a legjobbak.
- Kerülje a Modulót!
- Helyi változók a globális változókhoz képest, ahol lehetséges. A helyi változókat a CPU tartalmazza, míg a globális változókat a RAM tárolja, a CPU gyorsabban hozzáfér a helyi változókhoz.
- Az aláíratlan adattípusok a legjobb barátok, ahol lehetséges.
- Ha lehetséges, fogadja el a hurkok „visszaszámlálását”.
- Az előjel nélküli egész számok bitmezői helyett használjon bitmaszkokat.
A mikrokontroller által fogyasztott energia mennyiségének csökkentésére irányuló megközelítések nem korlátozódnak a fent említett szoftver alapú megközelítésekre, léteznek olyan hardver alapú megközelítések, mint a magfeszültség-szabályozási technika, de hogy a bejegyzés hosszát ésszerű tartományon belül tartsuk, meg fogunk még egy napig.
Következtetés
Az alacsony fogyasztású termék bevezetése a mikrovezérlő választásából indul ki, és meglehetősen zavaró lehet, amikor megpróbálja áttekinteni a piacon elérhető különféle lehetőségeket. A lapolvasás során az adatlap jól működhet az MCU-k általános teljesítményének megszerzésében, de az energiakritikus alkalmazások esetében ez nagyon költséges megközelítés lehet. A mikrovezérlő valódi teljesítményjellemzőinek megértéséhez a fejlesztőknek figyelembe kell venniük a mikrovezérlő rendelkezésére álló elektromos specifikációkat és az alacsony fogyasztású funkciókat. A tervezőknek nem csak az MCU adatlapján meghirdetett egyes energiafogyasztási módok áramfogyasztása miatt kell aggódniuk, hanem az ébredési időt, az ébresztési forrásokat és a perifériákat is. amelyek alacsony fogyasztású üzemmódokban használhatók.
Fontos ellenőrizni a használni kívánt mikrovezérlő jellemzőit, hogy megtudja, milyen lehetőségek állnak rendelkezésre az alacsony fogyasztású megvalósításhoz. A mikrovezérlők a technológia fejlődésének egyik legnagyobb haszonélvezői voltak, és jelenleg számos rendkívül alacsony fogyasztású mikrovezérlő gondoskodik arról, hogy rendelkezzenek erőforrásokkal, amelyek segítenek benneteket az energiaköltségkereten belül maradni. Számos közülük számos energiaelemző szoftver eszközt is kínál, amelyeket kihasználhat a hatékony tervezés érdekében. Személyes kedvenc a MSP430 mikrokontrollerek sora a Texas Instrument-től.