Микроконтролери със свръхниска енергоконсумация

ЕлектроникаСтатииСп. Инженеринг ревю - брой 7/2015 • 18.12.2015

Стефан Куцаров

Непрекъснатият стремеж към намаляване на постояннотоковата консумация на електронните устройства и по-специално на изграждащите ги интегрални схеми (ИС) напоследък е особено осезаем в областта на микроконтролерите (MCU). Една от причините за това е бързото разширяване на приложенията им в индустрията, комуникационните и компютърните системи, бита, поради което намаляването на консумацията е предимство не само за подобряване на качествата и параметрите на самите микропроцесорни устройства, но е и съществен принос от екологична гледна точка.

Не по-маловажно е непрекъснато нарастващото количество устройства с батерийно захранване, по-рядкото зареждане на чиито акумулатори или смяна на галваничните елементи е съществено предимство. Това доведе до създаването на микроконтролери с ниска (Low Power MCU) и свръхниска консумация (Ultralow Power MCU, Extremely Low Power Consumption MCU, eXtreme Low-Power MCU, nanoWatt Technology), без да има точно определение на тези категории и съответно фиксирана стойност на консумираната мощност, която да ги разделя.

Това дава свобода на производителите да избират по свое усмотрение един от термините или да ползват свой собствен. Благодарение на качествата си най-добрите съвременни микроконтролери със свръхниска консумация могат да осигурят работата на някои прибори без смяна на батерията за време над 20 години. Микроконтролерите със свръхниска консумация не правят изключение от останалите видове като се предлагат в серии (често твърде големи) с различни обеми на памет, различия във видовете интегрирани периферни блокове, както и в многообразие от корпуси.

 

В статията са изяснени основните принципи, прилагани за намаляване на постояннотоковата консумация, и са разгледани съвременните видове микроконтролери със свръхниски нейни стойности.

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

Една от задачите на технологията е намаляване статичната консумирана мощност (Static Power), която е на включен към захранващото напрежение неработещ микроконтролер – двата основни фактора, които я определят, са токовете на утечка на ИС и тези на аналоговите блокове, например вградените постояннотокови стабилизатори, споменатите по-нататък блокове BOR, WDT, RTC и RTCC и евентуално съществуващите АЦП и ЦАП, компаратори, таймери и интерфейси.

Така например STMicroelectronics отбелязва използването на CMOS транзистори с дължина на канала 0,13 mm като съществен фактор за намаляване на токовете на утечка. При типичното минимално захранващо напрежение 1,8 V на съвременните микроконтролери техният ток на утечка е под 100 nA.

Към тази група е изборът на подходящи свързвания на външните елементи и прибори на микроконтролерите, които се описват в техническата документация или в примерни приложения (Application Notes). Сред характерните примери са начините на свързване на съществуващите в почти всички микроконтролери В/И изводи (I/O pins) и различните възможности за използването им, сред които е работата с интерфейси и сензори с докосване, като някои от тях изискват свързване към захранващото напрежение или маса на резистори с определено от интерфейса съпротивление.

Възможно е то да бъде увеличено (стойността му се препоръчва от производителя на микроконтролера) за намаляване на консумацията. Така например Microchip използва за интерфейса I2C съпротивления от 10 вместо 4,7 kW и те намаляват консумацията през изводите му наполовина. Това обаче води до намаляване на максималната скорост на обмен на данни чрез интерфейса, което стеснява областта от приложения, в които може да бъде използван.

Друга препоръка от същия производител се отнася за осигуряване на стабилизирано захранващо напрежение на микроконтролерите в апаратури с батерийно захранване – ползваният за целта линеен постояннотоков стабилизатор трябва да е с малък работен ток.

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

Поради това във всеки работен режим микроконтролерите трябва да работят с най-малкото възможно напрежение. Същевременно, както на всяка електронна схема, за нормална работа на микроконтролерите е необходимо напрежение над определена стойност. При нейното достигане вграден блок BOR (Brown-Out Reset) ги включва след време (обикновено няколко десетки ms), определено от таймер (Power-up Timer).

