Технология снижения энергопотребления picoPower в микроконтроллерах AVR и SMART ARM компании Atmel

№ 9’2015
PDF версия
На заре развития микроконтроллерных систем разработчики боролись в основном за повышение их производительности. Современные типовые микроконтроллеры всех ведущих компаний уже имеют достаточный запас вычислительной мощности, превосходящий потребности большинства встраиваемых приложений. В связи с постоянно растущей популярностью электронных устройств, питаемых от гальванических элементов, на первое место в списке приоритетов выходит оптимизация энергопотребления устройства с целью продления срока службы батарей.

В июне 2015 года корпорация Atmel объявила о том, что количество поставленных ею микроконтроллеров AVR — 7 338 088 583 штуки — превысило численность населения Земли. Это означает, что в среднем на одного жителя нашей планеты приходится один микроконтроллер архитектуры AVR. В 1992 году выпускники Норвежского университета технологии и науки Алф Эгил Боген (Alf Egil Bogen) и Вегард Воллан (Vegard Wollan) предложили концепт «RISC-микроконтроллер с Flash-памятью», ставший основой архитектуры, известной сегодня как одна из самых успешных в индустрии. Серийный выпуск микроконтроллеров с архитектурой AVR начался в 1996 году. Выполненные по технологии КМОП, они изначально имели очень хорошие показатели по энергопотреблению. Тем не менее на протяжении всех этих лет Atmel постоянно инвестирует значительные средства в технологии производства и дизайн кристаллов для снижения потребляемого тока у своих фокусных продуктов — микроконтроллеров AVR и SMART ARM.

В 2004 году компанией были впервые представлены устройства, работающие со 100%-ным функционалом при напряжении питания 1,8 В. В следующем году технологические наработки и дизайнерские приемы Atmel оформились в собственную технологию, названную picoPower. Она обеспечивает минимально возможное энергопотребление кристалла при сохранении остальных параметров изделия на высоком уровне. Именно тогда был выпущен первый микроконтроллер, потребляющий менее 100 нА при сохранении содержимого внутренней памяти SRAM. В 2009 году компания Atmel представила кристалл AТ32UC3L с током потребления 9 нA в режиме Standby и энергопотреблением в активном режиме 0,27 мВт/MГц.

Технология Atmel picoPower базируется на двух основных принципах:

  • Всегда завершать процесс обработки информации максимально быстро, затратив при этом так мало энергии, насколько возможно.
  • Не использовать или почти не использовать энергию всякий раз, когда процесс остановлен.

В дополнение к технологически выверенному балансу усилительных характеристик транзисторов и минимизации их токов утечки технология picoPower включает следующие инженерные приемы.

Остановка или снижение тактовой частоты для неиспользуемых блоков микроконтроллера

Хорошо известно, что микроконтроллер может функционировать при различных тактовых частотах, при этом его энергопотребление уменьшается со снижением тактовой частоты. При проектировании энергоэффективного устройства на базе микроконтроллера нет необходимости тактировать все его блоки с одинаковой частотой. Микроконтроллеры семейств AVR и SMART ARM используют тактовые сигналы разной частоты для ядра, внутренних шин и для каждого независимого периферийного блока с целью снижения общего потребляемого тока. Например, если заданные приложением функциональные характеристики периферийного блока обеспечиваются при его работе на пониженной тактовой частоте, то энергопотребление всего кристалла будет снижено. Более того, в современных микроконтроллерах AVR и SMART ARM неиспользуемые периферийные блоки могут быть индивидуально полностью остановлены и снова активированы «на лету», во время работы устройства, что также приводит к дальнейшему снижению средней мощности без ухудшения производительности.

Динамическое питание функциональных блоков микроконтроллера

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

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

Контроллер прямого доступа к памяти (DMA) и система событий

Эти аппаратные блоки на кристалле микроконтроллера позволяют значительно разгрузить процессорное ядро и в активных, и в спящих режимах работы. Традиционно перемещение данных из периферийных блоков в область памяти и обратно выполняется под управлением процессора. Чем больше данных необходимо переместить, тем больше рабочих циклов для этого потребуется. Но существует и другая возможность. Технология picoPower предполагает активное использование контроллера DMA, который выполняет задачу по перемещению данных значительно эффективнее, позволяя при этом центральному процессору оставаться в спящем режиме и сохранять энергию или выполнять вычислительные операции параллельно передаче данных. Например, использование контроллера DMA совместно с блоком аппаратного вычисления контрольной суммы (CRC) позволяет осуществлять проверку целостности принимаемых данных или готовить передаваемые данные без вовлечения в работу центрального процессора. Это приводит к повышению общей производительности, предоставляя возможность ядру чаще и на более продолжительное время уходить в спящий режим.

