Správa energie v mikrokontroléroch optimálne využíva možnosti s nízkou spotrebou energie z MCU;
12. marca 2014, 8:29 | Bohatý Miron
V súčasnosti musia zabudované systémy pracovať čo najdlhšie s jediným nabitím batérie. Tu je dôležité optimálne využiť interné režimy nízkej spotreby mikrokontrolérov. Porovnanie možností nízkej spotreby MCU od spoločností Microchip, STMicroelectronics a Texas Instruments.
V prípade prenosných elektronických zariadení je ich životnosť na jedno nabitie takmer rovnako dôležitá ako skutočné funkcie, ktoré zariadenie poskytuje. Pretože keď je batéria prázdna, nezáleží na tom, aký skvelý výkon by zariadenie mohlo ponúknuť. Dobré riešenia tu ponúkajú moderné mikrokontroléry (MCU) s platformami, ktoré sú špeciálne navrhnuté pre prevádzku s nízkou spotrebou energie. Poskytujú tiež mnoho režimov úspory energie, ako napríklad režim spánku, hibernácia atď., A funkcií, ako sú vyhradené kolíky, ktoré po vypnutí napájania automaticky prepnú systém na záložnú batériu. A nakoniec, okrem opatrení na úsporu energie existuje aj umenie vývoja softvéru pomocou nástrojov, ako je »IAR Embedded Workbench«
ktoré môžu ukazovať spotrebu energie na vykonanie každého riadku kódu. Vďaka kontrole správania systému v reálnom čase môžu vývojári tieto informácie použiť na doladenie systému pre dosiahnutie maximálnej efektívnosti prevádzky, napríklad pri zmene frekvencie hodín alebo pri prepnutí systému do režimu s nízkou spotrebou energie.
Ak stále existujú pochybnosti o dôležitosti energetickej účinnosti v dnešných zabudovaných systémoch, stačí sa pozrieť na posledné štandardy DRAM publikované združením JEDEC: Nielen, že organizácia zverejnila novú verziu svojho štandardu pre prenosnú elektroniku s LPDDR3, najnovší všeobecný DRAM -Štandardná DDR4 obsahuje celý rad funkcií na zníženie spotreby energie, napríklad architektúru pseudootvorenia-odtoku. Bez ohľadu na to, či sa mikrokontrolér nachádza v smartfóne alebo v automobile - jedna vec je jasná: požiadavkám zákazníka dokáže vyhovieť, iba ak ponúka energeticky efektívnu prevádzku.
Aby sa optimalizovala spotreba energie, musia sa vývojári zamerať na dva hlavné ciele: čo najkratší čas v aktívnom režime a minimálna spotreba energie v neaktívnom režime. Nie je to tak dávno, čo mali mikrokontroléry iba jediný pohotovostný režim, dnes však moduly ponúkajú množstvo možností, ako sa vyhnúť aktívnemu režimu a povoliť ho iba v nevyhnutných prípadoch.
»PIC« šetria elektrinu