Същата мощност е линейна функция на честотата на тактовите импулси (Clock Frequency) fCPU и затова всяка изпълнявана програма е желателно да ползва минимално възможната честота. Намаляването й, известно като Clock Prescaling, се извършва чрез делители на честота (типичен коефициент на делене обикновено до 128 в зависимост от микроконтролера) само за определени периферни устройства по два начина – запазване на fCPU и промяна на тази на всяко от устройствата или едновременно на fCPU и на устройствата.

В много случаи е по-ефективно честотата да се увеличава чрез PLL схема, както и да се използва повече от един генератор със силно различаващи се честоти. Например, микроконтролерът от ред 4 на табл. 1 има 3 вградени генератора с честоти 31 kHz, 600 kHz за АЦП и 16 MHz със задаване на 10 честоти до 31,25 kHz чрез 4b число.

Този микроконтролер има възможност за работа и с три външни генератора и е типичен за масово разпространения случай на автоматичен избор на всеки етап от работата на генератор, осигуряващ най-малка консумация. Обикновено най-икономични са вградените нискочестотни RC генератори (Low Speed Internal RC Oscillator) с честота fLSI с типична относителна грешка няколко процента.

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

В редица случаи споменатото намаляване на fCPU не е допустимо, тъй като се забавя изпълняването на програмите и се удължава времето за “обръщане” към други блокове на апаратурата или външни устройства. Основен принцип за избягване на това е всяка програма да се изпълнява максимално бързо, т. е. за минимално време, но с най-малката възможна скорост и след завършването й ползващите я блокове да преминават в подходящ режим „Очакване” (Sleep Mode) чрез изключване на захранващото им напрежение, който да трае максимално дълго време.

Съществуват различни режими „Очакване” в зависимост от това кои блокове на микроконтролера се изключват, кои продължават да са включени и връзката с кои периферни устройства е прекъсната, но действието на всеки от режимите, а обикновено и наименованията им, зависят от производителя на микроконтролера.

Пример за различните режими са ползваните в голяма част от микроконтролерите със свръхниска консумация на Atmel. Най-малка е консумацията при изключено захранващо напрежение на целия микроконтролер (Power-Down Mode), когато остава да работи само един блок, позволяващ чрез подходящо логическо ниво на даден извод микроконтролерът да бъде включен.

При това работата му реално започва след необходимото време за стабилизиране на fCPU. Извън този пример съществуват микроконтролери, чийто часовник за реално време с таймер (Real Time Clock, RTC) или часовник за реално време с календар (RTCC) остават включени, но те консумират малко (значително под 1 mA) поради простата си схема и ниска честота (обикновено 32768 Hz).

Блоковете RTC и RTCC се използват за задържане на микроконтролера в някой от режимите „Очакване” определено време, например между 1s и няколко години. Подобно е предназначението и на практически задължителния таймер за включване на микроконтролерите (Watchdog Timer, WDT), но задаваното от него време е от няколко ms до около месец.

С малко по-голяма консумация е икономичният режим (Power-Save Mode) със задължително включен RTC, който чрез таймера може през определени интервали от време да включва микроконтролера. Подобен е режимът готовност (Standby), но генераторът на тактови импулси остава включен за по-бързо извеждане на микроконтролера от този режим, докато режимът на повишена готовност (Extended Standby) е с едновременно включени генератор и RTC.

При работа “на празен ход” (Idle) се изключват само генераторът и паметите Flash и EEPROM, а останалите блокове са работещи, т. е. запазва се значителна част от функционирането на микроконтролера, например обменът на данни с периферните устройства и външни интерфейси и работата на вградения контролер за непосредствен достъп до паметта (DMA).

Третата група принципи се състои в създаването на специфично програмно осигуряване в съответствие с технологичната политика на всеки производител и с конкретните изисквания към дадена серия микроконтролери. Във всеки от режимите „Очакване” освен изключване на съответните блокове то трябва да установява подходящо логическо ниво на неизползваните I/O.