Применяемая в семействах AVR и SMART ARM система событий позволяет периферии на кристалле самостоятельно управлять пересылкой данных непосредственно в другие периферийные блоки. При этом используются специальные выделенные связи между блоками, полностью независимые от центрального процессора. Такие связи разгружают ядро от рутинной передачи данных, и на данное время оно может быть переведено в спящий режим. Общая производительность системы при этом возрастает, а энергопотребление снижается. Более того, функционирование системы событий полностью предсказуемо и отлично соответствует требованиям к устройствам, работающим в реальном времени.

Интеллектуальные периферийные устройства

Составной частью технологии picoPower является функция SleepWalking («сон на ходу»), которую корпорация Atmel добавила некоторым периферийным блокам. С ее помощью такой блок может самостоятельно решать, нужен ли центральный процессор для обработки поступивших данных или нет. Функция названа SleepWalking, поскольку она позволяет ядру «мирно спать» до тех пор, пока не произойдет важное событие, требующее его активного действия. Она позволяет кардинально снизить общее количество избыточных циклов пробуждения процессора.

При традиционном способе мониторинга внешних событий внутренний таймер периодически переводит контроллер в активный режим для проверки внешних условий, при этом ядро и память потребляют значительную энергию. В некоторых случаях, когда время реакции должно быть очень коротким, центральный процессор может даже не успевать переходить в режим сна. В микроконтроллерах AVR и SMART ARM это решается по-другому — например, пока ядро находится в режиме сна, интерфейс TWI (I2C) ждет и самостоятельно определяет совпадение адреса или АЦП фиксирует превышение входного сигнала заданного порога. Центральный процессор и память не будут активированы, пока заданное условие не будет выполнено. Функция SleepWalking в последовательных коммуникационных портах совместно с DMA позволяют организовать передачу данных в ультрамалопотребляющих режимах. Периферийный контроллер касания способен пробуждать контроллер только во время приближения или прикосновения к сенсорным кнопкам, обеспечивая экономичную работу приборов с питанием от батареи. Более того, по сигналам от периферийных блоков могут изменяться режимы электропитания других аппаратных узлов микроконтроллера, позволяя дальнейшую оптимизацию энергопотребления в таких «зависимых» областях применения, как носимая медицинская техника, портативные сигнализаторы газов и модули беспроводной связи.

Быстрое пробуждение кристалла от нескольких источников сигнала из режимов самого низкого энергопотребления

Для экономии энергии перевод микроконтроллера в спящий режим отключает питание его некоторых составных частей. Генераторы и цепи тактирования могут потреблять значительную долю мощности в активном режиме, а в процессе пробуждения из режимов сна они должны стабилизироваться до начала их использования. Ожидание стабилизации в течение длительного времени приводит к потерям энергии. Микроконтроллеры Atmel AVR и SMART ARM спроектированы для максимально быстрого пробуждения. Не более 8 тактов требуется для стабилизации внутреннего RC-генератора. Традиционный программируемый генератор с фазовой автоподстройкой частоты (PLL) заменен цифровым (DPLL), который значительно быстрее и точнее. Это также позволило отказаться от некоторых внешних компонентов и еще больше снизить потребляемую мощность. Когда синхронизация от тактового генератора отключена в режиме сна, микроконтроллер все еще может быть переведен в активный режим с помощью асинхронного события — изменение состояния внешнего вывода, получение данных или совпадение адреса на шине TWI (I2C).

Полная функциональность при работе с низким напряжением питания

Микроконтроллеры Atmel, выполненные по технологии picoPower, включая их аналоговые блоки, полностью работоспособны при снижении напряжении питания вплоть до 1,62 В. Известно, что простой способ уменьшить энергопотребление любого прибора — понизить подаваемое напряжение питания. Однако данный метод часто бесполезен и не применим из-за ухудшения точности аналоговых цепей, нестабильности работы отдельных периферийных блоков и осцилляторов или невозможности осуществить процесс записи в энергонезависимую память. Определяющим в технологии picoPower является именно то, что все аналоговые и цифровые узлы тщательно спроектированы для точной работы при минимальном напряжении 1,62 В, включая операции записи во Flash-память и EEPROM. На практике это означает, что функциональные блоки микроконтроллера не перестают правильно работать при снижении напряжения питания, и это гарантирует надежное функционирование всего приложения. При батарейном питании способность к полноценной работе при экстремально низком напряжении питания позволяет продлить время жизни батареи за счет наиболее полного использования содержащейся в ней энергии.

