- Технике уштеде енергије за микроконтролере
- 1. Режими спавања
- 2. Динамичка модификација фреквенције процесора
- 3. Структура фирмвера управљача прекидима
- 4. Повер Оптимизед Фирмваре
- Закључак
Као што је гас (бензин / дизел) важан за кретање бицикала, камиона и аутомобила (да, искључујући Тесле!), Тако је и електрична снага за већину примена електронике и још више, за уграђене системске апликације које су обично батерије (ограничене енергије), од обичних мобилних телефона до паметних кућних уређаја, између осталог.
Ограничена природа напајања батерија подразумева потребу да се осигура да стопа потрошње енергије ових уређаја треба да буде разумна како би се подстакло њихово усвајање и коришћење. Нарочито код уређаја заснованих на ИоТ-у код којих се може очекивати да уређај траје 8 - 10 година са једним пуњењем без замене батерије.
Ови трендови учинили су примену разматрања мале снаге у дизајну уграђених система и током година дизајнери, инжењери и произвођачи су у неколико тачака развили неколико интелигентних начина ефикасног управљања снагом коју производи троше, како би се осигурало да дуже трају једно пуњење. Много ових техника усредсређено је на микроконтролер, који је срце већине уређаја. У данашњем чланку истражићемо неке од ових техника и како се оне могу користити за минимизирање потрошње енергије у микроконтролерима. Иако микропроцесор троши мање енергије, али се може користити свуда на микроконтролеру, следите везу да бисте сазнали како се микропроцесор разликује од микроконтролера.
Технике уштеде енергије за микроконтролере
1. Режими спавања
Режими спавања (који се обично називају режимима мале снаге) су вероватно најпопуларнија техника за смањење потрошње енергије у микроконтролерима. Они углавном укључују онемогућавање одређених кола или сатова који покрећу одређене периферне уређаје микроконтролера.
У зависности од архитектуре и произвођача, микроконтролери обично имају различите врсте режима спавања, при чему сваки режим има способност да онемогући више интерних кола или периферних уређаја у поређењу са другим. Режими спавања обично се крећу од дубоког спавања или искључења, па све до режима мировања и дремке.
Неки од доступних режима објашњени су у наставку. Треба напоменути да се карактеристике, као и назив ових начина, могу разликовати од произвођача до произвођача.
и. Режим мировања / спавања
Ово је обично најједноставнији начин рада с малом снагом за дизајнере. Овај режим омогућава микроконтролеру да се врати у пуни рад врло брзо. Стога није најбољи режим, ако циклус напајања уређаја захтева да често излази из режима спавања, јер се повлачи велика количина енергије, када микроконтролер излази из режима спавања. Повратак у активни режим из стања приправности обично се заснива на прекидима. Овај режим је имплементиран на микроконтролеру искључивањем стабла такта који покреће ЦПУ круг док МЦУ примарни високофреквентни сат непрестано ради. Овим ЦПУ може да настави рад одмах када се активира окидач за буђење. Уређај сата је често коришћен за одсијецање сигнала у режимима мале снаге за микроконтролере и овај начин ефикасно усмјерава сигнале сата кроз ЦПУ.
ии. Режим приправности
Режим приправности је још један режим мале снаге, који је дизајнерима лако применити. Веома је сличан режиму мировања / мировања, јер такође укључује употребу сата који пролази кроз ЦПУ, али једна од главних разлика је што омогућава промену садржаја РАМ меморије, што обично није случај у режиму мировања / мировања. У режиму мировања, периферне јединице велике брзине попут ДМА (директан приступ меморији), серијски портови, АДЦ и АЕС периферне јединице непрестано раде како би се осигурало да буду доступне одмах након што се ЦПУ пробуди. За одређене МЦУ-ове, РАМ је такође активан и ДМА му може приступити омогућавајући складиштење и примање података без интервенције ЦПУ-а. Потрошена снага у овом режиму може бити само 50уА / МХЗ за микроконтролере мале снаге.
иии. Режим дубоког спавања
Режим дубоког спавања обично укључује онемогућавање високофреквентних сатова и других кола у микроконтролеру, остављајући само тактове склопове који се користе за покретање критичних елемената као што су тајмер чувара, откривање смеђег напајања и склоп за поновно покретање. Други МЦУ могу да му додају друге елементе да би побољшали укупну ефикасност. Потрошња енергије у овом режиму може бити само 1уА у зависности од одређеног МЦУ-а.
ив. Стоп / ОФФ мод
Поједини микроконтролери имају различите варијације овог додатног режима. У овом режиму су и високи и ниски осцилатори обично онемогућени остављајући укључене само неке конфигурационе регистре и друге критичне елементе.
Карактеристике свих горе наведених режима спавања разликују се од МЦУ до МЦУ, али опште правило је; што је сан дубљи, то је већи број периферних уређаја онемогућених током спавања и мања количина потрошене енергије, мада то обично такође значи; већа је количина енергије која се троши за враћање система назад. Стога је на дизајнеру да размотри ову варијацију и одабере прави МЦУ за задатак без прављења компромиса који утичу на спецификацију система.
2. Динамичка модификација фреквенције процесора
Ово је још једна широко популарна техника за ефикасно смањење количине енергије коју микроконтролер троши. То је далеко најстарија техника и мало је сложенија од начина мировања. Укључује фирмвер који динамички покреће такт процесора, наизменично између високе и ниске фреквенције, јер је однос између фреквенције процесора и количине потрошене енергије линеарни (као што је приказано доле).
Примена ове технике обично следи овај образац; када је систем у стању мировања, фирмвер поставља фреквенцију такта на малу брзину, што омогућава уређају да уштеди мало енергије, а када систем треба да изврши тешка израчунавања, брзина такта се враћа назад.
Постоје контрапродуктивни сценарији за модификовање фреквенције процесора који су обично резултат лоше развијеног фирмвера. Такви сценарији настају када се фреквенција такта одржава на ниском нивоу док систем изводи тешке прорачуне. Ниска фреквенција у овом сценарију значи да ће систему требати више времена него што је потребно за извршавање постављеног задатка и на тај начин ће кумулативно трошити исту количину енергије коју су дизајнери покушавали да сачувају. Стога се мора бити посебно опрезан при примени ове технике у временски критичним применама.
3. Структура фирмвера управљача прекидима
Ово је једна од најекстремнијих техника управљања напајањем микроконтролера. Омогућено је са неколико микроконтролера попут АРМ цортек-М језгара која имају бит за спавање на излазу у СЦР регистру. Овај бит пружа микроконтролеру могућност спавања након покретања рутине прекида. Иако постоји ограничење броја апликација које ће се несметано изводити на овај начин, ово би могла бити врло корисна техника за сензоре поља и друге, дугорочне, апликације засноване на прикупљању података.
Већина осталих техника по мом мишљењу су варијације већ горе поменутих. На пример, техника селективног периферног такта је у основи варијација режима спавања у којима дизајнер бира периферне уређаје за укључивање или искључивање. Ова техника захтева дубоко познавање циљног микроконтролера и можда неће бити прилагођена почетницима.
4. Повер Оптимизед Фирмваре
Један од најбољих начина за смањење количине енергије коју микроконтролер троши је писање ефикасног и добро оптимизованог фирмвера. Ово директно утиче на количину посла који ЦПУ ради по времену, а то продужењем доприноси количини енергије коју микроконтролер троши. Требало би се потрудити током писања фирмвера како би се осигурала смањена величина и циклуси кода, јер је свако непотребно извршено део енергије који се складишти у батерији која се троши. Испод су неки уобичајени савети засновани на Ц-у за оптимизирани развој фирмвера;
- Користите класу „Статиц Цонст“ што је више могуће да бисте спречили рунт-копирање низова, структура итд. Које троше енергију.
- Користите показиваче. Они су вероватно најтежи део језика Ц за разумевање за почетнике, али су најбољи за ефикасан приступ структурама и синдикатима.
- Избегавајте Модуло!
- Локалне променљиве преко глобалних променљивих где је то могуће. Локалне променљиве су садржане у ЦПУ-у, док су глобалне променљиве ускладиштене у РАМ-у, ЦПУ брже приступа локалним променљивим.
- Непотписани типови података су вам најбољи пријатељ кад год је то могуће.
- Усвојите „одбројавање“ за петље кад год је то могуће.
- Уместо битних поља за непотписане читаве бројеве, користите битне маске.
Приступи смањењу количине енергије коју микроконтролер троши нису ограничени на горе поменуте софтверске приступе, постоје хардверски приступи попут технике управљања напоном језгра, али да бисмо задржали дужину овог поста у разумном опсегу, уштедећемо њих још један дан.
Закључак
Примена производа мале снаге полази од избора микроконтролера и може бити прилично збуњујуће када покушате да пређете на различите опције доступне на тржишту. Током скенирања, таблица података може добро радити за постизање општих перформанси МЦУ-ова, али за апликације критичне за енергију то може бити врло скуп приступ. Да би разумели праве карактеристике снаге микроконтролера, програмери морају узети у обзир електричне спецификације и функционалности мале снаге доступне микроконтролеру. Дизајнере не би требало да брине само тренутна потрошња сваког од режима напајања које оглашава табела података МЦУ-а, већ би требало да погледају време буђења, изворе буђења и периферне уређаје који су доступни за употребу током режима мале снаге.
Важно је проверити карактеристике микроконтролера који планирате да користите да бисте утврдили опције које имате за примену мале снаге. Микроконтролери су један од највећих корисника технолошког напретка, а сада постоји неколико микроконтролера ултра мале снаге који осигуравају да имате ресурсе који ће вам помоћи да останете у оквиру свог буџета за напајање. Одређени број њих такође нуди неколико софтверских алата за анализу снаге које можете искористити за ефикасан дизајн. Лични фаворит је линија микроконтролера МСП430 компаније Текас Инструмент.