Също чрез него се намалява и консумацията в активен режим обикновено чрез изключване на неизползваните в определени интервали от време блокове и ефективен начин за обмен на данни между работещите. Пример за изключване е на EEPROM и сектори от Flash, а за обмена – запис на цели страници (Page-Wise Writing) в EEPROM вместо байт по байт (Byte-Wise Writing).

Чрез програмното осигуряване може да се забрани включването към изводи I/O на товари с ток над определена стойност (например светодиоди), което се ползва от Microchip – вж. микроконтролера на ред 4 от табл. 1.

Основни параметри
Микроконтролерите се захранват с едно положително напрежение VDD, което може да има две минимални стойности – по-голямата е с ползване на BOR и тя е дадената в таблиците към настоящата статия. Консумираните токове Isl във всеки от режимите „Очакване” са различни и в таблиците е даден най-малкият от тях. Поради зависимостта на консумирания ток в динамичен режим Idyn от честотата на тактовия генератор в част от каталозите се използва мерната единица mA/MHz и чрез нея се изчислява стойността му, например при 16 MHz консумираният ток е 16Idyn, mA.

Това определяне е приблизително, тъй като освен от честотата консумацията зависи и от вида на работещите в даден момент блокове, например при дадена честота консумацията на flash паметта в микроконтролерите обикновено е по-голяма от тази на оперативната памет (RAM).

По тази причина в доста каталози вместо Idyn се дават подробни таблици с консумираните токове при различни fCPU и температури (токовете нарастват с температурата), както и при използване на различни генератори – например микроконтролерът на ред 6 от табл.1 в даден активен режим консумира 1,85 mA при fCPU=16 MHz и 35 mA с външен генератор 32768 Hz. Съществена особеност на микроконтролерите е сравнително големият производствен толеранс (Accuracy) fCPU,ACC на честотата fCPU.

Сред основните параметри на микроконтролерите са и данни за външните генератори, с които могат да работят, видът и обемът на вградените им памети (като неписано правило те са Flash и EEPROM често придружени от RAM). Значителен е относителният дял на микроконтролерите с блок (сравнително рядко до 4 блока) DMA за осигуряване на непосредствен достъп до паметта от периферните устройства без ползване на процесора.

Също твърде много са микроконтролерите с вградени един или два АЦП (обикновено 10b или 12b и често с множество входове), към които понякога се прибавя и ЦАП. Все повече са съвременните микроконтролери със свръхниска консумация с увеличен брой на вградените комуникационни интерфейси, като има модели с по няколко интерфейса от определен вид. Сред съществените особености е и наличието в не малко случаи на компаратори и операционен усилвател, а за I/O изводите трябва да се има предвид техният максимално допустим ток – входен и изходен често са с различни стойности.

Универсални 8-битови микроконтролери
Обменът на данни с управляваните устройства и прибори се осъществява чрез 8b числа, а терминът „универсален” е заради голямото разнообразие на приложенията им. Те се използват за реализация на системи за управление в индустрията, в измервателните прибори, за управление на жични и безжични сензори, в електродомакински уреди, ОВК системи, медицински апарати, компютърна периферия, охранителни системи и др.

Идея за структурата на тези микроконтролери е дадена на фиг. 1, като Bus е съвкупността от шината за данни, адресната и контролната шина. Тактовите импулси за блоковете се осигуряват от контролера Clock Contr, свързан към вътрешния генератор Int Osc и външния Ext Osc, като последният изисква външен кварцов или керамичен резонатор SSRes.

Постояннотоковото захранване на блоковете се осъществява чрез Supply, а с Core е означен централният процесор, който осигурява функционирането на микроконтролера. Паметите Flash, EEPROM и RAM (практически винаги статична SRAM) имат двупосочен обмен на данни чрез Bus с останалите блокове. Всеки от изводите ED1 на входно-изходния блок I/O може да се конфигурира за работа като вход и изход и чрез него микроконтролерът осигурява връзка с различни външни устройства.

