Приручаем микроконтроллер в режиме ленивца. Микросхемы EnerChip компании Cymbet

| Cymbet Corp.

Важнейшая задача, стоящая перед разработчиками автономных систем сбора данных Интернета вещей – сделать их экономичными настолько, насколько это возможно. Большинство изделий такого рода питаются либо от заменяемых батарей, либо от внешних источников – солнечных элементов, виброгенераторов и т.д. Батареи желательно менять как можно реже; обычный срок работы от одного комплекта батарей типичного устройства Интернета вещей – бытового счётчика тепла – составляет не менее года. Внешние же источники энергии крайне нестабильны и маломощны, что также означает необходимость как можно экономнее расходовать с таким трудом полученную энергию.

В основе устройств сбора данных лежат маломощные микроконтроллеры, чья задача – принять данные от сенсоров, обработать их и передать по проводному или беспроводному интерфейсу в сеть. Для большинства бытовых применений достаточно опрашивать датчики раз в секунду, минуту или даже реже; но иногда это требуется делать с частотой порядка нескольких герц. В любом случае, время, в течение которого микроконтроллер обрабатывает и передаёт данные, мало по сравнению с периодом опроса датчиков.

Иными словами, большую часть времени устройство ничего не делает. Поэтому с точки зрения экономии энергии лучше всего будет переводить микроконтроллер в режим сна, при котором его потребление снижено до минимума. В этом случае общая мощность, потреблённая микроконтроллером, складывается из двух составляющих:

PΣ=(Pсон×tсон%+ Pраб×tраб%)/100%,

где Pсон и Pраб ­– мощность, потребляемая в режимах сна и работы, а  tсон% и tраб% – время, проведенное в этих режимах, выраженное в процентном соотношении. Для оптимизации схемы с точки зрения энергопотребления следует определить, какое из слагаемых общей мощности больше. И если вдруг оказалось, что в режиме сна микроконтроллер потребил больше энергии батареи, чем работая, имеет смысл переводить его в более глубокий сон.

Практически все современные микроконтроллеры обладают несколькими режимами энергосбережения, в том числе и режимом глубокого сна, когда неактивна практически вся периферия и, как следствие, потребление тока крайне мало. Использованию этого режима в качестве основного мешает невозможность самостоятельного пробуждения, так как в нём неактивны таймеры, которые могут выполнять роль "будильников". Единственный способ будить микроконтроллер, спящий так крепко – внешние прерывания. Однако прерывания не могут приходить из "ниоткуда", и мы возвращаемся к тому же месту, с которого начали: снизив до предела потребление микроконтроллера, мы вынуждены тратить драгоценную энергию батарей на питание внешних источников прерываний.

Но не все так плохо. Среди современной элементной базы можно отыскать микросхемы с крайне низким потреблением, использование которых вместе со спящим микроконтроллером -ленивцем принесёт реальную экономию. Одно из таких решений – интегральные микросхемы серии EnerChip компании Cymbet, представляющие собой самые экономичные из доступных на рынке часов реального времени, объединённых с миниатюрной аккумуляторной батареей и схемой управления зарядкой и питанием. Часы могут играть роль таймера, периодически пробуждающего микроконтроллер прерываниями. Кроме этого, микросхемы EnerChip оснащены ключом для непосредственного управления питанием микроконтроллера и остальных компонентов схемы, а также последовательным интерфейсом.  Поэтому с их помощью можно управлять режимами работы микроконтроллера так гибко, как это только возможно. При этом микроконтроллер может предотвращать принудительное отключение в случае, если он не успевает выполнить свои задачи.

В схемах на рис. 1 и 2 микросхема EnerChip прямо управляет питанием микроконтроллера и датчиков. Без дополнительных компонентов микросхема может размыкать земляную шину питания (рис.1), а дополнительный транзистор на рис.2 позволяет переключать и шину Vcc. С помощью последовательного интерфейса микроконтроллер имеет возможность отсрочить отключение питания.

Рис.1. Схема управления питанием микроконтроллера и датчиков устройства с помощью таймера EnerChip. Размыкается земляная шина

Рис.1. Схема управления питанием микроконтроллера и датчиков устройства с помощью таймера EnerChip. Размыкается земляная шина

Управление питанием микроконтроллера размыканием положительной шины питания

Рис.2. Управление питанием микроконтроллера размыканием положительной шины питания

Если же для достижения заданных требований к энергосбережению достаточно просто переводить микроконтроллер в режим глубокого сна, потребуется схема, показанная на рис.3.  Здесь микроконтроллер переводится в режим сна командами по интерфейсу I2C, а выводится из него прерыванием.

Реализация управления режимами работы микроконтроллера с помощью прерываний

Рис.3. Реализация управления режимами работы микроконтроллера с помощью прерываний

Применение подобных схемотехнических решений позволяет получить весьма значительную (до 10 раз и более!) экономию по сравнению с традиционными схемами при условии относительно коротких рабочих циклов и долгих пауз между ними – ведь именно в режиме простоя проявляются преимущества малопотребляющего таймера. А возможность использовать резервную батарею микросхемы EnerChip расширяет области ее применения и позволяет не опасаться за часы реального времени во время замены основных батарей устройства.

Сравнение позиций

  • ()