Altinkaya: турецкие корпуса для РЭА
РадиоЛоцман - Все об электронике

Время «пробуждения» микроконтроллеров как основной показатель низкого энергопотребления

Renesas; Silicon Labs; Freescale; NXP

John Donovan

Electronic Products

Когда энергопотребление микроконтроллеров (МК) впервые начало становиться одним из главных приоритетов, разработчики могли просто заглянуть в техническое описание МК, чтобы сравнить энергопотребление в активном режиме, желательно на одной и той же частоте, и принять субъективное решение по выбору микроконтроллера для своего устройства. Сравнить энергопотребление в спящем режиме тоже не так уж сложно, но вы должны убедиться, что сравнение происходит при одинаковых условиях. Например, часы реально времени включены, остальные генераторы тактовой частоты остановлены, содержимое ОЗУ сохраняется, периферия находится в третьем состоянии или выключена и пр. Тогда, даже при том, что производители МК придерживаются закона Мура (количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается каждые 24 месяца), экономия энергии, достигнутая в активном режиме, компенсировалась увеличением токов утечки, что делало применение спящих режимов абсолютно непривлекательными, в отличие от полного отключения питания части чипа.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Сегодня сравнение спецификаций различных МК по энергопотреблению становится более сложной задачей. Это связано, в первую очередь, с тем, что производители МК внедряют в свои приборы множество различных спящих режимов, которые просто несопоставимы. В силу того, что МК в большинстве приложений большую часть времени находятся в одном или нескольких из этих спящих режимов, возникает вопрос, может ли МК выйти из них на активный режим достаточно быстро, чтобы выполнить поставленную задачу. В данной статье мы рассмотрим время пробуждения МК в качестве важной переменной при оценке соответствия режима пониженного энергопотребления для данного приложения. Именно поэтому время пробуждения МК или время выхода на активный режим становится важным показателем низкого энергопотребления МК.

Энергосберегающие режимы работы

Последние поколения МК поддерживают несколько режимов сна, каждый из которых служит для включения пониженного энергопотребления все большего количества периферийных модулей. Недавно анонсированные компанией Renesas МК семейства RX111 поддерживают три режима работы с пониженным энергопотреблением: сон (Sleep), глубокий сон (Deep Sleep) и программный дежурный режим (Software Standby) (Рисунок 1).

Энергосберегающие режимы работы микроконтроллеров Renesas RX111
Рисунок 1. Энергопотребление микроконтроллеров семейства RX111 компании Renesas и время выхода на активный режим.

МК RX111 могут работать на различных скоростях, поэтому энергопотребление в режиме сна и глубокого сна будет зависеть от тактовой частоты периферийных модулей, при условии, что линии ввода/вывода и высокоскоростной внутренний осциллятор остаются активными, даже если тактирование процессора (CPU clock) отключено.

  • В режиме сна процессор останавливается и данные сохраняются. В этом режиме при работе на тактовой частоте 32 МГц типовое значение тока потребления составляет 6.4 мА, а для выхода на активный режим потребуется время 0.21 мкс.
  • В режиме глубокого сна, процессор, ОЗУ и Flash-память останавливаются, данные сохраняются, однако, некоторые периферийные модули остаются активными. На тактовой частоте 32 МГц ток потребления составит 4.6 мА, но чтобы «проснуться» процессору потребуется уже 2.24 мкс.
  • В программном дежурном режиме, система ФАПЧ (PLL) и все системные осцилляторы выключаются, за исключением вспомогательного тактового генератора и независимого сторожевого таймера (IWDT); почти все модули выключаются, но данные сохраняются. Потребляемый ток в этом режиме будет в диапазоне 350 – 790 нА, в зависимости от использования функций детектора низкого напряжения питания (LVD) и часов реального времени. Для выхода на активный режим на тактовой частоте 32 МГц процессору потребуется 40 мкс.

Чем больше функций отключено, тем меньше энергопотребление МК, но тем больше потребуется времени процессору чтобы «проснуться» и выполнить задачу. Время пробуждения можно существенно сократить, если переводить процесс в активный режим с низкой тактовой частотой. К примеру, 40 мкс, которые требуются МК RX111 для перехода в активный режим из программного дежурного режима, можно сократить до 4.8 мкс, если процессор будет работать на тактовой частоте 4 МГц, а этого может быть достаточно для задачи периодической проверки различных датчиков.

