У цьому прикладі застосування описується, як порівняти мікроконтролери з наднизьким споживанням. Буде обговорено основні відмінності між популярними мікроконтролерами із наднизьким споживанням, а також розглянуто як інтерпретувати характеристики та технічні вимоги та співвіднести їх із технічними вимогами до пристрою.

Для сучасних пристроїв з автономним живленням споживання мікроконтролера стає все більш важливим параметром. Більшість постачальників пропонують ряд мікроконтролерів із наднизьким споживанням, але вибір найкращого для Вашого пристрою рішення більш складний, ніж простий перегляд та порівняння першої сторінки технічного опису. Для вибору найбільш оптимального з погляду споживання рішення необхідно дуже докладно порівняти характеристики мікроконтролерів у всіх режимах роботи (включаючи режими зниженого споживання), розглянути способи синхронізації, характеристики обробки подій, вбудовані периферійні пристрої, наявність функції виявлення та захисту від короткочасного зникнення напруги живлення, величину струму витоку та ефективність обчислювального ядра.

Середнє значення споживаного струму

У пристроях, що низько споживають, середнє значення споживаного струму визначає термін служби акумулятора. Наприклад, якщо для живлення пристрою використовується джерело живлення з ємністю 400 мАч, то для того, щоб пропрацювати без заміни або підзарядки джерела живлення один рік, система повинна мати середнє значення споживаного струму менше 400 мАч/8760 год = 45.7 мкА. На малюнку 1 показано, що для виконання цієї умови система може споживати більше значення струму протягом коротких інтервалів, а решта часу маємати менше споживання.

вибір
Малюнок 1. Середнє значення споживаного струму

Режими зниженого споживання

Наявність режимів зниженого споживання - найважливіша характеристика, що дозволяє мікроконтролерам задовольнити вимогам до середнього значення споживаного струму. Низькоспоживаючі мікроконтролери мають режими зниженого споживання, де вони, тим щонайменше, здатні виконувати різні функції. Наприклад, мікроконтролери сімейства MSP430 мають п'ять режимів зниженого споживання. У режимі Low-power mode zero (LPM0) вимикається обчислювальне ядро, але інші функції залишаються активними. У режимах LPM1 та LPM2 до списку вимкнених функцій додаються різні функції синхронізації. LPM3 - режим зниженого споживання, що найчастіше використовується, в якому залишається активним тільки низькочастотний автогенератор і всі периферійні пристрої, що використовують для роботи синхросигнали цього автогенератора. LPM3 часто застосовується для роботи у переривчастому режимі, коли низькочастотний генератор застосовується як годинник реального часу через те, що він працює від 32768 Гц кварцового резонатора і споживає менше 1 мкА. У режимі LPM4 вимикаються всі вбудовані генератори, що призводить до автоматичного відключення всіх синхронних периферійних пристроїв. У цьому режимі аналогові периферійні пристрої можуть залишатися в активному режимі, але якщо відключити і їх, мікроконтролер (навіть здійснюючи регенерацію ОЗУ) споживатиме всього 100 нА.