В настоящее время корпорация Atmel активно внедряет технологию picoPower во все свои микроконтроллеры. В семействе на основе ядра ARM Cortex-M4 выпущена серия SAM4L, которая сегодня насчитывает девять изделий с объемом Flash-памяти 128, 256 и 512 кбайт и выпускается в 48-, 64-, 100‑выводных корпусах. Микроконтроллеры содержат развитую периферию, включая аппаратный контроллер касания QTouch и контроллер ЖКИ с возможностью управления 440 сегментами. Кристаллы SAM4L потребляют в активном режиме 90 мкA/MГц, обеспечивая при этом цифровую обработку сигналов и работу высокоскоростных коммуникационных устройств ввода/вывода.

Семейство микроконтроллеров Atmel SMART SAM G5 оптимизировано для малогабаритных высокопроизводительных систем со сверхнизким энергопотреблением. Малый форм-фактор этих устройств обеспечивается ядром ARM Cortex-M4 в сочетании с блоком обработки операций с плавающей запятой (FPU). Данные микроконтроллеры выпускаются в компактных корпусах WLCSP размером 33 мм.

Десять вариантов микроконтроллеров с рабочей частотой до 48 МГц составляют серию SAML21, базирующуюся на ядре ARM Cortex-M0+ и ориентированную на применение в устройствах с батарейным питанием. Микроконтроллер SMART SAM L21 — одна из последних разработок Atmel, которая является ярким примером удачного использования всех преимуществ технологии picoPower. Он специально создавался для применения в обособленных системах, удаленных от сетевого электропитания, например в узлах IoT (Internet of Things — «Интернет вещей»). Обладая высокой скоростью пробуждения, аппаратной системой событий, инновационной picoPower-периферией, SAM L21 отлично подходит для носимой и портативной аппаратуры различного назначения.

Микроконтроллеры серии SAM L21 включают развитую периферию, до 256 кбайт встроенной Flash-памяти и до 40 кбайт памяти SRAM, потребляют ток менее 35 мкА/МГц в активном состоянии при работе из Flash (может быть еще меньше, если работать из SRAM). Обеспечивается легкая миграция приложений, разработанных для базового кристалла SAM D21. В 2015 году консорциум ведущих производителей микроконтроллеров (Embedded Microprocessor Benchmark Consortium) признал SAM L21 лучшим по соотношению производительности и потребляемой мощности.

Готовится к выпуску новая серия SAM L22, микроконтроллеры которой расширяют функциональность SAM L21 за счет включения контроллера ЖКИ, позволяющего управлять индикатором, содержащим до 320 сегментов (в зависимости от типа корпуса и числа выводов кристалла). При этом для подключения ЖКИ дополнительно требуется лишь один внешний компонент — конденсатор.

Элементы технологии picoPower активно применяются компанией Atmel и в микроконтроллерах AVR. Так, во всех кристаллах серии XMEGA реализована система событий, их полноценное функционирование обеспечивается при напряжении питания 1,62 В, а таймер системы реального времени работает при токе 100 нА. Серия megaAVR предлагает широчайший выбор изделий с различным размером областей памяти, числом выводов корпуса и набором периферийных устройств. Микроконтроллеры megaAVR, в которых предусмотрены элементы технологии picoPower, несут в своем обозначении суффикс «Р». Наиболее популярными представителями этой серии являются:

  • ATmega168PB, 8‑бит AVR picoPower микроконтроллер, 16 кбайт Flash-памяти, 32 вывода.
  • ATmega48P, 8‑бит AVR picoPower микроконтроллер, 4 кбайт Flash-памяти, 28/32 вывода.
  • ATmega48PA, 8‑бит AVR picoPower микроконтроллер, 8 кбайт Flash-памяти, 28/32 вывода.

Семейство tinyAVR предлагает превосходную комбинацию миниатюризации, вычислительной мощности, аналоговых характеристик и интеграции на системном уровне для оптимизации энергопотребления проектируемого оборудования. Самые популярные изделия ATtiny, при разработке которых использовались элементы технологии picoPower:

  • ATtiny441, 8‑бит AVR picoPower микроконтроллер, 4 кбайт Flash-памяти, 14/20 выводов.
  • ATtiny841, 8‑бит AVR picoPower микроконтроллер, 8 кбайт Flash-памяти, 14/20 выводов.
  • ATtiny1634, 8‑бит AVR picoPower микроконтроллер, 16 кбайт Flash-памяти, 20 выводов.