Obrázok 1: V režime Doze môže procesor procesora »PIC24F-J128GA310« (tu na zásuvnom module pre vývojovú dosku »Explorer 16«) bežať pomalšie ako periférie
Rodina mikrokontrolérov »PIC24FJ128GA310« od spoločnosti Microchip (Obrázok 1) napríklad celý rad možností správy napájania:
umožňuje prechodu modulu na záložnú batériu pre čo najnižšiu spotrebu energie pomocou RTCC (Real Time Calendar/Clock, hodiny v reálnom čase s kalendárom),
„Režim hlbokého spánku“ pre takmer úplne bezmocnú prevádzku s možnosťou prebudenia externým spúšťačom a extrémne nízkou spotrebou energie (pri 3,3 V typicky WDT: 270 nA, RTCC: 400 nA pri 32 kHz, hlboký spánok -Current: 40 nA),
Režim spánku a nečinnosti, ktoré
Periférne zariadenia a/alebo jadrá
Vypnite selektívne, aby ste výrazne znížili výkon a rýchlo sa zobudili,
Režim Doze, ktorý umožňuje CPU bežať na nižšej frekvencii hodín ako periférie,
alternatívne režimy hodín umožňujú okamžité zmeny nižšej frekvencie hodín pre selektívne zníženie výkonu.
Režimy spánku a nečinnosti umožňujú návrhárom vypnúť periférne zariadenia a/alebo jadro radiča, aby sa znížila spotreba energie pri zachovaní schopnosti rýchleho prebudenia. V režime „retenčného spánku“ sú kľúčové obvody napájané samostatným nízkonapäťovým regulátorom. Režim VBAT prepne systém na záložnú batériu, ak sa odstráni VDD, čím sa minimalizuje spotreba energie pomocou RTCC. Hlboký spánok bez RTCC ponúka takmer úplné vypnutie a súčasne prijíma softvérovú kontrolu, aby bolo možné modul reštartovať pomocou externých spúšťačov. Podľa spoločnosti pracuje regulátor v tomto režime iba na 40 nA (typicky 3,3 V), v porovnaní s 400 nA pri 32 kHz pre režim RTCC.
Úpravou frekvencie hodín môžete ušetriť veľa energie. Napríklad v režime polospánku môže používateľ znížiť výkon spustením CPU pri nižšej frekvencii hodín ako periférie. Mikrokontrolér navyše ponúka možnosť zníženia frekvencie hodín počas prevádzky a umožňuje tak jemné vyladenie zníženia výkonu.
Frugal »STM8« radiče
Obrázok 2: Rodina mikrokontrolérov »STM8L« poskytuje štyri režimy nízkej spotreby, aby používateľ mohol nájsť optimálnu rovnováhu medzi účinnosťou, výkonom a časom spustenia
Mikrokontrolér »STM8L152C6T6« od spoločnosti STMicroelectronics poskytuje štyri režimy nízkej spotreby (obrázok 2) k dispozícii, aby používateľ mohol nájsť optimálnu rovnováhu medzi efektívnosťou, výkonom a časom spustenia (obrázok 3).
Obrázok 3: Porovnanie režimov nízkej spotreby rodiny mikrokontrolérov »STM8L«
V režime čakania sú hodiny procesora zastavené, kým periférie pokračujú v práci. Čip môže opustiť tento stav čakania prostredníctvom interného alebo externého prerušenia, spúšťacej udalosti alebo resetu. V režime nízkej spotreby CPU vykonáva určité funkcie spolu s vybranými periférnymi jednotkami. Napríklad Flash a Data EEPROM je možné pozastaviť, keď systém vykonáva kód z RAM pri nízkej frekvencii. Užívateľ môže ovládať systém z/do režimu nízkej spotreby pomocou softvéru. Systém môže tiež opustiť režim resetom, nie však prerušením.
V mnohých zabudovaných systémoch mikrokontroléry mrhajú elektrinou, pretože na udalosť čakajú veľkú časť prevádzkového času. STM8L152C6T6 tu ponúka režim čakania s nízkou spotrebou energie (Low Power Wait), v ktorom sú zastavené hodiny procesora. Reset alebo interná alebo externá udalosť, vyvolaná napríklad časovačom alebo udalosťami I/O, vráti systém späť do režimu nízkej spotreby.
Režim aktívneho zastavenia (Active Halt) ide o krok ďalej a zastaví generátor hodín pre CPU a pre všetky periférne zariadenia - s výnimkou RTC. Externé prerušenia, prerušenia RTC alebo reset sú schopné systém znova prebudiť z režimu aktívneho zastavenia. Režim Halt (Halt) konečne zastaví hodiny pre všetky periférne zariadenia a CPU. Blok zostáva zapnutý, aby sa údaje udržali v pamäti RAM. Externé prerušenie alebo reset ovládač opäť prebudí. Vybrané periférne jednotky možno tiež prebudiť z režimu pozastavenia. Modul je možné navyše nakonfigurovať tak, aby pracoval bez internej referencie v režime čakania, čo šetrí ďalšiu energiu vypnutím interného referenčného napätia.
»MSP430« s FRAM
Obrázok 4: Niektoré deriváty nízkoenergetickej architektúry »MSP430« majú zvlášť energeticky úspornú FRAM pamäť
16-bitový mikrokontrolér „MSP430FR5739“ od spoločnosti Texas Instruments ponúka sedem režimov nízkej spotreby (Obrázok 4) pre vstavané systémy v prenosných aplikáciách. Na najvyššej úrovni režim nízkej spotreby 0 (LPM0) deaktivuje procesor a hlavné hodiny, pričom sa zachovajú všetky údaje. Hodiny periférnych jednotiek zostávajú aktívne a užívateľ si môže zvoliť stav hodín submastra. Na hornom konci úspory energie režim Low Power Mode 4.5 (LPM4.5) udržuje stav vstupno-výstupných podložiek, nie však údajov, a deaktivuje aj interný radič. Mikrokontrolér v rámci svojej energeticky úspornej konštrukcie tiež integruje feroelektrickú pamäť RAM (FRAM) pre energeticky nezávislú pamäť s nízkou spotrebou energie.
Ladenie napájaniaNezáleží na tom, koľko režimov úspory energie má mikrokontrolér, ak sa nepoužívajú rozumne a správne. Tu vstupujú do hry nástroje na ladenie energie, ako napríklad I-Jet od spoločnosti IAR Software Systems. Tento nástroj nepretržite zaznamenáva spotrebu energie počas prevádzky a softvér IAR Embedded Workbench koreluje tieto údaje o spotrebe energie s procesmi v systéme.
Obrázok 5: V okne časovej osi nástroj »I-Jet« koreluje spotrebu energie s volaním funkcií a ďalšími časťami programu
V perfektnom svete by si vývojár mohol spojiť nárast napájania priamo s riadkom kódu. Realita je však taká, že kapacity systému rozdeľujú spotrebu v čase, takže taký diskrétny prístup je nemožný. Najlepšou voľbou je preto spojiť spotrebu energie s hovormi funkcií (Obrázok 5). Potom môže používateľ kliknúť na špičku výkonu a vystopovať ju späť do kódu.
Pomocou tohto hlbokého pohľadu do systému môže vývojár identifikovať periférne jednotky, ktoré zbytočne spotrebúvajú energiu. Aby to napravil, môže byť schopný upraviť taktovacie frekvencie alebo uviesť systém do úsporného režimu, keď je nečinný, a znova sa zobudiť, keď dostane odpoveď. Týmto spôsobom môžu vývojári využiť možnosti správy napájania pre optimálnu prevádzku hardvéru.
O autorovi:
Rich Miron je členom tímu technického obsahu spoločnosti Digi-Key