Багато в чому споживання мікроконтролера залежить від системи синхронізації. Пристрої можуть входити в режим зниженого споживання і виходити з нього від кількох разів на секунду до кількох сотень разів на секунду. Здатність швидко входити в такі режими тавиходити з них, а також швидко обробляти дані після активізації, є критичним параметром, тому що після "пробудження" мікроконтролер деякий час простоює, очікуючи на встановлення стабільних синхроімпульсів і споживаючи досить великий струм. Більшість низькоспоживаючих мікроконтролерів містять так звані "миттєві" ("instant-on") автогенератори, які виходять на стабільний режим менш ніж за 10-20 нс. Але важливо зрозуміти, які генератори є "миттєвими", а які – ні. Деякі мікроконтролери мають два ступені синхронізації при пробудженні: спочатку синхронізація забезпечується від низькочастотного (зазвичай 32768 Гц) генератора, що задає, в той час як високочастотний генератор виходить на стабільний режим генерації тільки через кілька мілісекунд або навіть довше. У таких мікроконтролерах обчислювальне ядро ​​може розпочати роботу вже через 15 мкс, але з нижчою чи нестабільною частотою. Якщо обчислювальне ядро ​​повинно виконати кілька команд, наприклад 25, потрібно приблизно 763 мкс при частоті 32768 Гц. Обчислювальне ядро ​​споживає на низькій частоті значно менше, але і продуктивність його також значно нижча. З іншого боку, обчислювальне ядро ​​може працювати на високій, але неправильній чи нестабільній частоті. У цьому випадку час обробки мало, але програма не може виконати точний розрахунок часових параметрів. Якщо потрібна точна синхронізація, обчислювальне ядро ​​має очікувати встановлення стабільних синхросигналів. Мікроконтролери сімейства MSP430 мають час виходу високочастотного генератора, що задає, в стабільний режим менше 6 мкс (а часто навіть менше), що дозволяє виконати ті ж 25 команд всього за 9 мкс (6 мкс пробудження + 25 команд * 125 мкс). На малюнку 2 показані тимчасовідіаграми запуску миттєвого 8 МГц генератора, якому для виходу в режим стабільної генерації потрібно всього 292 нс.

мікроконтролера
Малюнок 2. Тимчасові діаграми запуску високочастотного "миттєвого" генератора, що задає мікроконтролерів сімейства MSP430

Крім того, якщо система синхронізації мікроконтролера здатна формувати кілька синхросигналів, периферійні пристрої можуть працювати при зупиненому обчислювальному ядрі. Наприклад, АЦП мікроконтролера потрібні високочастотні синхроімпульси. Якщо система синхронізації мікроконтролера здатна формувати кілька послідовностей, що синхронізують, то при роботі АЦП обчислювальне ядро ​​може бути зупинено, що дозволить знизити споживання системи в цілому.

Система обробки подій йде пліч-о-пліч із системою синхронізації. Переривання здатні вивести мікроконтролер з режиму зниженого споживання, тому, чим більше є переривань, тим більше гнучкості мікроконтролер має для забезпечення зниження загального споживання. Опитування станів висновків та периферійних пристроїв призведе до підвищення споживання, оскільки це потребуватиме додаткового часу знаходження мікроконтролера в активному режимі. Хороший низькоспоживаючий мікроконтролер повинен мати розвинену систему переривань обробки зовнішніх подій. Мікроконтролери сімейства MSP430 мають обробник переривання від 16 ліній портів введення-виведення загального призначення та від усіх периферійних пристроїв. Деякі периферійні пристрої, як таймери Timer_A і Timer_B і АЦП ADC12, для забезпечення більшої гнучкості мають кілька переривань.

Найбільшу вигоду від розвиненої системи переривання отримують пристрої із кнопками управління або клавіатурою для введення даних. Не мають розвиненої системи перериваннямікроконтролери повинні періодично опитувати клавіатуру чи кнопки. Мало того, що це вимагає часу, то це веде ще й до підвищення споживання. Мікроконтролери з розвиненою системою переривання можуть не діяти весь час, доки не буде натиснута якась кнопка.

Споживання та система керування живленням периферійних пристроїв також повинні враховуватися під час вибору мікроконтролера. Деякі низькоспоживаючі мікроконтролери виготовляються з урахуванням архітектур 20 - 30 річної давності, які були розраховані забезпечення низького споживання. Мікроконтролери сімейства MSP430 спочатку розроблялися як низькоспоживаючі, тому їх периферійні модулі також мають низьке споживання. Про це свідчить наявність можливості індивідуального їх включення – вимкнення або, що ще важливіше, автоматичного включення – вимкнення периферійних модулів. АЦП ADC12 мікроконтролерів сімейства MSP430 – приклад таких інтелектуальних периферійних пристроїв. Якщо воно не виконує перетворення, воно не споживає струму. При відсутності перетворення воно автоматично блокує свій вбудований генератор, що задає, і цифрову схему обробки. Перед початком перетворення модуль автоматично вмикається або перезапускається.

