Vzrůstající míra používání integrovaných mikrokontrolérů v elektronických přístrojích, ve spojení s celosvětovou energetickou krizí, donutila výrobce elektroniky k tomu, aby přezkoumali funkce úspory energie těchto přístrojů, které byly doposud ignorovány.
Před delší dobou, v roce 1976, se dostal na trh nový počítač: Cray 1. Tehdy byl na základě enormního výkonu svého procesoru 160 MIPs při taktovací frekvenci 80 MHz označen titulem „Superpočítač“. Výkon procesoru však nebylo to jediné, v čem počítač Cray 1 zlomil všechny rekordy: disponoval spotřebou elektrické energie 115 kW a byl umístěn ve skříni, která měla velikost běžné telefonní budky. Aby se zabránilo roztavení přístroje v důsledku tepla, které vyvíjel, bylo do celkové konstrukce integrováno vysoce výkonné chladicí zařízení na bázi freonů. To nyní použijeme pro srovnání se současnou dostupnou technologií mikrokontroléru Parallax Propeller. Jedná se o zařízení se 32bitovou sběrnicí naproti 64 bitům počítače Cray, ale výkon je rovněž 160 MIPs při taktovací frekvenci 80 MHz. Podstatný rozdíl (kromě rozměrů) představuje však odběr elektrické energie, díky které je tohoto výkonu dosaženo. Mikrokontrolér Propeller disponuje spotřebou elektrické energie pouze 1 Watt a mnoho novějších zařízení dosahuje ještě značně lepších hodnot. Počítač na bázi 64bitového dvoujádrového procesoru Intel Atom, na kterém píši tento článek, spotřebovává tak málo energie, že zásuvková lišta s funkcí rozpoznání protékající elektrické energie, do které je počítač zapojen, ani nezaznamená, že je počítač zapnut.
Vývoj technologie VLSI (Very Large Scale Integration) vedl neodvratně k počítačům, které vykazují výrazně lepší poměr mezi pracovním výkonem a spotřebou elektrické energie. Dřívější technologie čipů NMOS byly nahrazeny technologií CMOS, což mělo za následek ještě nižší požadavky na spotřebu energie. Speciálním znakem technologie CMOS je, že významné množství elektrické energie je odebíráno pouze tehdy, pokud se změní stav logického zařízení. To znamená, že vyšší taktovací frekvence vede odpovídajícím způsobem k vyšší spotřebě elektrické energie pro mikrokontrolér. Samostatná jednotka MCU má tak dvojí přínos pro spotřebu energie: statický a dynamický.
Zařízení spotřebovává energii v důsledku ztrátového proudu, a to i tehdy, když je taktovací frekvence vypnuta. U novějších zařízení jsou jednotlivé elektrické obvody umístěny těsně k sobě, což snižuje izolační odpor a vede k poklesu napájecího napětí. Logika, která může pracovat při +1,8 V, je dnes relativně hodně rozšířená, existuje však i logika, která vyjde i s napájecími napětími pouze +0,9 V. Tak může např. mikročip nanoWatt XLP řady P mikrokontrolérů PIC pracovat v rozsahu napětí +2,5 až +5,5 V až do maximální taktovací frekvence 32 MHz. Pokud vám dostačuje 16 MHz, lze napájecí napětí snížit až na +1,8 V, pokud jsou i periferní zařízení schopná pracovat s tímto nízkým napětím. To vede jak ke snížení spotřeby elektrické energie v závislosti na napětí, tak i v závislosti na frekvenci. Skupina mikrokontrolérů EFM32 Gecko od společnosti Energy Micro představuje dobrý příklad. Tyto mikrokontroléry pracují v rozsahu napětí od +1,8 V do + 3,8 V s maximální taktovací frekvencí až 32 MHz.
Pokud nejsou k dispozici speciální režimy úspory energie, měli byste se vždy zaměřit na to, abyste vybrali co možná nejnižší taktovací frekvenci, se kterou lze uskutečnit požadovanou úlohu v daném čase. U tak jednoduchého zařízení, jako je televizní dálkové ovládání, se proto často používá frekvence krystalem řízeného oscilátoru 32 kHz.
U komplexních situací nejsou však takováto stálá nebo statická řešení příliš vhodná, protože se pracovní zatížení mění a vysokorychlostní provoz musí proto zůstat „pro všechny případy“ zachován. V takových situacích může být použita technologie známá jako DVS (Dynamic Voltage Scaling), u které software analyzuje spotřebu procesoru a v závislosti na tom mění taktovací frekvenci a také napájecí napětí. Výpočet úspor je však přitom komplexní, protože je třeba zohlednit mnoho různých faktorů, jako např. spotřebu proudu pamětmi.
Dřívější mikroprocesory nedisponovaly žádnými speciálními provozními režimy, zřejmě proto, že jejich pracovní výkon byl natolik nízký, že se případné „usnutí“ procesoru nejevilo jako příliš pravděpodobné. To se ale rychle změnilo zavedením přenosných digitálních zařízení napájených bateriemi. Požadavky na design mobilních telefonů posunuly od té doby energeticky úsporné jednotky MCU a technologii akumulátorů dopředu. Jednou z prvních jednotek MCU s režimem nečinnosti byl Intel 80C51. Nová zařízení dnes disponují celými nabídkami úsporných režimů, které ve většině případů vypínají určité funkce, pokud nejsou potřebné. Většina současných mikrokontrolérů se používá k řízení v „reálném čase“, kde po krátkých špičkách aktivity často následují delší neaktivní období. Televizní dálkové ovládání je extrémním případem, u kterého může být procesor vypnutý celou dobu, až do stisknutí tlačítka. Průměrná spotřeba elektrické energie je tedy často jen o málo vyšší, než je rychlost vybíjení baterie v klidovém stavu.
Systémy v reálném čase se v současnosti spoléhají stále méně na samostatný centrální procesor, ale častěji na centrální nadřazený kontrolér, který je zásobován částečně zpracovanými daty od „inteligentních“ senzorů.
Jednotka MCU, která je spojená se senzory, bude pravděpodobně v pevných časových intervalech načítat analogová měření, provádět určité operace digitálního zpracování signálu a výsledky poté předávat na sériovou sběrnici. V tomto případě je senzor jednotky MCU „vzbuzen“ časovačem pro každý interval měření. Nyní to však začíná být zajímavé: máte si vybrat jednoduchý 8bitový mikrokontrolér, nebo rychlý 32bitový mikrokontrolér, např. s jádrem Cortex M0? Na první pohled by měla být 8bitová jednotka MCU úspornější, protože je cenově výhodnější a po větší část disponibilního pracovního času je plně využívána. Při podrobnějším průzkumu se ale může ukázat, že 32bitové zařízení bude dosahovat nižší průměrnou spotřebu energie, protože úloha bude provedena rychleji a zařízení potom „usne“.
Ale i tato metoda musí být použita promyšleně, protože bude existovat optimální taktovací frekvence, která nemusí být nezbytně nejvyšší dostupnou frekvencí. Jinými slovy: nejrychlejší provádění úloh s nejvyšší taktovací frekvencí nepovede vždy k nejnižší průměrné spotřebě energie. Naštěstí lze nejvyšší podíl zlepšené rychlosti zpracování připsat na rozdíl od starých 8bitových zařízení výkonnější instrukční sadě, např. jednocyklovému 32bitovému násobení. Ale nezoufejte, pokud musíte inovovat starý design na bázi 8051, aniž byste obětovali kompatibilitu softwaru: na jádru 8051 byla provedena dramatická vylepšení vzhledem k efektivitě práce (méně taktovacích cyklů na instrukci) a celkové taktovací frekvenci. Tato produktová řada od společnosti Silicon Laboratories nabízí např. jednocyklové instrukce až do 100 MIPs.
Pokud jsou používány režimy spánku, je doba probuzení důležitým faktorem. Oscilátory mohou pro vygenerování stabilního výstupu potřebovat milisekundy a zbytek představuje nevyužitý čas a zbytečnou spotřebu energie. U krátkých zátěžových cyklů se jednotka MCU probudí teprve tehdy, když už přichází další instrukce na probuzení.
Mikročipové jednotky MCU nanoWatt™ nabízejí „režim dřímoty“, ve kterém je taktovací frekvence procesoru nižší než taktovací frekvence periferních zařízení. To je vhodné pro situace, při kterých musí periferní zařízení pracovat plnou rychlostí, zatímco procesor čeká na přerušení od periferie.
Nyní jste nastavili svůj systém kontrolérů na nízkou spotřebu energie, ale jak je to se samotným napájením? Zřejmě se rozhodnete pro lineární prvky série 78xx, ale přestože jsou tyto prvky stále populární, jsou v současnosti již považovány za zastaralé. Doporučujeme namísto nich zvolit nový typ LDO (Low Dropout), i když je o něco dražší.
Stabilizátor 7805 s výstupem +5 voltů má „dropout“ napětí 2 V, tudíž potřebuje vstupní napětí minimálně +7 V. To znamená, že při maximálním proudu 1 A dojde ke ztrátě minimálně 2 W ve formě tepla, takže chladič prakticky nelze nepoužít. U zařízení LDO je rozdíl napětí snížen na asi 300 mV. V tomto případě lze použít síťový transformátor s nižším napětím, což nadále snižuje spotřebu, nebo je možno použít pro ještě větší úsporu spínaný napájecí zdroj. Uvažte však, že jmenovitá hodnota napájecího proudu musí odpovídat špičkovým, a nikoliv průměrným hodnotám spotřeby energie. Nakonec použijte „pull up“ rezistory na všech nepoužívaných vstupech a výstupech. Šum na beznapěťovém vstupu může sepnout interní elektrické obvody, a i když budou výsledné signály blokovány, takže nedojde k žádným nevyžádaným operacím, i tak přispívají k celkovému dynamickému proudu. Některá zařízení používají interní „pull up“ rezistory, ale ve vztahu k jejich úspornosti jsou názory rozděleny, takže mnoho vývojářů zůstává u externích rezistorů.
Dr. Bill Marshall, RS Components
Náklady na energii jsou v současné době zcela na špici žebříčku priorit, a protože vývoj elektronických zařízení jde stále vpřed, musí vývojáři vycházet z toho, že spotřeba energie bude kriticky důležitým faktorem u jejich projektů. Naštěstí vedla poptávka po energeticky úsporných, bateriemi napájených zařízeních již před několika lety k vývoji energeticky úsporných čipů. A tyto nové technologie ve spojení s energeticky úsporným softwarem nyní přispějí i k tomu, aby se snížila spotřeba energie i u zařízení napájených ze sítě.
[1] Power Management and Dynamic Voltage Scaling: Myths and Facts. David Snowdon, Sergio Ruocco and Gernot Heiser
http://ertos.nicta.com.au/publications/papers/Snowdon_RH_05.pdf
[2] EFM32 Introduction WhitePaper
http://cdn.energymicro.com/dl/pdf/efm32_introduction_white_paper.pdf
[3] The New ARM Cortex-M0 Processor
http://ics.nxp.com/support/documents/microcontrollers/pdf/arm.cortex-m0.iq.pdf
[4] Practical Applications of Low-Power Design with nanoWatt XLP™
ww1.microchip.com/downloads/en/DeviceDoc/Future%20-XLP%20Article.pdf
[5] Silicon Labs Pipelined 8051, Microcontrollers
www.silabs.com/Marcom%20Documents/Resources/MCU_Catalog.pdf
[6] PIC Microcontroller Low Power Tips ‘n Tricks
ww1.microchip.com/downloads/en/DeviceDoc/01146B chapter%202.pdf