Jste zde

Co stojí za nízkou spotřebou el. obvodů a zařízení ?

Cena elektřiny neustále roste a s ní se stále více do zájmu uživatelů a elektronických zařízení dostává jejich spotřeba. Protože tento
trend bude určitě pokračovat i v budoucnu, nehledě na zvýšené ekologické požadavky,
snaží se většina velkých výrobců elektronických komponent a obvodů nacházet
další a další způsoby snížení nároků jejich produktů na množství elektrické
energie při zachování alespoň stejného výkonu. Mezi špičku v tomto směru patří
i Freescale, který i zároveň radí, jak postupovat a na co brát ohled při návrhu
zařízení s nízkou spotřebou.

Základní vlivy na spotřebu elektronického zařízení

Většina současných elektronických zařízeních je složena z řídících integrovaných obvodů (různých programovatelných součástek) s běžícím softwarem, pamětí (RAM, EEPROM, Flash), motorů tvořících převodníky elektrické energie na mechanický pohyb, různých periferních obvodů (např. senzory, fyzická komunikační drátová i bezdrátová rozhraní, světelné a zvukové měniče) a samozřejmě zdrojů/měničů. Dalo by se tedy říct, že právě tyto komponenty určují elektrickou spotřebu celého zařízení. To sice je pravda, ale často je hlavně zakopaný pes v jejich vhodné volbě pro danou aplikaci a jejich vzájemném propojení konstruktérem/uživatelem. Totiž i jinak úsporné součástky a prvky mohou tuto svojí vlastnost rychle ztratit pokud se jejich "vrozených" dispozic v konstrukci zařízení nevyužívá, jsou nevhodně propojeny nebo se prostě jen nehodí pro danou činnost (jsou přetíženy nebo nevytíženy).

Co se tedy hlavně podílí na vysoké spotřebě el. energie moderních elektronických zařízení ?

  • špatně zvolené a provozované mikroprocesory či hradlová pole
  • špatně navržený a naprogramovaný řídící software
  • nevhodně zvolené typy motorů a hlavně jejich řízení
  • málo účinný nebo špatně sladěný standby režim

 

Volba vhodného procesoru

Tuto položku lze snadno demonstrovat na dvou rozdílných typech nízkonapěťových a nízkopříkonových procesorů rodiny Flexis QE firmy Freescale. Proti sobě například můžeme postavit základní 8bitové MCU řady S08 QE (MC8S08QE128) a výkonné 32bitové MCU ColdFire V1 QE (MCF51QE128). Oba se spokojí s velmi nízkým napájecím napětím 1.8V až 3.6V, ale vyznačují se velmi rozdílným výpočetním výkonem, resp. rychlostí jádra. Výkonné rychle taktované jádro však také vyžaduje pořádně "nakrmit" a tak, jak lze vidět z tabulky, spotřeba MCU S08 je typicky poloviční v plném run módu a v nízkopříkonovém run módu, ale už jen lehce rozdílná v stop3 módu a úplně rovna v napájecím stop2 módu, kdy jsou už jen minimálně napájeny některé základní bloky (RAM apod.).

Málo znalý konstruktér či uživatel by pak asi měl nutkání z pohledu maximálního ušetření energie sáhnout právě po MCU S08. Jenže je nutné vzít v úvahu, jak budou oba porovnávaní zástupci nuceni dlouho pracovat v nejžíznivějším plném run módu. 32bitové MCF51QE má totiž zhruba 4x větší výkon než 8bitová S08 a navíc vykonává instrukce v rytmu frekvence CPU narozdíl od S08, kde se toto řídí 2x pomalejší frekvencí sběrnice. A tak zatímco při náročných výpočetních operacích bude S08 téměř neustále pracovat v run módu, aby to "stíhala", ColdFire to zvládne mnohokrát rychleji a zbytek času může strávit například v stop3 módu. Papírový náskok S08 ve spotřebě energie z dlouhodobého pohledu tak mizí a naopak ve výsledku na tom může být i hůř než ColdFire.

To byl ale náročný výpočetní úkol. Co se však stane, když bude aplikace vyžadovat hlavně práci s periferiemi na chipu MCU (např. A/D převodníkem, sériovou komunikací apod.)? Rychlost těchto periferií je u obou zástupců zhruba stejná a je dána například vzorkovací frekvencí či přenosovou rychlostí, které jsou zvláště v porovnání s rychlostí jádra ColdFiru velmi pomalé. Ve výsledku tak ColdFire hodně času stráví čekáním na potřebná data. Bohužel musí čekat v nejlepším případě v nízkopříkonovém run módu, protože další šetrnější módy již nepodporují provoz těchto periferií. Zde tak MCU S08 jasně vítězí.