Изходите ED2 от RTC обикновено са за включване на външна аларма и евентуално за извършване на някаква калибровка на външни прибори. Чрез Interfaces се осъществява двупосочен обмен на данни между микроконтролера и външни прибори, свързани към ED3, чрез един или повече от масово използваните комуникационни интерфейси.

На входа (или входовете) ED4 се подават постоянни напрежения, при достигане на които компараторите Comp включват или изключват определени блокове на микроконтролера. Целта на блок ADC е чрез микроконтролера да могат да се обработват и аналогови сигнали, а за работата му на вход REF се подава необходимото опорно напрежение.

В табл. 1 са дадени основните параметри на един от моделите в 6 серии микроконтролери, например тази на ред 1 съдържа 16 различни микроконтролера, серията на ред 4 има приемо-предавател от типа EUSART, съвместим с интерфейсите RS-232, RS-485 и LIN и серията на ред 6 е с блок за дистанционно управление с инфрачервени лъчи.

При ползването на микроконтролерите трябва да се има предвид, че в част от тях паметта е разделена на 2 части, което е отбелязано в техническата документация (ред 1 на табл.1). По-голямата част е за данни, а в по-малката се записват програмите за работа (Boot Sector) на микроконтролера и нейният брой цикли запис-изтриване е значително по-малък (например 100).

Универсални 16-битови микроконтролери
Принципните им различия и предимства спрямо 8-битовите микроконтролери със свръхниска консумация са същите, както при сравнението на 8b и 16b класически микроконтролери. Не по-различна е и същността на приложенията им спрямо 8-битовите, въпреки че може да има разлики поради наличието на специфични блокове в някои модели. Например микроконтролерът в ред 2 на табл. 2 има изводи за захранване на обикновен диод като индикатор и на инфрачервен светодиод в системи за дистанционно управление (Remote Control) със скорост на обменяните данни 1 Mbps.

В табл. 2 са основните параметри на няколко характерни микроконтролера, като с I/O е отбелязан максималният ток на техните изводи I/O ("-" за влизащ във възела и "+" за излизащ), който параметър по принцип съществува във всякакви микроконтролери. Таблицата съдържа сравнително малко примери, тъй като все по-голяма част от 16-битовите микроконтролери със свръхниска консумация имат допълнителни функции и затова не са универсални, а принадлежат към някой от другите видове, разгледани в статията.

Универсални 32-битови микроконтролери
Повишената им сложност логично обяснява тяхната поява няколко години след предните, като след 2012-2013 г. са твърде малко новите универсални 32b микроконтролери със свръхниска консумация.

Реализацията им отново е на основата на фиг. 1 с множество подобрения и разширения, сред които по-голямата fCPU и съответно по-бързият обмен на данните, допълнителното му ускоряване от подобрената шинна организация и кодирането на данните обикновено чрез AES128, повишен обем на паметите и подобрени техни параметри (например 15 години съхранение на данните в EEPROM), многоканални DMA за ускоряване на обмена с периферни устройства (някои с избран от потребителя защитен достъп), наличие на контролер за прекъсванията с програмируем приоритет, възможност на осигуряване на импулси с широчинноимпулсна модулация на всички I/O, изводи със значителен ток (High-Drive Pin).

Към това се прибавя работата на периферните устройства с по няколко десетки прекъсвания.
Приложенията са аналогични на предните два вида микроконтролери, но 32-битовите се използват значително повече в “интелигентни” измервателни прибори за електричество, вода, газ (Smart Meters), в сложни медицински прибори и други системи, изискващи по-големи изчислителни ресурси.

В табл. 3 са включени няколко типични микроконтролера, като II/О е общият максимален ток на всички I/O. Микроконтролерът на ред 1 има освен дадените генератори и такива от RC тип с честоти 32 kHz, 115 kHz и 120 MHz, докато този на ред 3 е част от серия от 52 микроконтролера.

