Оглавление
Сферы применения маломощных микроконтроллеров увеличиваются, в основном за счет популяризации так называемого Интернета вещей, мобильных устройств и носимой электроники. В компонентах этого типа реализованы различные современные конструктивные решения, повышающие эффективность управления энергопотреблением, о чём мы здесь и поговорим.
Понятно, что для устройств с батареечным питанием снижение энергопотребления является важной целью. За счет этого продлевается срок службы батареи, и в то же время позволяет использовать меньшую и легкую батарею, а то и вовсе отказаться от нее в пользу получения питания из окружающей среды. Значит можно не только снизить расходы, но и уменьшить габариты и вес устройства. Эти две функции в сочетании с минимальной потребностью в подзарядке батарей являются ключевыми в бытовой электронике и IoT.
Поэтому в сравнении с малым энергопотреблением даже эффективность и скорость вычислений МК теряют свое значение. Конечно, это по-прежнему их важные особенности, но у разработчиков уже нет желания добиваться максимума любой ценой, ведь приоритетом выступает именно энергоэффективность — пресловутый КПД.
От чего зависит потребляемая мощность
Полная потребляемая мощность имеет две составляющие: ток утечки, потребляемый в состоянии покоя, и динамическую составляющую, при переключении логических состояний. Как правило преобладает последнее, особенно при более высоких напряжениях питания. Динамическая составляющая пропорциональна частоте тактового сигнала. Поэтому у энергосберегающих микроконтроллеров она обычно не превышает 50 МГц, а те, у которых оптимизация энергопотребления не является приоритетом, работают на тактовых частотах в сотни мегагерц.
Но поскольку динамическая составляющая также прямо пропорциональна квадрату рабочего напряжения, именно эта величина в первую очередь оказывает решающее влияние на снижение энергопотребления. Например, по сравнению с потребляемой мощностью при напряжении коммутации 1,8 В, если его уменьшить до 0,5 В ток снижается в 13 раз, а при 0,3 В становится даже в 36 раз меньше.
Однако работа на пороговых уровнях значительно ниже традиционных требует совершенно другого подхода к проектированию интегрированных структур. Они в микроконтроллерах в виде технологии SPOT (подпороговая технология оптимизации мощности) были реализованы, запатентованы и коммерциализированы некоторое время назад компанией Ambiq.
История технологии SPOT
Впрочем, концепция SPOT не нова — ее потенциал был замечен еще в 1970-х годах. Первые реализации в то время включали кардиостимуляторы и метки RFID, но в остальном не получили широкого распространения. Только в 90-х годах прошлого века она была возрождена в рамках академических исследовательских подразделений, где понимали какое значение будут иметь технологии снижения энергопотребления в будущем.

На практике технология SPOT представляет собой модификацию стандартной конструкции для работы при более низких уровнях напряжения. Исследователи столкнулись с многочисленными трудностями в работе над этой задачей. Таковы были модели транзисторов, которые не оправдали ожиданий из-за того, что они были ориентированы на высокое состояние, а работа в 0-пороговом диапазоне напряжений моделировалась неточно. Таким образом, существующих моделей было недостаточно для моделирования реализации SPOT.
Помехи тоже были проблемой, в данном случае из-за того что соотношение потребляемого тока в высоком и низком состояниях составляет около тысячи, в то время как в традиционной технологии оно на несколько порядков выше. Еще одной проблемой является чувствительность схем SPOT к факторам производственного процесса и окружающей среды (температура). Что касается последнего, разработчики должны учитывать тот факт, что малый ток при повышенной температуре близок к большому току при более низкой температуре. Поэтому требуются решения благодаря которым логические состояния будут корректно определяться вне зависимости от условий работы схемы.
Микроконтроллеры в технологии SPOT
Эти проблемы были всё-же преодолены, что привело к использованию технологии SPOT для разработки первого семейства микроконтроллеров Apollo на основе этого решения, с потреблением тока 30 мкА/МГц в рабочем режиме и 100 нА в спящем. Они основаны на ядре ARM Cortex M4F, что отличает их от других микроконтроллеров с оптимизированным энергопотреблением, которые традиционно полагались на ядро ARM Cortex-M0+. Кроме того, благодаря лучшей вычислительной производительности ядра M4F, микроконтроллеры Apollo лучше подходят для устройств требующих считывания и анализа данных с нескольких датчиков, таких как IoT.

Стоит отметить, что не все микросхемы в семействе Apollo выполнены по технологии SPOT. А максимальная тактовая частота 24 МГц была выбрана как компромисс между оптимальным энергопотреблением и вычислительной производительностью, достаточной для большинства применений микроконтроллеров Apollo, то есть IoT и носимой электроники.
Методы энергосбережения
Помимо радикальных изменений в конструкцию интегральных микросхем вносятся и мелкие модификации. Это касается, например, управления питанием. Функции оптимизированы для обеспечения максимального времени автономной работы, несмотря на большие и быстрые изменения энергопотребления при переключении между спящим и активным режимами. Это продлевает время сна за счет быстрого переключения в активное состояние и столь же быстрого переключения обратно, сводя к минимуму время пикового энергопотребления.
Оптимизация энергопотребления в спящем режиме — еще один способ экономии энергии. Для этой цели часто единственной подсистемой, которая остается включенной в этом режиме, является чип RTC, который также должен потреблять как можно меньше энергии — в энергосберегающих микроконтроллерах этот компонент обычно потребляет не более нескольких сотен наноампер.
Кроме того, правильно спроектированная функция пробуждения подстраивает время выхода микроконтроллера из спящего режима под время пробуждения компонентов с которыми он работает. Это аналого-цифровые преобразователи, используемые если микроконтроллер является частью датчика или сетевого узла IoT. Синхронизация важна, потому что если микроконтроллер переходит в активный режим слишком быстро до того как аналого-цифровой преобразователь проснется, то мощность, используемая микроконтроллером в это время, будет потрачена впустую. Кроме того, замена 16-разрядного счетчика на 32-разрядный приводит к меньшему количеству прерываний пробуждения, что позволяет экономить энергию.
Энергопотребление при беспроводной передаче данных также снижено. Для этого сложные протоколы связи заменяются более простыми, благодаря чему данные передаются в более короткие сроки. Прием данных также проблематичен — если основной приемник не полностью отключен в спящем режиме, он может потреблять много энергии и потенциально увеличивать задержку. Альтернативой является сверхмаломощный оптимизированный WURx (Wake-Up Receiver).
Что такое приемник WURx
Во многих IoT устройствах данные в небольших количествах отправляются очень редко, например, всего несколько раз в день — в этом случае обычно батареи, которой оснащены IoT-узлы, хватает на весь срок службы. Но если им приходится время от времени дополнительно сканировать сеть для получения данных, передача которых не планируется, дело усложняется. Чтобы не потреблять слишком много энергии, основной приемник PCR (Primary Connectivity Radio) дополняется приемником WURx, единственной задачей которого является сканирование сети и, в случае обнаружения передачи, инициировать пробуждение приемника PCR.

На первый взгляд кажется что это решение не имеет смысла, ведь как дополнительный элемент может снизить энергопотребление? На практике, в то время как PCR является полнофункциональным приемником, предназначенным для передачи и приема данных со скоростью Мбит/с или даже Гбит/с, WURx получает только один пакет пробуждения (WUP). Затем он будит PCR.
Проблемы в реализации WUR
В 2016 году началась работа по стандартизации приемников WURx под спецификацию IEEE 802.11 с переименованием их в Wake-Up Radio (WUR). Этот термин означает, что WURx является не только маломощным приемником, но и реализует канальный уровень. WUR должен соответствовать следующим условиям: активная потребляемая мощность не должна превышать 1 мВт, совместимость с более старыми устройствами IEEE 802.11 в той же полосе и том же диапазоне что и в случае PCR.
Для выполнения первого условия используется модуляция OOK (On-Off Keying), заключающаяся в включении и выключении несущего сигнала. Это элементарная форма цифровой модуляции с простой архитектурой приемника, основанной на детекторе огибающей без энергоемких блоков сравнения фаз. Кроме того, поскольку точный уровень сигнала не важен, регулировка усиления в приемнике может быть упрощена.
Второе условие означает, что более старые устройства должны уметь распознавать, что приемник WUR не является предполагаемым получателем данных, с целью приостановить передачу. На это указывает специальное поле в кадре WUP. Последнее условие выполнить сложнее всего — для этого скорость передачи снижена всего до 62,5 кбит/с.
Вспомогательные контроллеры
На рисунке показана блок-схема узла IoT с приемником WURx. Когда он обнаруживает передачу то пробуждает микроконтроллер, который, в свою очередь, включает периферийные устройства, такие как аналого-цифровой преобразователь и первичный приемник. Функция WURx может быть реализована в микроконтроллере или в отдельной интегральной микросхеме.

Аналогичным решением является использование контроллера датчика, который выполняет ту же функцию что и приемник WURx в беспроводной связи. В то время как основной микроконтроллер обычно представляет собой 32-х разрядную микросхему, контроллер датчика обычно 16-ти разрядный с оптимизированным энергопотреблением, работающий независимо. Точно так же как WURx позволяет основному приемнику оставаться в спящем режиме как можно дольше, сенсорный контроллер позволяет основному микроконтроллеру оставаться в спящем режиме в течение более длительных периодов времени, который активируется только для выполнения ресурсоемких вычислительных задач.