Na uvedeném příkladu je jasně vidět, že obecně správná volba MCU vzhledem k požadavkům a náročnosti aplikace je z hlediska spotřeby elektřiny dosti kritická.

Porovnání spotřeby dvou MCU z nabídky Freescalu (MCU ColdFire MCF51QE128 a MCU MC9S08QE128)

Program / software aplikace či zařízení

Jak již šlo vysledovat výše, periferie i jádro MCU je stále pouze hardware, který nedělá nic jiného, než že "poslouchá" běžící program a dělá co je v něm uvedeno. A to je právě to zásadní. Pokud se totiž program nebude zabývat a řídit přechody chipu do různých hardwarem podporovaných nízkopříkonových režimů, bude procesor stále pracovat v plném aktivním run módu a tedy i s maximální spotřebou. Ve výsledku je tak i v tomto směru sebe lepší procesor nebo hardware k ničemu.

Správně zvolený typ motoru a hlavně jeho řízení

Tento bod je nejlépe vidět na vývoji spotřeby tzv. bílých kuchyňských spotřebičů typu lednička a pračka. Za jejich stále klesající spotřebou je mimo jiné podepsáno stále se vylepšující a zefektivňující řízení otáček motorů dosahovaných novými integrovanými obvody. Ty dnes již umožňují v sobě společně implementovat jak řídící signálovou složku, tak výkonovu budící spínací část, která byla ještě donedávna realizována výhradně diskrétními budiči s velkými spínacími MOSFET tranzistory, tyristory či triaky. Například u Freescalu to umožňuje technologie SMARTMOS. Tímto způsobem lze přesněji, rychleji a tedy účinněji dávkovat motorům příkon, jejich rozběh, běh i zastavování/brždění dle předem naprogramovaných křivek a funkcí.

Samozřejmostí je pak nutnost zvolit vhodný typ motoru například dle požadavku počtu otáček, rychlosti a četností rozběhů a zastavování a potřebného výkonu.

Standby režim zařízení

Aniž to musí být na první pohled patrné, celoevropsky i celosvětově dělá dost velkou část spotřeby el. energie napájení zařízení v tzv. standby módu, tedy v režimu, kdy zařízení sice není plně aktivní, ale je připraveno na rychlé zahájení své funkce (probuzení). V dnešní době již má většina integrovaných obvodů obsažený nějaký standby nebo sleep mód, ve kterém jsou sice součástky stále napájeny, ale mají potlačeny všechny funkce nesouvisející se schopností se na určitý povel "probudit".

U neprogramovatelných hardwarových součástek to bývá téměř vždy pomocí přivedení daného logického stavu na k tomu určený vstup, u programovatelných součástek to buď bývá kombinace hardwarové a softwarové, kdy se obvod přepne do nízkopříkonového módu softwarově, ale probudí změnou stavu na některém vstupu nebo ve vnitřní periferii nebo plně softwarové. V tomto směru je vždy nutné se snažit vybírat součástky s co nejnižší spotřebou v tomto režimu, aby celková suma příkonu všech obvodů na plošných spojích v zařízení nebyla zbytečně velká a nevhodně nekombinovat součástky s a bez standby či sleep módu, aby nedošlo k situaci, že například řídící procesor bude uspán, ale některé periferie, které stejně bez jím dodávaných dat nic nezmůžou, budou vesele běžet na plný výkon. Také je nutné opět vhodně napsat tu část softwaru, která přechod do standby režimu a opětovné probuzení všech obvodů řídí.

Další triky pro snížení spotřeby zařízení

  • Používání hardwarových modulů či softwarového přerušení na hlídání změn na vstupech integrovaných obvodů (když se nic neděje může být obvod v nízkopříkonovém módu).

  • Pro hlídání a zachytávání hran na vstupech např. MCU je nejlepší využívat časovače a bloky input capture, které obvykle podporují nějaký nízkopříkonový režim.

  • Pro analogové signály je vhodné tam, kde je to možné použít, raději zvolit méně na energii náročné analogové komparátory než A/D převodník, nebo jeho pomocí funkci A/D převodníku aktivovat.

  • Nepoužité vstupy a výstupy by měli být vždy někam připojeny, pro zamezení vzniku plovoucích vstupů, které mohou nejen způsobovat rušení a generovat náhodné stavy, ale také mohou být zdrojem různým proudů. U MCU a jiných programovatelných obvodů je vhodné u všech nevyužitých vstupů aktivovat vnitřní pull-up rezistor nebo u přepínatelných I/O pinů je vždy nastavit jako výstupní.

  • Volit co nejvíce integrované součástky, tzn. obvody, které mají co nevíce v zařízení požadovaných prvků společně na jednom chipu.

  • Jednotlivé součástky na desce plošných spojů dávat co neblíže k sobě.

 

