Управлението на енергията в микроконтролерите използва оптимално опциите с ниска мощност от MCU;

12 март 2014 г., 8:29 ч. | Богат Мирон

Днес вградените системи трябва да работят възможно най-дълго само с едно зареждане на батерията. Тук е важно оптимално да се използват вътрешните режими на ниска мощност на микроконтролерите. Сравнение на опциите за ниска мощност на MCU от Microchip, STMicroelectronics и Texas Instruments.

За преносимите електронни устройства животът им с едно зареждане е почти толкова важен, колкото и действителните функции, които устройството осигурява. Защото когато батерията е празна, няма значение каква отлична производителност може да предложи устройството. Модерните микроконтролери (MCU) с платформи, които са специално проектирани за работа с ниска консумация на енергия, предлагат добри решения тук. Те също така осигуряват много енергоспестяващи режими като режим на заспиване, хибернация и др. И функции като специални щифтове, които автоматично превключват системата към резервна работа на батерията при изключване на захранването. И накрая, в допълнение към енергоспестяващите мерки, има и изкуството за разработване на софтуер с инструменти като „IAR Embedded Workbench“

който може да покаже консумацията на енергия за изпълнение на всеки ред код. Чрез проверка на поведението на системата в реално време, разработчиците могат да използват тази информация за фина настройка на системата за максимална ефективност в експлоатация, например промяна на тактовата честота или поставяне на системата в по-нисък енергиен режим.

Ако все още има съмнения относно важността на енергийната ефективност в днешните вградени системи, достатъчно е да разгледаме последните DRAM стандарти, публикувани от JEDEC: Организацията не само публикува нова версия на своя стандарт за преносима електроника с LPDDR3, най-новата обща DRAM -Стандартният DDR4 включва разнообразни функции за намалена консумация на енергия като архитектура на псевдоотворено оттичане. Независимо дали микроконтролерът е в смартфон или автомобил - едно е ясно: той може да отговори на изискванията на клиента само ако предлага енергийно ефективна работа.

За да оптимизират консумацията на енергия, разработчиците трябва да се съсредоточат върху две основни цели: възможно най-краткото време в активен режим и минималната консумация на енергия в неактивен режим. Не толкова отдавна микроконтролерите имаха само един режим на готовност, но днес модулите предлагат редица опции за избягване на активния режим и позволяването му само когато е абсолютно необходимо.

»PICs« спестяват електричество

микроконтролерите

Фиг. 1: В режим на дрямка, процесорът на PIC24F-J128GA310 (тук на модула за добавки за платката за разработка на Explorer 16) може да работи по-бавно от периферните устройства

Семейството на микроконтролерите »PIC24FJ128GA310« от Microchip (Изображение 1) например цял набор от опции за управление на захранването:

позволява на модула да премине към резервна батерия за възможно най-ниска консумация на енергия с RTCC (Календар в реално време/часовник, часовник в реално време с календар),

"Deep Sleep Mode" за почти напълно безсилна работа с възможност за събуждане от външен спусък и изключително ниска консумация на енергия (при 3.3 V типичен WDT: 270 nA, RTCC: 400 nA при 32 kHz, дълбок сън -Ток: 40 nA),

Режими на заспиване и празен ход, които

Периферни устройства и/или ядра

Изключвайте селективно за значително намаляване на мощността и бързо събуждане,

Doze режим, който позволява на процесора да работи с по-ниска тактова честота от периферните устройства,

алтернативните режими на часовника позволяват бързи промени в по-ниска тактова честота за селективно намаляване на мощността.

Режимите на заспиване и празен ход позволяват на дизайнерите да изключат периферните устройства и/или ядрото на контролера, за да намалят консумацията на енергия, като същевременно запазят способността за бързо събуждане. В режим "задържане на заспиване" ключовите вериги се захранват от отделен регулатор на ниско напрежение. Режимът VBAT превключва системата към резервната батерия, ако VDD е отстранен, като по този начин минимизира консумацията на енергия с RTCC. Дълбокото заспиване без RTCC предлага почти пълно изключване и в същото време получава софтуерно управление, така че модулът да може да бъде рестартиран чрез външни тригери. Според компанията контролерът работи при само 40 nA в този режим (при обикновено 3,3 V), в сравнение с 400 nA при 32 kHz за режим RTCC.

Модифицирането на тактовата честота може да спести много енергия. Например в режим на полусън потребителят може да намали производителността, като стартира процесора с по-ниска тактова честота от периферните устройства. В допълнение, микроконтролерът предлага опция за намаляване на тактовата честота по време на работа и по този начин позволява фино регулиране на намаляването на мощността.

Пестеливи контролери »STM8«

Изображение 2: Семейството микроконтролери »STM8L« осигурява четири режима с ниска мощност, така че потребителят да може да намери оптимален баланс между ефективност, производителност и време за стартиране

Микроконтролерът »STM8L152C6T6« от STMicroelectronics осигурява четири режима с ниска мощност (снимка 2), за да може потребителят да намери оптимален баланс между ефективност, производителност и време за стартиране (снимка 3).

Фигура 3: Режимите с ниска мощност на семейството микроконтролери »STM8L« в сравнение

В режим на изчакване часовникът на процесора е спрян, докато периферните устройства продължават да работят. Чипът може да напусне това състояние на изчакване чрез вътрешно или външно прекъсване, събитие на задействане или нулиране. В режим на работа с ниска мощност, процесорът изпълнява определени функции заедно с избрани периферни устройства. Например Flash и Data EEPROM могат да бъдат поставени на пауза, докато системата изпълнява код от RAM с ниска честота. Потребителят може да контролира системата в и извън режима на работа с ниска мощност чрез софтуер. Системата може също да излезе от режима чрез нулиране, но не и чрез прекъсвания.

В много вградени системи микроконтролерите губят електроенергия, защото чакат голяма част от времето на изпълнение за събитие. Тук STM8L152C6T6 предлага режим на изчакване с ниска консумация на енергия (Low Power Wait), при който часовникът на процесора е спрян. Нулиране или вътрешно или външно събитие, задействано например от таймер или I/O събития, връща системата обратно в режим на работа с ниска мощност.

Режимът на активно спиране (Active Halt) отива една стъпка напред и спира както генератора на часовника за процесора, така и този за всички периферни устройства - с изключение на RTC. Външните прекъсвания, RTC прекъсванията или нулирането са в състояние да събудят системата отново от режим на активно спиране. Режимът на спиране (Halt) окончателно спира часовниците за всички периферни устройства и процесора. Блокът остава включен, за да запази данните в RAM. Външно прекъсване или нулиране отново събужда контролера. Избрани периферни устройства също могат да се събудят от режим на задържане. Освен това блокът може да бъде конфигуриран така, че да може без вътрешна референция в режим на изчакване, което спестява допълнителна енергия чрез изключване на вътрешното референтно напрежение.

»MSP430« с FRAM

Фиг. 4: Някои производни на архитектурата с ниска мощност »MSP430« имат особено енергоспестяваща FRAM памет

16-битовият микроконтролер "MSP430FR5739" от Texas Instruments предлага седем режима с ниска мощност (Фигура 4) за вградени системи в преносими приложения. На най-горното ниво режим с ниска мощност 0 (LPM0) деактивира процесора и главния часовник, докато всички данни се запазват. Часовниците на периферните устройства остават активни и потребителят може да избере състоянието на часовника на подмастер. В горния край на спестяването на енергия, Low Power Mode 4.5 (LPM4.5) поддържа състоянието на I/O подложките, но не и данните, а също така деактивира вътрешния контролер. Като част от своя енергоспестяващ дизайн, микроконтролерът също така интегрира фероелектрическа RAM (FRAM) за енергонезависима памет с ниска консумация на енергия.

Отстраняване на грешкиНяма значение колко енергоспестяващи режима има един микроконтролер, ако те не се използват разумно и правилно. Тук влизат в действие инструментите за отстраняване на грешки като I-Jet от IAR Software Systems. Този инструмент непрекъснато записва консумацията на енергия на системата по време на работа, а софтуерът IAR Embedded Workbench съотнася тези данни за консумацията на енергия с процесите в системата.

Фигура 5: В прозореца на времевата скала инструментът „I-Jet“ корелира консумацията на енергия с извиквания на функции и други програмни части

В един перфектен свят разработчикът може да свърже пренапрежение на мощност директно с ред код. Реалността обаче е, че капацитетите на системата разпределят потреблението във времето, така че такъв дискретен подход е невъзможен. Следователно най-добрият избор е да се свърже консумацията на енергия с функционални повиквания (Снимка 5). След това потребителят може да щракне върху пика на мощността и да го проследи обратно до кода.

С помощта на тази дълбока представа за системата, разработчикът може да идентифицира периферни устройства, които консумират енергия ненужно. За да коригира това, той може да успее да регулира тактовите честоти или да вкара системата в режим на ниска мощност, докато е в неактивност, и да се събуди отново, когато получи отговор. По този начин разработчиците могат да се възползват от опциите за управление на захранването за оптимална хардуерна работа.

За автора:

Rich Miron е в екипа за техническо съдържание на Digi-Key