К этому семейству относится и уникальный микроконтроллер AVR ATtiny43U, имеющий на кристалле повышающий DC/DC-преобразователь. Для работы стандартного микроконтроллера обычно требуется напряжение питания не менее 1,8 В, в то время как напряжение одного полностью заряженного гальванического элемента находится в диапазоне 1,2–1,5 В. Это означает, что такому микроконтроллеру необходима батарея как минимум из двух элементов. После разряда в процессе работы до напряжения 1 В гальванический элемент содержит еще значительную величину энергии, которую желательно использовать. Компания Atmel предложила техническое решение для такой задачи, включив DC/DC-преобразователь в состав ATtiny43U, который повышает входное напряжение до нужного уровня. Преобразователь обеспечивает микроконтроллер фиксированным напряжением 3 В от одного гальванического элемента при его глубоком разряде до 0,7 В. Этот прием позволяет одноразовым источникам разряжаться до минимума и значительно продлевает срок их службы, а для перезаряжаемых аккумуляторов программируемый порог отсечки позволяет предотвратить их разрушение. На рис. 1 представлена схема включения встроенного DC/DC-преобразователя.

Схема включения преобразователя напряжения в микроконтроллере ATtiny43U

Рис. 1. Схема включения преобразователя напряжения в микроконтроллере ATtiny43U

В качестве иллюстрации рассмотрим реализацию возможностей технологии picoPower на примере SAM L21. Микро-контроллер содержит до семи различных тактовых доменов (тактовых генераторов), подключаемых к любому доступному источнику тактового сигнала. Любой периферийный блок микроконтроллера имеет собственный мультиплексор, позволяющий подключить данный блок к любому тактовому домену. На рис. 2 представлена схема тактирования блоков микроконтроллера SAM L21.

Схема тактирования микроконтроллера SAM L21

Рис. 2. Схема тактирования микроконтроллера SAM L21

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

Для наибольшей эффективности управления потребляемой мощностью в зависимости от нагрузки на микроконтроллер у кристаллов серии SAM L21 имеется три различных регулятора напряжения: главный (Main regulator), малой мощности (Low power regulator) и резервного питания (Вackup regulator). Это проиллюстрировано на рис. 3.

Схема электропитания микроконтроллера SAM L21

Рис. 3. Схема электропитания микроконтроллера SAM L21

Главный регулятор может быть сконфигурирован для работы в двух режимах — линейном (LDO) или импульсном (BUCK). Для импульсного режима требуется использование дополнительных внешних компонентов на плате. По умолчанию система стартует в линейном режиме, а затем, при наличии аппаратной обвязки, регулятор может быть программно переключен в импульсный режим для большей энергоэффективности (рис. 4).

Использование главного регулятора в линейном или импульсном режиме

Рис. 4. Использование главного регулятора в линейном или импульсном режиме

Напряжение главного регулятора может динамически переключаться в одно из двух значений и определяется максимальной тактовой частотой в системе. Это свойство названо «уровень производительности» (PL — Performance Level). Пониженное напряжение может быть включено, если используется системная тактовая частота ниже 12 МГц, то есть в режиме PL = 0 (рис. 5).

Управление уровнями главного регулятора напряжения у SAM L21

Рис. 5. Управление уровнями главного регулятора напряжения у SAM L21

В свою очередь, различные периферийные блоки микроконтроллера организованы в группы по питанию (power domains), их управление осуществляется контроллером электропитания системы (рис. 6). При переключении в режим Standby микроконтроллер автоматически включает/выключает напряжение по группам, если какая-либо из групп не требуется в текущий момент работы микроконтроллера.

Схема деления блоков SAM L21 на домены по питанию

Рис. 6. Схема деления блоков SAM L21 на домены по питанию

Каждая группа периферийных блоков может быть переключена в одно из трех состояний по питанию:

  • Активное (Active): группа полностью запитана и может быть полностью использована.
  • Сохранение (Retention): группа запитана частично, регистры сохраняют информацию, но периферийная логика обесточена.
  • Выключено (Off): периферийные логические цепи и регистры обесточены, состояние регистров не определено.

Потребление тока у разных групп может различаться, подробные данные приведены в технической документации на микроконтроллер.

