Bateriově napájená elektronika je už mezi námi hodně dlouho. A od nástupu mobilních telefonů se počet zařízení „živených“ z nabíjecích zdrojů v průběhu posledních dvou desetiletí zvyšuje dokonce exponenciální měrou. V současné době se pak desetitisíce modelů telefonů, tabletů, přenosných počítačů a mnoha dalších důmyslných přístrojů spoléhají právě na lithiové články.
Spotřeba energie bude hrát u veškeré přenosné elektroniky velmi důležitou roli. Vývojáři hardwaru proto kladou stále větší důraz na řešení s minimálním vlastním odběrem. Zlepšují možnosti systému a ještě přitom snižují rozměry a rovněž i cenu. Podobnou cestou se ubírají též programátoři hledající a vyvíjející nové alternativy ke starším algoritmům, které si potřebu nízké spotřeby zase tolik „neuvědomovaly“. Mohou tak nyní činit na poli operačních systémů, tj. na základě šetrného plánování, a nově třeba ve spojitosti se strojovým učením. Příkonem zde rozumíme okamžitě spotřebovávanou energii. Jak vyplývá z rovnice č. 1, v elektronice vše vyjádříme součinem aktuálního napětí a proudu. Mírou pak bude jednotka Watt, zastupující Joule za sekundu.
Rovnice 1: Definice příkonu
P = U ∙ I [W = J/s]
Energii získáme vynásobením výkonu a času. Není to nic jiného než to, co obvody spotřebují, a baterie tudíž musí mít k dispozici. Řízení výkonu tedy obvykle znamená nakládání s aktuálními proudy a napětím s cílem vyhovět přenosové kapacitě a zatěžovacím podmínkám. Monitorování energií zase zajistí informace o energetické spotřebě a pomůže vývojářům s řízením baterií a také celkovým porovnáním. O aktivním řízení energie pak hovoříme v případě, že energie bude sledována softwarovou cestou navrženou speciálně tak, aby v závislosti na zatížení mohlo rovněž docházet k určitým akcím.
K aktivnímu řízení energie dochází buď automaticky, tj. na základě předem daného nastavení, nebo též manuálně – po spuštění programu. Smyslem je poskytnout uživateli určitá doporučení nebo i návrhy. Pokud například většina notebooků poběží na baterii a nebudou napájeny ze sítě, může automaticky dojít ke snížení procesorového výkonu a systém se přepne na integrovaný grafický procesor, který oproti samostatné grafice nabídne menší výkony, ale zároveň spotřebuje i méně energie. Aby bylo možné dosáhnout u baterie delší výdrže, některé z periférií mohou být vypnuty úplně, příp. může uživatel obdržet informaci, aby snížil jas na monitoru nebo u klávesnice zase omezil podsvícení. Většina chytrých telefonů pak z hlediska úspory a v součinnosti se softwarem pro aktivní řízení energie navrhuje určité kroky, klesne-li dostupná kapacita baterie pod určitou hladinu. Zahrnuje to např. vypnutí aktivního internetového připojení nebo snížení jasu.
Zmiňované příklady se však neomezují pouze na bateriově napájená zařízení. Servery kupříkladu pečlivě sledují výkonovou spotřebu a úrovně zatížení s cílem rozhodnout, zda některé služby pozastaví nebo vypnou. V případě virtuálních serverů, kde se mohou podmínky průběžně měnit v závislosti na celkovém aktuálním využití a také predikcích vycházejících ze statistiky, dokáže hypervizor zcela odstavit některé virtuální jednotky. Jindy se s aktivním řízením energie potkáme třeba při ladění. Energetické monitorování pak poskytuje hodnotnou informaci o tom, zda celé systémy, příp. i jejich části, nepřekračují stanovené hranice.
Jak jsme již uvedli, elektrický výkon stanovujeme vynásobením napětí a proudu. Změřit přesně výkon si proto žádá precizní měření jak v případě napětí, tak i proudů. Výkon, který stanovíme a shromažďujeme v čase, již představuje energii. Vzhledem k tomu, že výkonová spotřeba zpravidla kolísá, bude nutné měřit napětí a proud na základě zvolené šířky pásma. Typický příklad obvodu pro měření stejnosměrného napětí nyní zahrnuje jednoduchý napěťový dělič vyobrazený na obr. 1 vlevo, příp. s oddělením na zapojení vpravo. Zatímco s náležitou kalibrací mohou vysokou přesnost zajistit obě varianty, oddělený napěťový dělič bude sice dražší než jeho zjednodušená protistrana, nicméně sám většinou spotřebuje méně energie a využijeme jej zejména při měření velmi malých stejnosměrných signálů.
Obr. 1 Obvody s napěťovým děličem
Pravda, proudy (včetně těch stejnosměrných) dokážeme měřit i s využitím Hallova jevu, ale v článku se spíše zaměříme na zkoumání DC průtoků s bočníky (shunt rezistory), protože se nasazují častěji a budou rovněž levnější. Bočník je v zásadě malý odpor zapojený v sérii s obvodem. Protéká-li přes něj proud, vzniká na rezistoru malý úbytek napětí. Napěťový úbytek je úměrný proudu ve smyslu rovnice č. 2 a k jeho zesílení zpravidla poslouží operační zesilovač.
Rovnice 2: Úbytek napětí na bočníku
UDROP = RSHUNT ∙ I
Protože máme rezistor spolu s dalšími obvody zapojený do série, lze jej umístit dvěma způsoby. Na vyšší straně, kde jeden z vývodů bude spojený přímo s napájecím napětím (high-side), nebo také na nižší straně, kde se spojíme rovnou se zemí (low-side), přesně jak to zachycuje obr. 2. V obou případech vzniká na rezistoru malý úbytek napětí a celkové napětí přiváděné do obvodu se tak logicky snižuje. S konkrétní volbou však souvisí i některé možné důsledky:
Obr. 2 Zapojení sloužící k měření proudu
Zatímco napětí, proud a dokonce i samotný výkon dokážeme změřit s analogovými obvody docela snadno a také s nízkými náklady, v případě energie již bude zapojení složitější. Klasický způsob stanovení energie nicméně stále spočívá v měření napětí a proudu s využitím analogových obvodů a následném převodu signálů do číslicové podoby. Využíváme přitom A/D, jehož výstupní data směřují do mikrokontroléru. Mikrokontrolér je pak odpovědný za zpracování vzorků signálu (kumulovaného výkonu) v čase, což odpovídá měření energie. Typické zapojení pro energetická měření ilustruje obr. 3.
Obr. 3 Typické zapojení sloužící k měření energií (modře vyznačené součástky – analogový multiplexer a také A/D převodník mohou být buď externí, tak jako ve schématu, nebo již přímo tvoří součást mikrokontroléru)
S mikrokontrolérem zapojeným do měřicího obvodu se pojí jak výhody, tak i nevýhody. Na jedné straně může zajistit potřebnou flexibilitu, pokud jde o výpočetní algoritmy, sledování odlišných reakcí a také podrobnější podávání zpráv, třeba každou hodinu, denně apod.
Další přednost mikrokontroléru pak spočívá v tom, že může provádět mnohem víc než jen měřit energie. Dokáže totiž spouštět události a vyřešíme s ním nejen speciální stavové automaty, ale prakticky vše, co jako vývojáři potřebujeme k dosažení výsledku. Pokud již systém s mikrokontrolérem počítá, netřeba řešit rostoucí náklady ani delší BOM. Co ale nevýhody? Monitorování energie za přispění mikrokontroléru si žádá vyšší celkovou spotřebu měřicího systému, nezbytný vývoj kódu (a všechno, co s tím souvisí) a v závislosti na požadované přesnosti někdy i vnější A/D převodníky.
V průběhu let požadavky na stejnosměrné monitorování energie dále rostly, a proto se v této souvislosti objevilo i několik integrovaných obvodů.
Jedním z nich je např. IO PAC1934 od Microchipu. Taková struktura dokáže jednoduše vzorkovat až čtyři kanály najednou a jedinou vnější součástkou se proto stává bočník. Základní vnitřní zapojení sledujeme na obr. 4. Nechybí zde operační zesilovače, A/D převodníky, logické obvody pro aritmetické výpočty, paměť a také standardní rozhraní – to aby šlo strukturu dále připojit do systému, obvykle přes I²C či SPI. Výhoda, kterou nasazení integrovaného obvodu v porovnání s tradičním řešením přináší, spočívá již na první pohled v ceně, protože se nám výrazně zmenšila rozpiska součástek. Nesmíme však zapomínat ani na zastavěnou plochu na DPS, vždyť vše potřebné k měření energie již máme integrováno v jediném obvodu.
Obr. 4 Blokový diagram obvodu PAC1934 od společnosti Microchip. Souběžně dokáže měřit se čtyřmi kanály
Díky flexibilnímu uspořádání, které vyhoví ve většině případů, může speciální integrovaný obvod akumulovat údaje o výkonu po velmi dlouhou dobu a s velmi malou vlastní spotřebou. Vzorkovací rychlost se u výkonu zpravidla pohybuje od osmi vzorků za vteřinu až do více než 1 kSPS. Když pak bude obvod PAC1934 kupříkladu běžet na 8 SPS, dokáže akumulovat data související s výkonem po dobu více než 36 hodin a s odběrem pod 16 μA. Všechny čtyři kanály jsou přitom plně aktivní, nabízejí 16bitové rozlišení a obejdou se bez jakéhokoli zásahu ze strany softwaru. Pokud lze navíc počítat s proměnlivou rychlostí vzorkování, využití bude ještě širší. Uvažujme např. integrovaný obvod zapojený v běžném notebooku za účelem sledování napájecích hladin. Pokud je laptop zapnutý, lze monitorovat s využitím 1024 SPS. V opačném případě pak můžeme klesnout až na 8 SPS, protože výkonová spotřeba v režimu spánku zase tak nekolísá. Snížení vzorkovací rychlosti se pozitivně odráží také na vlastní spotřebě systému pro sledování energií, aniž by přitom docházelo k nějakým ústupkům.
Jeden z nejoblíbenějších způsobů využití aktivního monitorování energie se dotýká systémů pro sledování zbývající výdrže baterie (tzv. fuel gauge). Speciální integrovaný obvod zde zkoumá napětí společně s proudem a pokaždé proto ví, jak moc energie má akumulátor v danou chvíli k dispozici. Pokročilejší systémy mohou rovněž zaznamenat situace, při kterých se baterie potýká s nějakými problémy. Dokážou třeba sledovat napětí na akumulátoru ve vztahu k energii, a pokud si již výsledky vzájemně neodpovídají, znamená to, že se celková kapacita baterie snižuje. Např. kvůli stárnutí a dalším faktorům.
Aktivní monitorování energie tvoří rovněž jádro standardního systému pro řízení baterií, tedy BMS. Jedná se o obvod využívaný v sadách s větším počtem článků, kde odpovídá za jejich bezpečné nabíjení a také vybíjení. Aktivně zde totiž měří napětí a proud s cílem zajistit, aby každý z článků vykazoval stejné parametry. BMS umí rovněž detekovat špatné baterie nebo sadu v případě extrémních výkyvů napětí v obou směrech rovnou odpojí.
Další rozšířený způsob využití aktivně řešeného dohledu nad energií souvisí s operačním systémem v chytrých telefonech a tabletech, resp. s Linuxem a Microsoft Windows v noteboocích, stolních počítačích a serverech. V případě smartphonů či tabletů sleduje operační systém energii využívanou různými službami nebo aplikacemi. Může přitom sáhnout po různých metodách. V rané fázi však energie nebyla měřena přímo a systém vše odhadoval v závislosti na vytížení CPU, GPU či displeje a používal přitom datovou tabulku se spotřebou udávanou v různých pracovních bodech. Přibližné údaje pak směřovaly k uživateli formou statistiky a ten se pak mohl rozhodnout, jak bude se zařízením dále pracovat.
Počínaje systémem Windows 8 Microsoft pro notebooky a osobní počítače zavádí E3, tj. Energy Estimation Engine. E3 zpočátku pracuje podobně jako algoritmy v chytrých telefonech se schopností sledovat výkonovou spotřebu každé úlohy. Předběžná kalkulace se přitom odvíjí od využití různých prostředků – procesoru, grafiky, disku, paměti, síťového připojení, zobrazovací jednotky apod. S E3 se rovněž pojí EMI, zde ve smyslu „Energy Metering Interface“. Umožňuje totiž výrobcům doplnit a také vyzdvihnout snímače pro měření energií, které budou v systému fyzicky přítomné. E3 proto může takové senzory používat k přesnému stanovení výkonu a energie, spíše než aby jen docházelo k nějakému odhadování.
Zmiňované funkce již někteří výrobci notebooků do svých strojů implementují. V minulosti jsme rovněž zaznamenali několik dalších iniciativ, třeba u Sony při sledování výkonu v noteboocích Vaio. Návrh však nebyl podporován ze strany operačního systému a k datům tak mohly přistupovat jen speciální aplikace. Pokud jde o Linux, ten zatím ekvivalent pro E3 od Microsoftu nemá, ale prý se na tom pracuje. Subsystém Industrial I/O umožňuje přidávat k operačnímu systému různé snímače a zajišťuje tak velmi jednoduché a rychlé rozhraní pro uživatelské aplikace (založeno na souborech). V době psaní tohoto článku je však subsystém Industrial I/O nástavbou jádra a nikoli standardní součástí. Linux rovněž podporuje plánování v kontextu energií společně s chytrým přerozdělením výkonu – algoritmus navržený spíše pro oblast zabudovaného Linuxu. Umožňuje totiž systému rozhodnout o tom, jak naplánuje různé úlohy, zatímco dále zvažuje i teplotní kritéria (výkonová spotřeba se logicky odráží v ohřevu CPU/GPU).
S dalším příkladem nasazení integrovaných obvodů pro nezbytné měření energií se ještě zastavíme u rozhraní USB a monitorování výkonu či energie pro nejrůznější účely, příp. též mezi serverovými aplikacemi a jejich spotřebou tak, jak jsme o tom hovořili již v úvodu. Vzhledem k tomu, že servery jsou zařízení navržená tak, aby běžela nepřetržitě a bez výpadku, sledování výkonové spotřeby zde nabízí celou řadu výhod. Od navyšování celkové účinnosti přes aktivní řízení služeb a vyhovění stále vyšším standardům, pokud jde o efektivitu provozu, až po sféru administrátorů, kteří mohou vykonávat prediktivní údržbu, začnou-li se některé bloky z pohledu svého odběru chovat odlišně. Může to totiž signalizovat hrozící selhání systému.
V závislosti na potřebě monitorování energie, stejně jako dalších funkcích, které systém vyžaduje, budou možná některé způsoby vhodnější než jiné. Klasický přístup se může hodit v případech, kdy máme vestavný systém navržený pro konkrétní účel a chceme znát jeho spotřebu nebo mít k dispozici odhadované množství energie. Je také užitečné, když mikrokontrolér má svůj vlastní A/D převodník, takže náklady na monitorování energií mohou být minimální. V takovém případě potřebujeme jen vnější analogové obvody sloužící ke snímání napětí a proudu. Jiný případ, ve kterém se bude klasický návrh vyjímat lépe než ten integrovaný, pak zahrnuje požadavky na velmi vysokou přesnost, přičemž počet součástek ani vlastní spotřeba řešení zde nehrají takovou roli.
Na druhou stranu zde máme i situace, kterým sluší spíše integrovaný návrh. Možný příklad zahrnuje měření energie ve spojitosti s operačním systémem. Integrované řešení je pro takové účely již navrženo a s patřičnými drivery je systém automaticky rozpozná a také ví, co dělat. Nabízí rovněž výhody v případech, kdy musíme sledovat hodně napájecích sběrnic. Integrovaný obvod pro měření energií totiž běžně zpracovává více než jeden kanál a obslouží tedy i více než jednu sběrnici. Kromě toho lze na společné komunikační lince provozovat několik součástek (např. přes I²C nebo SPI). Jiná situace, ve které vítězí právě integrovaný systém, zahrnuje dlouhodobá měření energie, při kterých se bude systém nacházet ve spánkovém režimu s velmi malým odběrem, příp. je vypnutý úplně. Souvisí to se skutečností, že integrovaný čip sloužící k monitorování energie vykáže velmi malou vlastní spotřebu a výpočty, včetně akumulací, může provádět v průběhu času naprosto sám a bez jakéhokoli zásahu ze strany systému.
Nesmíme rovněž zapomenout, že na hustě osazených deskách plošných spojů s vysokou mírou integrace, např. u návrhů směřujících do telefonů, tabletů či přenosných počítačů, hraje roli každý milimetr. Integrovaný obvod proto pokaždé zabere menší plochu než srovnatelné řešení vyskládané z diskrétních součástek. Pokud máme být konkrétnější, integrovaný obvod pro měření energií, který dokáže souběžně sledovat celkem čtyři kanály, nalezneme v provedení typu WLCSP o rozměrech 2,225 × 2,17 mm.