Крім того, периферійні пристрої можуть керуватися перериваннями інших периферійних пристроїв. Наприклад, АЦП ADC12 мікроконтролерів сімейства MSP430 може бути запущений таймером Timer_A або Timer_B. Це дозволяє синхронізувати вибірки АЦП та виконувати їх без використання обчислювальної потужності ядра. АЦП ADC12 може активізувати обчислювальне ядро ​​після закінчення перетворення.

Деякі мікроконтролери MSP430 мають функцію прямого доступу до пам'яті (DMA), яка дозволяє автоматично.обробляти дані без втручання обчислювального ядра. Використання контролера DMA дозволяє не тільки збільшити швидкість обробки даних, але, що ще важливіше, і зменшити споживану потужність. Використання DMA для автоматичного запису даних, наприклад ОЗУ, дозволяє обчислювальному ядру бути вимкненим, а АЦП у цей час працювати і виконувати перетворення. Обчислювальне ядро ​​активізується після того, як всі необхідні перетворення виконані.

Захист від короткочасного зникнення напруги живлення

Багато мікроконтролерів мають вбудований захист від короткочасного зникнення напруги живлення, яка перезапускає його в тих випадках, коли напруга живлення знижується нижче за нормальний рівень. У більшості мікроконтролерів ця схема захисту споживає від 10 до 70 мкА. Деякі мікроконтролери з метою зниження споживання мають можливість відключення схеми захисту від короткочасного зникнення напруги живлення, але для забезпечення ефективності роботи цієї схеми необхідно, щоб вона працювала весь час, адже короткочасне зникнення напруги живлення неможливо передбачити. Тому струм споживання такої схеми захисту додається до мінімального струму, що споживається системою.

Схема захисту від короткочасного зникнення напруги живлення в мікроконтролерах сімейства MSP430 не може бути відключена, при цьому вона не споживає додаткового струму. Ця інформація міститься у всіх технічних описах цих мікроконтролерів.

Струм витоку висновків

Іноді при виборі мікроконтролера, що низько споживає, струм витоку висновків не враховується, але для більшості додатків він дуже важливий. Більшість низькоспоживаючих мікроконтролерів має струм витоку висновків до 1 мкА. Таким чином, сумарний струм витокумікроконтролера, що має 20 висновків, може досягти 20 мкА! Мікроконтролери сімейства MSP430 мають струм витоку висновків не більше 50 нА, тому струм витоку 20 вивідного мікроконтролера цього сімейства не перевищить 1 мкА.

Зрештою, часто неправильно тлумачиться ефективність обробки мікроконтролерів. Часто думають, що 16-розрядні мікроконтролери вимагають вдвічі більше пам'яті, ніж 8-розрядні мікроконтролери, але 16-розрядним мікроконтролерам може знадобитися набагато менше пам'яті програми, а, крім того, вони зазвичай виконують завдання швидше. Наприклад, у системах, де є 10-бітний АЦП або потрібно виконання 16-розрядної математики, обчислювальне ядро ​​8-розрядних мікроконтролерів сильно завантажено. Далі, багато 8-розрядних мікроконтролерів мають тільки один робочий регістр (акумулятор), за допомогою якого і проводяться всі обчислення. У таблиці 1 показані команди, які необхідно виконати мікроконтролерам сімейства MSP430 та звичайному 8-розрядному мікроконтролеру для переміщення результату перетворення 10-бітного АЦП. Працюючи на частоті 1 МГц, мікроконтролери сімейства MSP430 виконають це переміщення за 6 мкс, а 8-розрядний мікроконтролер – за 24 мкс.

Таблиця 1. Порівняння ефективності обробки 16- та 8-розрядних мікроконтролерів