Время пробуждения является ограничительным фактором, который определяет, какой режим пониженного энергопотребления разработчик может использовать в данный момент времени в своем приложении. В приложении контроля напряжения батареи (детектор снижения напряжения питания) МК семейства RX111 может работать на частоте 1 МГц, находиться большую часть времени в программном дежурном режиме (потребляя 0.9 мА) и «просыпаться» за 15.8 мкс. С другой стороны, в приложении высокоскоростной и непрерывной обработки данных целесообразно использовать режим сна (на частоте 32 МГц ток потребления составляет 6.4 мА) с целью достижения минимально времени пробуждения 0.21 мкс для обработки заголовков сообщений и подтверждения получения данных.

Быстрые 32-разрядные МК с низким энергопотреблением

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

МК компании NXP семейства LPC1102/04 – это дешевые приборы с ядром ARM Cortex-M3, работающее на частоте 50 МГц и имеющие 32 Кбайт Flash-памяти, 8 Кбайт ОЗУ и 11 линий ввода/вывода общего назначения. МК LPC1102 поддерживает три режима работы: активный, сон и глубокий сон. Процессор может выйти на активный режим работы из состояния глубокого сна с током потребления 220 нА за 56 мкс. В активном режим ток потребления составляет 140 мкА/МГц.

Семейство Kinetis KL05 компании Freescale – это 32-разрядные микроконтроллеры с ядром ARM Cortex-M0, имеющие 32 Кбайт Flash-памяти, 4 Кбайт ОЗУ и максимальную тактовую частоту 48 МГц. Приборы обеспечивают значительную гибкость благодаря наличию девяти энергосберегающих режимов работы и асинхронного контроллера пробуждения с низким током утечки, что позволит оптимизировать энергопотребление с учетом требований приложения. В активном режиме ток потребления составляет 89 мкА/МГц и снижается до 0.96 мкА в режиме наименьшего энергопотребления. Время пробуждения и выхода из предшествующего режима составляет 96 мкс.

Компания STMicroelectronics выпускает МК STM32L151C6U6 с 32 МГц ядром ARM Cortex-M3. Приборы предлагаются со встроенной Flash-памятью до 128 Кбайт, 16 Кбайт ОЗУ, и имеют 93 быстрые линии ввода/вывода общего назначения. Ток потребления в активном режиме достигает 240 мкА/МГц. В режиме наименьшего энергопотребления МК потребляет 0.9 мкА, а время пробуждения составляет всего 8 мкс.

Семейство EFM32G210 компании Silicon Labs (ранее Energy Micro, семейство Gecko), выполненное на ядре ARM Cortex-M3 с рабочей частотой 32 МГц, характеризуется током потребления в активном режиме 180 мкА/МГц. МК EFM32 имеют четыре режима работы с низким энергопотреблением (Рисунок 2), при этом переход из активного (EM0) в один из энергосберегающих режимов выполняется программно, а пробуждение процессора и переход обратно в активный режим EM0 инициализируются прерываниями. Наименьший ток потребления составляет 0.9 мкА, а время пробуждения – 2 мкс.

Смена режимов работы микроконтроллеров семейства EFM32 компании Silicon Labs.
Рисунок 2. Смена режимов работы микроконтроллеров семейства EFM32 компании Silicon Labs.

Таблица на Рисунке 3 обобщает информацию, приведенную выше. Ее следует рассматривать как  инструктивную, даже если она не является полной, ввиду того, что каждый МК имеет множество энергосберегающих режимов с различным временем пробуждения, применение которых может быть целесообразным в различных точках приложения. В настоящее время потребуется проштудировать спецификации и руководства по аппаратной части того или иного МК, чтобы получить информацию по энергосберегающим режимам работы и времени выхода из них. Инженеры-разработчики должны поощрять производителей микроконтроллеров, что бы те, в свою очередь, более наглядно предоставляли эти данные, ведь они являются важным критерием при разработке приложений с низким энергопотреблением.

Сравнение энергосберегающих режимов работы и времени пробуждения 32-разрядных микроконтроллеров.
Рисунок 3. Сравнение энергосберегающих режимов работы и времени пробуждения 32-разрядных микроконтроллеров.

От теории к практике

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

Заключение

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

digikey.com

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Wakeup Time as a Low-Power Specification

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя