Atmel: акцент на микромощные технологии

№ 8’2013
Известная фраза о том, что мы живем в эпоху победы маркетинга над здравым смыслом, пожалуй, наиболее ярко подтверждается рынком смартфонов. Народ послушно покупает десятками миллионов аппараты с 4‑ядерными процессорами Cortex-A8/Cortex-A9/Cortex-A15, 2‑гигабайтной оперативной памятью и Full-HD экраном. Таких вычислительных ресурсов должно хватить на демонстрацию фильма качества Blu-Ray и одновременный запуск компьютерной игры «средней тяжести». Вопрос «А зачем все это карманному устройству?» остается без ответа. У автора есть смартфон, построенный на одноядерном процессоре Cortex-A5, который успешно справляется со своими функциями и при этом не требует, чтобы его заряжали каждую ночь. Вывод очень простой: под каждую техническую задачу нужно использовать оптимальное hardware, тогда и проблем с отладкой меньше, и себестоимость девайса будет адекватная.
В статье рассмотрены микроконтроллеры Atmel, отличающиеся малым энергопотреблением.

8-разрядные микроконтроллеры

В конце 1990-х годов компания Atmel выпустила контроллеры на инновационной AVR-архитектуре. Одной из ее особенностей было реальное выполнение команды за один такт задающего тактового генератора, в отличие от контроллеров Microchip, где команда исполнялась за четыре такта, и контроллеров на ядре MCS-51, в которых частота кварца делилась на 12. Низкочастотный генератор подразумевает невысокое энергопотребление: AVR-микроконтроллеры имели удельное потребление 1 мА/MIPS и максимальную производительность 12 MIPS, что было неплохим показателем для своего времени.

Вскоре после начала производства AVR-контроллеров компания Atmel стала получать запросы от заказчиков на разработку и поставку микросхем с пониженным энергопотреблением. Оказалось, что для большого класса задач — систем мониторинга, счетчиков, батарейных приложений и т. п. — вполне хватает производительности 2-4 MIPS, но критичен уровень потребляемой мощности. Инженеры компании предложили очевидное решение — использовать пониженное напряжение питания: 3,3 и даже 1,8 В. Были выпущены модификации микроконтроллеров с индексом «L» (диапазон напряжения питания — 2,7-5,5 В) и с индексом «V» (диапазон напряжений питания — 1,8-5,5 В). Важно отметить, что верхняя граница напряжения питания при этом осталась прежней, то есть новые микросхемы выпускались по прежним технологическим нормам 0,35 мкм, в них использовались те же самые кристаллы, но они тестировались на разных диапазонах напряжения питания и маркировались соответствующим образом. Такая прямолинейная мера позволила снизить энергопотребление в несколько раз, однако заводское тестирование трех разных вариантов одного типа микроконтроллера требовало дополнительных затрат.

Через несколько лет проблема многовариантности была решена, чему способствовал мировой кризис 2008 года. Президент США Барак Обама обратился к американским производителям с призывом создать в стране новые рабочие места. В число компаний, поддержавших эту инициативу, вошла и корпорация Atmel. Производственные мощности собственной фабрики в штате Колорадо были существенно увеличены, и туда из Юго-Восточной Азии было переведено производство некоторых типов AVR-контроллеров семейств ATtiny и ATmega.

В процессе подготовки производства были разработаны новые фотошаблоны с учетом предыдущего опыта работы, использована собственная технология с уменьшенными токами утечки, а также изменена методика тестирования. Совокупность мер позволила выпустить микросхемы со сниженным на 30% энергопотреблением и одним типономиналом на диапазон питающих напряжений от 2,7 до 5,5 В. К обозначению контроллеров этого поколения добавился суффикс «А».

Изменения фотошаблонов коснулись, в частности, модуля тактового генератора, что вызвало при переходе на новые кристаллы определенные проблемы у разработчиков, использующих высокочастотные кварцы. На самом деле все решалось установкой fuse-бита, отвечающего за коэффициент усиления встроенного генератора, но, чтобы это узнать, приходилось изучать техническое описание на новые микроконтроллеры.

Тем временем инженеры из норвежского подразделения Atmel поставили перед собой задачу по комплексному снижению энергопотребления на аппаратном уровне и успешно ее решили.

Технология picoPower

Детальный анализ совокупного энергопотребления кристалла выявил следующие пути повышения энергоэффективности:

  • дополнительный микромощный генератор;
  • отключаемый модуль BOD;
  • переход на пониженное напряжение питания;
  • введение регистра понижения мощности;
  • семплирование питания Flash-памяти.

Во многих приложениях микроконтроллер не работает все время: он находится в ждущем режиме и переходит в активный режим в определенные интервалы времени. Следовательно, для работы в ждущем режиме можно тактировать ядро кристалла от микромощного генератора, который имеет меньшую точность, но при этом потребляет незначительный ток. Пока контроллер «спит», ему не нужно проверять уровень напряжения питания, значит, модуль BOD (Brown-Out Detector) можно отключить. Естественно, при переходе в активный режим модуль BOD включается в первую очередь.

В активном режиме часто используются не все периферийные модули, поэтому, если, например, один из таймеров или АЦП не задействован все время, можно снять тактирование с этого модуля. За это отвечает специальный регистр PRR (Power Reduction Register). Как известно, при отсутствии тактирования CMOS-структура практически не потребляет ток. Фактически энергия источника питания расходуется только на токи утечки, но здесь помогает применение фирменного технологического процесса.

Остается модуль Flash-памяти, который из-за особенностей технологии потребляет значительный ресурс источника питания. Понятно, что быстродействие Flash-памяти в AVR-контроллерах рассчитано на работу без тактов ожидания на максимальной частоте ядра, то есть 20 МГц. Если же контроллер работает на частоте 4 МГц, то 80% времени часть мощности тратится неэффективно. Применение импульсного источника питания модуля Flash-памяти позволяет снизить энергопотребление. Очевидно, что этот способ наиболее эффективен на невысокой частоте работы микроконтроллера.

Потребление микросхемы с технологией picoPower (рис. 1) в ждущем режиме (Power Down) при отключенных генераторах с сохранением содержимого SRAM-памяти составляет 100 нА, а в режиме Power Save с включенным микромощным генератором с частотой 32 кГц — 600 нА, это были рекордные в промышленности значения на период 2005-2007 гг.

Компоненты технологии picoPower

Рис. 1. Компоненты технологии picoPower

Технология picoPower используется в AVR-микроконтроллерах серии ATmega, и обозначение таких микроконтроллеров имеет суффикс «P». Микросхемы, изготовленные по улучшенной технологии на заводе в штате Колорадо, можно определить по суффиксу «PA».

Поколение Xmega

Развитие идей привело к появлению следующего поколения 8-разрядных AVR-контроллеров ATXmega. Переход на более тонкий технологический процесс обеспечил как повышенное быстродействие — до 32 MIPS, так и дальнейшее снижение энергопотребления. Максимальное напряжение питания контроллеров ATXmega ограничено уровнем 3,6 В, а вот минимальное снижено до 1,62 В. Это «некруглое» число означает, что для питания микроконтроллеров можно применять дешевые интегральные стабилизаторы напряжения номиналом 1,8 В с допуском ±10%. При таком напряжении питания производительность составляет 12 MIPS.

В отличие от классических AVR-контроллеров устройства серии Xmega изначально разрабатывались как микромощные. Здесь применена технология picoPower второго поколения, использующая новую схемотехнику модуля BOD и расширенная новыми аппаратными модулями: это микромощный сторожевой таймер, многоканальный DMA-контроллер, который может работать при «спящем» ядре, а также инновационная технология «система событий» (Event System), позволяющая обрабатывать определенные события (изменение логического состояния на выводах микросхемы, срабатывание аналогового компаратора, окончание цикла преобразования АЦП, обнуление таймера и т. д.) без участия ядра микроконтроллера. Применение комплекса мер позволило снизить потребление тока микроконтроллеров Xmega в активном режиме до 350 мкА на частоте 1 МГц.

32-разрядные микроконтроллеры

Можно сказать, что платформа Xmega была «испытательным полигоном» для отработки новых технологий, которые в дальнейшем были перенесены на 32-разрядные микроконтроллеры Atmel. Следом за микросхемами ATXmega были выпущены микросхемы семейства AVR32, где можно видеть применение аналогичных технологий. Параллельно со «стандартными» контроллерами серий UC3A/UC3B/UC3C/UC3D выпускаются контроллеры UC3L, которые использовали преимущества технологии picoPower в полной мере. Эти решения нашли широкое применение в специализированных микросхемах Atmel, например контроллерах управления емкостными сенсорными экранами. Не все пользователи смартфонов и планшетов Samsung знают, что практически в каждом девайсе семейства Galaxy есть микросхемы Atmel серии MaxTouch, построенные на базе ядра UC3L. Более того, после тщательного отбора по параметру энергопотребления компания Samsung выбрала контроллер UC3L для своих новых изделий семейства Galaxy в качестве хаба для сбора данных от множества сенсоров, которые содержат современные гаджеты.

Параллельно с контроллерами на ядре AVR32 в линейке продукции компании Atmel широко представлены 32-разрядные контроллеры со встроенной Flash-памятью на ядрах разработки компании ARM. Сотрудничество компаний продолжается уже более 10 лет, и теперь на смену ядру ARM7 пришли контроллеры на базе ядер Cortex-M. Все микроконтроллеры ATSAM3 (далее для краткости — SAM3) имеют напряжение питания ядра 1,8 В, а напряжение питания периферийных модулей может варьироваться в диапазоне 1,8-3,3 В. В контроллерах SAM3 применены быстродействующие выходные буферы: максимальная рабочая частота типовой линии вывода составляет 35 МГц, а для интерфейса SPI эта частота даже выше: 45 МГц.

Семейство контроллеров на ядре Cortex-M

Рис. 2. Семейство контроллеров на ядре Cortex-M

Контроллеры на ядре Cortex-M3 являются «рабочими лошадками», это микросхемы универсального применения с достаточным для большинства задач объемом памяти и набором периферийных модулей. Микроконтроллеры SAM3N можно назвать микросхемами «начального уровня», у них отсутствует порт USB, скорость ядра ограничена частотой 48 МГц, а максимальный объем Flash-памяти составляет 256 кбайт.

Микросхемы SAM3S — это «стандартные» контроллеры с максимальной скоростью ядра 64 МГц, наличием порта USB Full Speed или High Speed и максимальным объемом Flash-памяти 256 кбайт. Контроллеры ATSAM3S совместимы по выводам с контроллерами SAM3N, а также с «древними» SAM7S и могут быть использованы в тех же печатных платах.

Краткие характеристики контроллеров SAM3S:

  • Встроенный высокоточный подстраиваемый RC-генератор с базовой частотой 4 МГц.
  • Тактирование от внешнего кварца или керамического резонатора 3-20 МГц.
  • Тактирование от внешнего кристалла 32 кГц.
  • Переключение на тактирование от RC-генератора при отказе кварца.
  • Встроенные фильтры PLL.
  • Число линий ввода/вывода для 64-выводного корпуса: 47.
  • Аппаратное вычисление контрольной суммы CRC для встроенной и внешней памяти.
  • Модуль MPU (Memory Protection Unit).

В семействе SAM3 стоит отметить контроллеры SAM3A/SAM3X. Их отличие — двухканальный CAN-интерфейс, а SAM3X также содержит на кристалле модуль Ethernet MAC 10/100 Мбит. Кроме того, интерфейс High Speed USB поддерживает режим OTG (On-The-Go). Модуль SDIO позволяет подключать SD-карты с 1- и 4-разрядными интерфейсами. На рис. 3 представлена отладочная плата AS-sam3X на микроконтроллере SAM3X в 100-выводном корпусе. В отличие от известной платы Arduino Due, которая использует 144-выводный контроллер SAM3X, здесь практически все драйверы периферийных интерфейсов уже размещены на плате, поэтому дополнительные внешние модули не нужны.

Отладочная плата AS-sam3X

Рис. 3. Отладочная плата AS-sam3X

Плата AS-sam3X имеет следующие аппаратные ресурсы:

  • микроконтроллер ATSAM3X8CA в корпусе LQFP100;
  • стабилизатор напряжения питания (3,3 В);
  • микросхема ADM3202, интерфейс RS-232;
  • микросхема ADM3485, интерфейс RS-485;
  • микросхема физического уровня DM9161;
  • разъем Ethernet 10/100 Mbps;
  • разъем mini-USB типа B, интерфейс USB;
  • разъем для подключения SD-карт памяти;
  • разъем типа PLS-3, интерфейс RS-485;
  • разъемы PLD-20 для подключения внешних сигналов к портам контроллера;
  • разъем BH-20 для подключения JTAG-эмулятора;
  • разъем BH-10 для подключения внешней платы ZigBee-трансивера;
  • четыре пользовательские кнопки и кнопка Reset;
  • четыре пользовательских светодиода.

На плате предусмотрено место для распайки дополнительных компонентов:

  • микросхема EEPROM серии AT24 в корпусе SOIC8;
  • микросхема Flash-ПЗУ серии AT25 в корпусе SOIC8;
  • микросхема CAN-драйвера в корпусе SOIC8;
  • микросхема часов реального времени DS1338, с возможностью подключения батареи питания.

Наиболее интересными и современными можно назвать контроллеры SAM4 на ядре Cortex-M4. Эти контроллеры являются расширением серии SAM3. Они имеют увеличенную скорость ядра, поддержку DSP-команд c плавающей точкой и обширную аналоговую периферию. Краткие параметры микросхем семейства SAM4 приведены в таблице 1.

Таблица 1. Сравнительные характеристики контроллеров SAM4

Характеристики SAM4L SAM4N SAM4S SAM4E
Частота ядра, МГц 48 80 120 120
Flash-память, кбайт 128-256 16-1024 512-2048 512-1024
SRAM-память, кбайт 32 64-80 128-160 128
DSP-команды *FPU
Ethernet MAC
Порт USB Full Speed Есть Есть Есть
АЦП
ЦАП
Внешняя шина, бит 8

Примечание. *FPU — вычисления с плавающей точкой.

Одно из отличий микроконтроллеров SAM4 — это пониженное энергопотребление. Например, в активном режиме при частоте ядра 64 МГц ток потребления SAM3S16 составляет 22,4 мА, а у SAM4S16 — 14,6 мА. Лучшие значения тока получены для энергосберегающего режима Backup — 13 мкА для SAM3S16 и 2 мкА для SAM4S16. Это реализовано отключением напряжения 3,3 В с модуля Flash-памяти в режиме BACKUP.

Впечатляющие параметры по энергопотреблению имеют микроконтроллеры SAM4L. Инженеры Atmel реализовали здесь схемные решения, первоначально примененные в контроллерах серии ATxmega и AT32UC3L. Это известные технологии picoPower и SleepWalking с малым временем пробуждения, а также система событий (Event System) и контроллер периферийной логики (Glue Logic Controller), с помощью которого можно проводить логические операции типа NAND и XOR выходными данными непосредственно на кристалле. Такой комплексный подход к задаче снижения энергопотребления позволил снизить потребляемый ток для активного режима до 90 мкА/МГц, а для режима Backup — до 0,5 мкА. От микросхемы ATxmega в SAM4L перешел и высокоэффективный модуль управления ЖКИ, а также криптомодуль, поддерживающий стандарты DES и AES. Он имеет повышенную скорость кодирования — до 8,8 Мбит/с. Новинка, примененная в этом контроллере, — это высокопроизводительный контроллер I2C с поддержкой DMA, обеспечивающий скорость передачи до 3,4 Мбит/с при напряжении питания 1,8 В.

Старший контроллер семейства, SAM4E, имеет Flash-память 512 или 1024 кбайт и оперативную память 128 кбайт. Для исключения задержек выборки команд используется кэшпамять объемом 2 кбайт. Наличие внешней шины адрес/данные в 144-выводном корпусе позволяет расширить память подключением внешних микросхем типа SRAM, PSRAM, NOR и NAND. Основные параметры микросхем SAM4E приведены в таблице 2.

Таблица 2. Основные параметры микросхем SAM4E

Параметр Значение
Частота ядра 120 МГц
Объем Flash-памяти От 512 кбайт до 1 Mбайт
Объем SRAM-памяти 128 кбайт
Ethernet 10/100 MAC 1
Интерфейс USB Full Speed
Интерфейс CAN 1/2
Интерфейс USART 4
Интерфейс HSMCI 4 разряда
Интерфейс SPI 3
Интерфейс I2C 2
Криптомодуль AES
Модуль Parallel Capture 1
АЦП 2×12 (16-битный) 12/24 канала
ЦАП 12-битный 2 канала
Таймеры/ШИМ-контроллеры 9/4
Число входов/выходов 79/117
Тип корпуса QFP/BGA 100/144

Для разработки и отладки программ на контроллерах AVR, AVR32, SAM3 и SAM4 выпущен пакет Atmel Studio 6. Он построен на графическом интерфейсе Visual Studio 2010, лицензированным у компании Microsoft, и использует компилятор ARMGCC. Начиная с пятой версии пакета Atmel применяет концепцию оформления примеров исходных кодов в отдельный пакет — ASF (Atmel Studio Framework), который встроен в Atmel Studio 6, при этом есть возможность подгружать новые версии ASF, не удаляя старые. Также существует автономная версия пакета ASF, которую можно использовать, например, с компилятором языка Си компании IAR. В июле 2013 года выпущен пакет ASF версии 3.10, который содержит около тысячи примеров исходных кодов для контроллеров AVR/AVR32 и несколько сотен примеров для контроллеров SAM3/SAM4. Пакет Atmel Studio 6 является бесплатным продуктом и может быть загружен с сайта www.atmel.com.

Микропроцессоры ATSAMA5D3

В соответствии с терминологией компании Atmel микросхемы без внутренней Flash-памяти программ и SRAM-памяти называются микропроцессорами. Atmel предлагает микросхемы на ядре A5, которое является самым эффективным по энергопотреблению, а именно эта характеристика микроконтроллера востребована для новых проектов. Микропроцессор имеет обозначение SAMA5D3 и выпускается в четырех модификациях. Основные параметры и различия конфигураций для конкретного типа процессора приведены в таблице 3.

Таблица 3. Состав серии SAMA5

Периферия SAMA5D31 SAMA5D33 SAMA5D34 SAMA5D35
Интерфейс ЖКИ
Ethernet 10/100 MAC
Ethernet 10/100/1000 MAC
Двойной CAN
Интерфейс камеры
Порт USB
Защищенный доступ
Криптомодуль

В состав кристалла входит модуль для обработки чисел с плавающей точкой. Внутренняя шинная матрица имеет ширину 64 разряда. Внешняя шина данных — 32-разрядная, работа осуществляется на частоте до 166 МГц. Все модификации содержат порты High Speed USB, есть вариант с двумя портами Ethernet (1000 и 100 Мбит). Криптомодуль поддерживает алгоритмы AES/Triple DES и SHA, есть встроенный генератор случайных чисел.

SAMA5D3 работает на частоте ядра до 536 МГц (800 DMIPS) при потребляемой мощности 200 мВт в активном режиме и 0,5 мВт в режиме ожидания. Ток потребления в режиме Backup составляет 1,2 мкА.

Типовое удельное потребление ядра в активном режиме — 0,19 мВт/МГц. Для сравнения, у ядра Cortex-A8 этот параметр составляет 0,66 мВт/МГц.

Литература

  1. Королев Н. Atmel: новые возможности пакета AVR Studio // Компоненты и технологии. 2011. № 10.
  2. Королев Н. Atmel: AVR32-микроконтроллеры в 2011 году // Компоненты и технологии. 2011. № 5.
  3. Королев Н. AVR-контроллеры: развитие семейства. Ч. 2 // Компоненты и технологии. 2010. № 6.
  4. Королев Н. 32-разрядные ARM7-микроконтроллеры Atmel: практика работы // Электроника: НТБ. 2009. № 4.
  5. Королев Н. Atmel: 32-разрядные Flash-микро-контроллеры на ядре AVR32 // Компоненты и технологии. 2008. № 11.
  6. Королев Н. 32 разряда от Atmel: развитие линии ARM-контроллеров // Компоненты и технологии. 2008. № 1.
  7. Королев Н. 32-разрядные микроконтроллеры ATMEL на базе ядра ARM7 // Компоненты и технологии. 2006. № 6.
  8. Материалы технического семинара компании Atmel. Грассау, Германия. Апрель 2013 г.
  9. Презентации: www.ineltek.com/ru/presentations.php

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

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