Principy využívané v integrovaných obvodech Freescale

Pro potřeby maximálního snížení spotřeby integrovaných obvodů firma Freescale využívá různé triky, mezi které patří i ty následující:

  • Maximální snížení napájecího napětí a vícenapěťové napájení - protože je spotřebovávaný výkon mimo jiné úměrný velikosti napájecího napětí, je výhodné napájet různé části chipu jen tak malým napětím, které je opravdu nutné. Z těchto důvodů jsou MCU, DSP a další procesory vybavovány několika napájecími vstupy pro rozdílná napětí.

  • Technologie s tranzistory s různými prahovými napětími (Multi-VT Process) ? každý tranzistor v digitální integrované součástce má určité prahové napětí VT, které definuje sepnutí tranzistoru a budící proud tranzistoru. Nízkoprahový tranzistor sice poskytuje vysoký výkon díky zvýšení budícího proudu. Odvrácenou stránkou je pak zvýšení svodového proudu a tím i spotřeby celého obvodu. Proto Freescale na jednom chipu kombinuje a využívá jak tranzistory s nízkým prahovým napětím, tam kde je to z pohledu vysokého výkonu nutné, tak i tranzistory s vyšším prahovým napětím a nižšími svodovými a parazitními proudy pro méně náročné části. To ve výsledku znamená nižší proud v standby módu.
  • Technologie Active Well Bias - pomáhá řídit svodový proud hradla a tak umožňuje v reálném čase řídit spotřebu/výkon tranzistoru. Jak již bylo poznamenáno výše, pro maximální výkon se využívá spínacích tranzistorů s nízkým prahovým napětím, které však v klidovém standby režimu mají relativně velký ztrátový výkon definovaný svodovým proudem (Leakage Current). Technologie Active Well Bias ovlivňuje velikost prahového napětí tím, že zvýší napětí substrátu nad úroveň napájecího napětí VDD u PMOS tranzistorů a pod napětí země (GND) u NMOS tranzistorů. Tranzistor je tak v tzv. back bias režimu a minimalizuje se svodový proud (viz obrázek vedle).

  • Technologie SMARTMOS - hybridní technologie Freescalu poskytuje nástroj k vytváření velmi energeticky efektivních kombinovaných obvodů s vysokou integrací. Jde o možnost současné integrace signálových analogových a digitálních částí společně s výkonovými MOSFET bloky. To například umožňuje řešení obvodů řízení napájení PMIC (Power Management IC) zahrnující ochranu zátěží, efektivní řízení a vícenásobný výstup.
 

Závislost svodového proudu (Leakage current) na zpětném vyhylovacím napětí (Back Bias) u integrovaného NMOS a PMOS tranzistoru

 

  • Použití spínaných zdrojů, které se vyznačují výrazně vyšší účinností než lineární LDO stabilizátory. Jejich nevýhodou je však složitější konstrukce a tedy vyšší cena a generování většího rušení, které je zvláště nevhodné pro radiové RF aplikace. Navíc spínané měniče pracující na vysokých frekvencích a využívající ke spínání pulzně-šířkovou modulaci (PWM), kterou nelze s uspokojivou účinností provozovat pro malé zátěže. Pro ně však lze použít spínání na základě pulzně-frekvenční modulace (PFM), které mají velmi dobrou účinnost a tím prodlužují životnost baterie. Na druhou stranu se však díky delší periodě spínání pomaleji "probouzejí" z nízkopříkonových módů.

Spínané zdroje/měniče (vlevo) mají sice složitější konstrukci, ale dosahují mnohokrát větší než účinnosti (až 5 x) než lineární zdroje/stabilizátory (vpravo)

  • Dynamic process temperature compensation (DPTC) - je mechanismus, který měří frekvenci referenčního obvodu v produktu. Ten zaznamenává závislost rychlosti produktu na použité technologii a pracovní teplotě. DPTC pak sníží napájecí napětí na minimum, které stačí pro provoz na požadované pracovní frekvenci.

  • Dynamic voltage and frequency scaling (DVFS) - umožňuje za běhu nastavovat hodinovou frekvenci podle aktuálního výkonového zatížení. Se snížením frekvence je také možné za běhu snížit napájecí napětí a tím i spotřebu celého obvodu. U Freescalu jsou běžné dva typy implementace této technologie: s podporou hardwaru a softwarová. Hardwarový mechanismus automaticky sleduje zatížení procesoru a řídí napájecí napětí a frekvenci s minimálním vlivem softwaru a operačního systému. U obvodů neobsahující DVFS hardware je však možné tuto funkci realizovat softwarově.

  • State-retention power gating (SRPG) - je technologie, která umožňuje snížit napájecí napětí až na nulovou hodnotu pro většinu bloků logických hradel, které momentálně nepracují, zatímco zůstává připojeno jen napětí potřebné pro udržení logických stavů. SRPG může snížit spotřebu obvodu, když je aplikace v nízkopříkonovém módu, ale zároveň umožňuje rychlé probuzení (fast wake-up times). Snížení napájení až k nule umožňuje odstranit dynamický i statický výkon (spotřebu).

Technologie SRPG umožňuje interaktivně snižovat spotřebu obvodu vypínáním hlavního napájení logických bloků (VDD), přičemž zůstává jen nízkopříkonové napájení pro udržení logických stavů (VDDC)

  • Hradlování hodinového signálu (Clock gating) - je efektivní strategie, která se široce využívá jako pomoc ke snížení spotřeby, zatímco udržuje stejnou úroveň výkonnosti a funkčnosti. Obvody spotřebovávají více výkonu, když jsou taktovány, než když jsou hodiny hradlovány nebo vypnuty. Hodiny mohou totiž spotřebovat až 40 % celého aktivního výkonu součástky. Zastavením hodinového signálu v nevyužívaných částech chipu tak dochází k výrazným úsporám energie.

  • Umístění zdroje hodin (Clock locating) - fyzické mapování generátoru hodin na chipu může mít významný efekt na účinnost využití energie prostým zkrácením signálových cest zvláště u vysokofrekvenčních hodin. Například globální distribuce hodin musí vhodně spravovat zpoždění na konci cest. Špatně navržená distribuce hodinového signálu vyžaduje větší bufferování k úpravě náběžných hran, čímž se zvyšuje ztrátový výkon v síti přenosu hodin. signálu.

  • Výkonové módy (Power Modes) - pro komplexní přímou regulaci spotřeby jsou integrované obvody vybavovány alespoň jedním nebo více výkonovými režimy. Ty umožňují přizpůsobit napájení různých částí obvodu, například MCU, podle aktuálního požadovaného výpočetního výkonu, rychlosti nebo množství využívaných periférií. Někdy je jako základní mód označován plně aktivní obvod s maximálním příkonem (run mode) a další módy jsou pak odstupňované nízkopříkonové (wait, stop, standby, sleep). Správným softwarovým přepínáním těchto režimů lze výrazně zredukovat průměrnou spotřebu zařízení a tedy prodloužit například životnost baterií.
 

Stromové větvení rozvedení hodinového signálu po chipu integrovaného obvodu jej umožňuje interaktivně řídit (hradlovat/zapínat/vypínat) podle toho, zda jsou jednotlivé bloky právě používány nebo jsou pasivní

 

Hladinový model / struktura standardního i speciálního softwaru (Power-aware software) pro řízení spotřeby CPU a MCU

  • Software pro snížení spotřeby - je jedním z velmi důležitých prostředků pro úspory energie, zvláště u procesorů. Součástka sice může podporovat libovolné množství úsporných prostředků a módů, ale pokud je software nevidí a nepočítá s nimi, nejsou k ničemu platné. Například Freescalův eXtreme Energy Conservation software (XEC) vyvinutý jako aplikace pro Freescale procesory. XEC je schopen monitorovat události a běžící algoritmy a podle aktuálního požadovaného výkonu optimalizovat spotřebu energie některými z výše popsaných způsobů (DVFS, nízkopříkonové módy) tak, aby vždy přesně stačila pro požadovanou funkci, ale nebylo jí nadbytek. XEC také charakterizuje výkonné prediktory, analyzéry v reálném čase apod.

 

eXtreme Energy Conservation software (XEC) firmy Freescale pro snížení spotřeby CPU, který interaktivně sleduje a predikuje požadavky a zatížení procesoru a reaguje na požadavky změnou napájecího napětí a frekvence hodinového signálu

Závěr

Freescale patří mezi lídry v oblasti vývoje technologií a triků pro maximální snížení spotřeby svých integrovaných obvodů a jejich zavádění do praxe. Dobré je, že si je většinou nenechává pro sebe a většinu z nich na svých stránkách zveřejňuje, plus dává další praktické rady pro návrh plošných spojů a správné volby a použití nejen Freescale součástek. To dokazuje i přítomnost zajímavé kalkulačky spotřeby pro potřeby správné volby MCU. Prozatím lze na stránkách Freescalu stáhnout verzi pro rodinu 8bit. MCU MC9S08GB/GT - HCS08BATTCALC.zip. Na rozšíření na další typy nízkopříkonových MCU rodiny QE128 Flexis Duo se však usilovně pracuje.

Antonín Vojáček

DOWNLOAD & Odkazy

Hodnocení článku: 

Komentáře