Микроконтролери с управление на LCD индикатори
Имат структурата на универсални микроконтролери с допълнителна възможност за управляване на течнокристални индикатори (LCD), практически винаги от матричен тип. Индикаторът се свързва към изходите на прибавения в микроконтролера драйверен блок (LDC Driver), свързан към неговата обща шина и консумиращ при работата си ток ILCD (с не винаги давана в каталозите стойност).

Необходимото напрежение за работа на индикатора се осигурява от друг блок (LCD Booster) с отделно външно VLCD или ползващ това на микроконтролера. Често VLCD може да се регулира, като има до няколко десетки фиксирани стойности с цел промяна на контраста на изображението. Например при дадения на ред 6 от табл. 4 те са 8 през 0,1 V, докато в микроконтролера на ред 5 има автоматично регулиране в зависимост от околната осветеност.

Други особености са съществуването на модели (дадените на редове 1, 4 и 6), чийто драйвер може да управлява два различни вида индикатори, необходимостта част от RAM да се отдели за работата на индикатора (обемът на отделените части понякога се дава в документацията) и възможността някои микроконтролери (вж. ред 3) да осигуряват работата на индикатора в изключено състояние.

Микроконтролери за работа със сензори за докосване
Ползваните в продължение на повече от столетие механични ключове и бутони в електрическите и електронни устройства постепенно биват измествани от създаваните през последното десетилетие капацитивни сензори за докосване (Touch Sensor), които осигуряват желаното функциониране благодарение на промяната на паразитния им капацитет при приближаване с ръка.

Регистрирането на тази промяна изисква подходяща електроника (Capacitive Touch Detection Circuit), която напоследък се вгражда като допълнителен блок (Touch Sensor Control Unit) в някои микроконтролери. Той увеличава незначително размерите на чипа на микроконтролерите и тяхната цена, а при задействане консумира ток до няколко десетки mA.

Принципът на действието му е намаляване на броя на генерираните импулси при нарастване на паразитния капацитет. При това останалата част от действието на микроконтролера не се променя. Принципът на действие на сензорите позволява задействането им и при приближаване (Proximity Sensing), което значително разширява областите на приложение.
Засега тази категория микроконтролери се използват най-често в битови уреди, в системи за сградна автоматизация, в медицински апаратури и др.

Типични микроконтролери са 8-битовите PIC16F1554 на Microchip Technology и C8051F9907 на Silicon Labs, както и даденият на ред 6 от табл. 4. Сред 16-битовите са MSP430F6659 на Texas Instruments и R8C/3xT на Renesas, както и SAML21E на Atmel при 32-битовите.

Микроконтролери с USB
Появиха се на пазара през последните няколко години като към ползваните структури на микроконтролери бе прибавен блок за обмен на данни с USB 2.0 – практически винаги със скорост 12 Mbps (Full Speed, FS), към която в някои модели (обикновено 8-битовите) е прибавена и 1,5Mbps (Low Speed, LS). Вътрешната връзка на блока е към шината на микроконтролера, а за външната в блока има приемо-предавател с познатите от интерфейса изводи D+ и D-. Част от микроконтролерите съдържат и блок за работа със сензори с докосване.

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

Характерни 8-битови микроконтролери са серията PIC18F97J94 на Microchip с 12 разновидности за LS и FS и вграден блок за LCD индикатори, както и EFM8UB1 на Silicon Labs също за LS и FS, но с допълнителна възможност за разпознаване на USB зарядно устройство. От 16-битовите може да бъде отбелязан MSP430F6659 на Texas Instruments, който е част от серия от 8 микроконтролера и осигурява работа с FS.

Относителният дял на 32-битовите микроконтролери е по-голям в сравнение с универсалните и сред тях са R5F51138AGFM на Renesas за LS и FS с допълнителна възможност за зареждане на акумулатора на съдържащия го прибор и осигуряване на функцията OTG (непосредствен обмен на данни между периферни устройства без участие на процесора). Последният пример е MKL27Z64VLH4 на Freescale за FS, който в началото на 2015 г. е бил микроконтролерът с най-малък консумиран ток (46 mA/MHz).



ЕКСКЛУЗИВНО

Top