Микроконтроллеры серии SAM L21 имеют пять стандартных режимов электропотребления, позволяющих динамически выбирать баланс между потребляемой устройством мощностью и производительностью. Эти режимы проиллюстрированы на рис. 7.

  • ACTIVE: все цифровые и аналоговые блоки активны, центральный процессор может исполнять программный код, все источники тактового сигнала включены.
  • IDLE: все цифровые и аналоговые блоки активны, центральный процессор остановлен, работа тактовых генераторов определяется выбором трех дополнительных условий (IDLE0, IDLE1 и IDLE2).
  • STANDBY: большинство цифровых и аналоговых блоков переведено в статическое состояние, за исключением блоков, требуемых для функционирования конкретного приложения. Центральный процессор остановлен, тактовые генераторы выключены, содержимое памяти сохраняется. Если были сконфигурированы функции периферийных устройств SleepWalking, то их цепи поддерживаются в активном состоянии и сигналы могут передаваться по внутренним шинам кристалла.
  • BACKUP: большинство цифровых и аналоговых блоков обесточено, работоспособно только несколько узлов (система реального времени RTC, регистры BACKUP, цепи пробуждения от внешних сигналов).
  • OFF: все группы по питанию микроконтроллера обесточены, выход из этого режима возможен по сигналу на внешнем выводе RESET.
Стандартные режимы и параметры электропитания SAM L21

Рис. 7. Стандартные режимы и параметры электропитания SAM L21

Для изучения особенностей работы и оценки параметров микроконтроллеров серии SAM L21 компания Atmel предлагает отладочную плату SAM L21 XplainedPro, позволяющую также измерять ток потребления микроконтроллера в различных режимах работы.

Во время технического тренинга Atmel (апрель 2015‑го) авторами были проделаны измерения на плате SAM L21 XplainedPro в соответствии с методикой, описанной в руководстве Atmel AN‑10267. Полученные результаты сведены в таблице и показаны в графическом виде на осциллограмме (рис. 8). Для отображения данных использовался бесплатный программный пакет Atmel Data Visualizer.

Практические результаты измерения тока потребления SAM L21 в различных режимах

Рис. 8. Практические результаты измерения тока потребления SAM L21 в различных режимах

Таблица. Результаты измерения тока потребления SAM L21 в различных режимах

Режим

Условия измерения

Уровень производительности

Напряжение
питания, VCC

Потребляемая мощность

ACTIVE

Главный регулятор в импульсном режиме, центральный процессор работает

PL0

3,3 B

375 мкА (25 мкА/МГц)

IDLE

Главный регулятор в импульсном режиме

PL0

3,3 B

207 мкА  (13 мкА/МГц)

STANDBY

Группы PD0, PD1, PD2 в режиме сохранения данных

PL0

3,3 B

0,9 мкА

BACKUP

Питание от внешнего VDDIN, ток потребления суммарно по входам VDDIN+VDDANA+VDDIO

0,5 мкА

В последние годы активные действия компании Atmel по расширению ассортимента и совершенствованию технологии изготовления микроконтроллеров приносят свои плоды. Из относительного аутсайдера в 32‑разрядном сегменте по техническим параметрам и энергопотреблению Atmel превращается в одного из признанных лидеров. Новые интересные решения на базе процессорных ядер Cortex-М0+ и Cortex-M4, анонсированные высокопроизводительные и удобные в разработке микроконтроллеры SAM S70/E70 с ядром Cortex-M7 и SAM A5D2 с ядром Cortex-A5 являются отлично сбалансированными устройствами для современных встраиваемых приложений. Отрадно и то, что инновации и инвестиции Atmel касаются не только сегмента 32‑разрядных устройств. Много хорошего делается для постоянного усовершенствования популярных 8‑разрядных кристаллов, рынок которых не сворачивается вопреки всем прогнозам. Например, tinyAVR последнего поколения будут оснащены контроллером сенсорного интерфейса и упрощенной системой событий, оставаясь при этом очень дешевыми микроконтроллерами. На осень 2015 года намечен официальный релиз двух програм-мных средств поддержки разработок — значительно улучшенной по всем параметрам версии Atmel Studio 7 и новой программной web-based конфигурационной оболочки Atmel Start для микроконтроллеров. Похоже, что затянувшаяся реорганизация компании Atmel, начавшаяся в 2006 году, заканчивается. С новыми продуктами, инструментальным программным обеспечением и средствами поддержки разработок микроконтроллерные и микропроцессорные решения Atmel действительно могут считаться одними из лучших в отрасли.

Литература
  1. Eieland A. Turn Power-Reducing Features into Low-Power Systems, atmel.com
  2. AVR188: Design Guidelines for ATtiny43U, atmel.com
  3. SAM L21_Datasheet_Preliminary, atmel.com
  4. SAML21‑XPROLowPower Training Manual (AN‑10267) // Материалы технического тренинга Апрель 2015.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *