Gecko от Energy Micro —
микроконтроллеры с «нордическим» характером
Роман КРИНОЧКИН
Energy Micro — молодая быстроразвивающаяся компания, занимающаяся системной разработкой 32-битных микроконтроллеров с архитектурой ARM Cortex-M3. Как известно, над созданием и стандартизацией ядер серии ARM работает британская ARM Ltd, выдающая лицензии и данные для производства остальным компаниям. Это значит, что МК разных производителей будут иметь одно и то же вычислительное ядро. На плечи же системных разработчиков микроконтроллеров ложится задача создания периферии и интеграция ядра в завершенное устройство. И именно это является решающим фактором, от которого, в конечном счете, и зависит большинство возможностей МК, определяющих сферу его применения. Таким образом, не «все ARM одинаково полезны». Нужно сказать, что Energy Micro сфокусировалась на снижении потребления энергии своими МК и с честью справилась с поставленной задачей.
Введение
Компания Energy Micro была создана в 2007 году командой специалистов в сфере изготовления полупроводников, выходцев из Texas Instruments, Chipcon и Atmel. Несмотря на молодость, у компании имеются собственные достижения: в 2010 году Energy Micro получила награду «Продукт года» на выставке электроники в Нюрнберге — "Embedded world 2010". Главный офис и дизайн-центр компании находятся в столице Норвегии — Осло. Energy Micro является производителем без собственных производственных мощностей, выпуск продукции осуществляется на заводах всемирно известного изготовителя микросхем TSMC.
В октябре 2009-го был представлен первый продукт компании — микроконтроллеры семейства EFM32 Gecko, а в феврале 2010-го появилось следующее семейство микроконтроллеров EFM32 — Tiny Gecko (табл. 1).
Energy Micro в настоящее время выпускает четыре семейства устройств:
• Zero Gecko — малопотребляющие микроконтроллеры на ядре ARM Cortex-M0;
• Tiny Gecko — высокопроизводительные микроконтроллеры на ядре ARM Cortex-M3;
• Gecko — высокопроизводительные микроконтроллеры с расширенной периферией (на ядре ARM Cortex-M3);
• Giant Gecko — микроконтроллеры с богатой периферией и большим объемом Flash-памяти (до 1 Мбайт) (на ядре ARM Cortex-M3).
Второе направление деятельности Energy Micro — однокристальные радиотрансиве-ры EFR Draco. В планах компании уже в начале 2012 года поставлять эти устройства, которые будут работать в диапазонах 433/868/915/2400 МГц. Радиотрансиверы построены на ядре ARM Cortex-M0 по схеме «система на кристалле» и характеризуются малым энергопотреблением: 4 мА — режим приема, 5 мА — передача. EFR Draco будут поддерживать работу различных беспроводных протоколов.
Особое внимание компания уделяет снижению энергопотребления своих устройств. И это эффективный ход, который позволит занять свою нишу на довольно плотном и жестком рынке МК. А конкуренция с «акулами» этого бизнеса, такими как STM, TI, Microchip, Atmel и NXP, обещает быть нелегкой (табл. 2): лидеры имеют множество моделей, проверенные решения, хорошую репутацию. Нужно было «засветиться», выделиться из множества других. И «засветились», вернее, позволили другим светиться
Таблица 1. Основные параметры МК EFM32
Параметры Tiny Gecko Gecko Giant Gecko
Максимальная частота 32 МГц 48 МГц
RAM, кбайт 4/2/1 128/64/32/16 128/32
Флэш-память, кбайт 32/16/8 16/8 1024/512
Количество вводов/выводов общего назначения 56 90 90
USB - Host, OTG
Интерфейсы 2xUSART (SPI, IrDA, I2S, SmartCard), LEUART, I2C 3xUSART (SPI, IrDA, I2S, SmartCard), UART, 2x LEUART, I2C 3xUSART (SPI, IrDA, I2S, SmartCard), 2xUART, 2xLEUART, 2xI2C
Таймеры/счетчики 16-битный таймер/счетчик с 3 ССР-каналами 2 3 4
16-битный малопотребляющий таймер 1
24-битный счетчик реального времени 1
32-битный счетчик реального времени - 1
импульсный счетчик 1x16 бит 1 3x8 бит -
WDT 1
Аналоговые компараторы 2
АЦП 12 бит, 1 Мвыборок/с, 8 каналов
ЦАП 12 бит, 500 квыборок/с, 2 канала
Операционные усилители с программируемым усилением 3 - 3
Автономный мониторинг сенсоров в режиме «глубокий сон» LESENSE + - +
Компаратор питающего напряжения 1
Каналы автономной периферии (Peripheral Reflex System) 8 12
Каналы DMA 8 12
Шина к внешней памяти, Мбайт - До 64 До 256
LCD-контроллер 8x20 4x40 8x36
Корпуса QFN24, QFN32, QFN64 QFN32, QFN64, LQFP100, BGA112, QFN32, QFN64, LQFP100, BGA112
94
компоненты
микроконтроллеры
Таблица 2. Сравнение характеристик EFM32 с основными конкурентами
Компания Активный режим 24 МГц/3 В Производительность (ядро) Выход из спящего режима Потребление в спящем режиме
Епегду Micro Tiny Gecko EFM32TG840F32 160 мкА/МГц 1,25 DIMPS/МГц (32 МГц Cortex-M3) 2 мкс 0,9 мкА
ST STM32F101x8 537 мкА/МГц 1,25 DIMPS/МГц (32 МГц Cortex-M3) 5,4 мкс 15,4 мкА
ST STM32L1 294 мкА/МГц 1,25 DIMPS/МГц (32 МГц Cortex-M3) 8 мкс 4,5 мкА
NXP LPC1100L 150 мкА/МГц 1,4 DIMPS/МГц (50 МГц Cortex-M0) - 57 мкА
дольше: за счет сверхнизкого энергопотребления контроллеры Energy Micro работают до четырех раз дольше.
По данным таблицы видно, что по сочетанию параметров процессоры Gecko от Energy Micro являются оптимальным выбором при необходимости разрабатывать автономные приложения с небольшим соотношением время работы/простой. Иными словами, в тех применениях, где микроконтроллер может выходить из спящего режима, скажем, раз в секунду, проводить необходимые операции за несколько миллисекунд и снова «засыпать». В этом случае малое время выхода из спящего режима и сверхнизкое потребление в этом режиме дадут значительный выигрыш в длительности автономной работы. Задачи подобного плана часто возникают в системах учета, требующих относительно медленного обновления параметров, например в счетчиках (автономная периферия даже «во сне» считает показания, раз в секунду МК «просыпается», записывает новые данные в EEPROM, обновляет экран, «засыпает»), а также в электронных часах и устройствах автономного управления несложными объектами (раз в несколько минут МК проверяет значение контролируемого параметра, если не в норме — включает необходимое воздействие, «засыпает»).
Преимущества системной архитектуры Gecko:
• Ядро ARM Cortex-M3.
• Ультранизкое потребление.
• Несколько режимов сна и энергосбережения.
• AEM Profiler — оптимизация потребления, за счет 5 различных режимов.
• Автономная периферия — работает при «спящем» ядре.
• Peripheral Reflex System — настраиваемые связи между периферией в обход ядра, прямые соединения между периферийными блоками: повышают автономность работы устройства, создавая полностью конфигурируемый механизм.
• Периферия с ультранизким потреблением.
• Выделенный интерфейс для внешних датчиков, работающий в режиме EM2 (Deep Sleep — потребление микроконтроллера 1 мкА).
ппппппппппп
Рис. 1. Блок-схема ядра Cortex-M3
Преимущества ядра
При создании ядра Cortex была поставлена задача объединить в одно целое центральный процессор (ЦПУ) и системную архитектуру (прерывания, таймер, дебаггер). Таким образом, удалось достичь более слаженной и эффективной работы различных компонентов устройства. При этом для интеграции во встроенные приложения была разработана специальная версия ядра — Cortex-M, состоящая из трех модификаций: Cortex-M3, Cortex-M0 и Cortex-M1.
Микроконтроллеры серии Gecko оснащены ядром Cortex-M3 (кроме Zero Gecko, этот МК построен на ядре ARM Cortex-M0) и, следовательно, используют гарвардскую архитектуру с разделением памяти данных и программ. Следует отметить, что ядро построено по современному принципу прогнозирования переходов, за счет использования многостадийного конвейера с уменьшением времени простоя.
Структурная схема ядра Cortex-M3 приведена на рис. 1 [1] и включает в себя ядро, периферийные устройства, отладчик и т. д. Кроме того, в Cortex-M3 отлично реализована поддержка и оптимизация для языков C/C++ (используется режим выполнения инструкций Thumb-2).
Энергоэффективность
Перейдем к параметрам, демонстрирующим энергоэффективность микроконтроллеров Gecko:
• Ультранизкое энергопотребление в активном режиме: 3 B 25 МГц — 160 мкА/МГц.
• Высокая производительность:
Cortex-M3 — 1,25 DMIPS/МГц при 3 B, 25 МГц — 160 DMIPS.
• Быстрый выход из режима сна: пробуждение в течение 2 мкс.
• Ультранизкое потребление в режиме глубокого сна (включены POR, BOD, RTC, периферия, данные ОЗУ и ЦПУ сохраняются) — 900 нА.
• Автономная периферия: работает при спящем ЦПУ, расширенная поддержка DMA, прямые связи между устройствами в обход ядра.
• Энергоэффективная периферия:
- аналого-цифровой преобразователь —
12-бит, 1 Мвыборок/с: 350 мкА; 6-бит, 1 квыборок/с: 500 нА;
- микропотребляющий UART — полный UART с тактированием 32 кГц 150 нА при 9600 бод;
- контроллер LCD — до 8x36 сегментов 550 нА.
Таблица 3. Профили энергоменеджмента
EM0 Активный EM1 Режим сна ЕМ2 Глубокий сон ЕМ3 Остановка EM4 Отключение
Потребление 160 мкА/МГц 45 мкА/МГц 0,9 мкА 0,6 мкА 20 нА
Время пробуждения, мкс - 0 2 160
Доступные для пробуждения события Любые Любые 32 кГц периферия Асинхронные прерывания, 12С, компараторы Сброс, импульс на ножках ввода/вывода
Ядро Включено - - - -
ВЧ-периферия Доступна Доступна - - -
НЧ-периферия Доступна Доступна Доступна - -
Асинхронная периферия Доступна Доступна Доступна Доступна -
Сохранение данных Включено Включено Включено Включено -
POR/BOD* Включено Включено Включено Включено Включено
Примечание. * Power-On Reset/Brown-On Detector — сброс по питанию и при просадке напряжения.
• Удобный интерфейс для датчиков: автономная работа в режиме Deep Sleep, одновременный, полностью конфигурируемый опрос до 16 датчиков различных типов (ре-зистивные, емкостные, индуктивные). Микроконтроллер поддерживает пять режимов потребления, постепенно отключающих различные функции и интерфейсы (от «активного» до режима «отключен»), таким образом, чтобы разработчик мог использовать устройство максимально эффективно на том уровне и с той периферией, которые необходимы для решаемой задачи (табл. 3).
Преимущества использования EFM32: снижение энергопотребления, увеличение времени работы от автономных источников питания, развитые инструменты разработки и дополнительные библиотеки, помощник по выбору режима энергопотребления energyAware Profiler, низкое тепловыделение.
Для удобства своих пользователей при работе с микроконтроллерами Energy Micro предоставляет программную оболочку Simplicity Studio, которую можно бесплатно скачать с официального сайта компании. Главная функция этого программного продукта — обеспечение быстрого доступа к программам и документации, которые необходимы при работе с микроконтроллерами EFM32. Простой, удобный и понятный интерфейс Simplicity Studio позволит разобраться в тонкостях программирования и прошивки микроконтроллеров. Благодаря программе пользователь всегда обеспечен актуальной документацией, примерами, прошивками и программным обеспечением от Energy Micro.
К преимуществам Simplicity Studio следует отнести:
• Постоянное автоматическое обновление программы через Интернет, позволяющее обеспечивать доступ ко всем новым разработкам компании Energy Micro.
• Мгновенный доступ ко всем energyAware инструментам, соответствующей документации, программному обеспечению и библиотекам исходных кодов.
• Программа включает всю информацию, программы и ресурсы, которые нужны пользователю для разработки малопотребляющих, высокопроизводительных приложений.
Simplicity Studio состоит из 7 главных меню: Products («Продукты»), Tools («Инструменты»), Chip Documentation («Документация»), Software and Kits («Программное обеспечение»), Resources («Ресурсы»), Downloads («Загрузить»), Energy Micro News («Новости Energy Micro»). Рассмотрим каждое меню подробно, чтобы иметь представление о программе.
В меню Products находится база существующих микроконтроллеров семейства EFM32 Gecko. Для каждого микроконтроллера приведена основная информация: каталожный номер, корпус, объем Flash-памяти, объем ОЗУ, количество выводов общего назначения, наличие АЦП и ЦАП и т. д.
В меню Tools находятся инструменты компании Energy Micro для работы с микроконтроллерами. Среди основных инструментов:
• Программа для работы с отладочными платами STK и DVK — energyAware Commander, главное предназначение которой — обновление ПО платы и микроконтроллера.
• Программа для конфигурации выводов микроконтроллера EFM32 — energyAware Designer.
• Программа сбора информации об энергопотреблении микроконтроллера — energyAware Profiler. Работа осуществляется вмести с AEM модулем плат для отладки компании Energy Micro.
• Набор встроенных примеров для energyAware Profiler под названием Demos.
В меню Chip Documentation расположена документация на микроконтроллеры. Здесь пользователь всегда найдет список доступных документов для микроконтроллера, который он выбрал в меню Products.
В меню Software and Kits содержится документация на библиотеки, примеры кода, руководства по применению, документация на отладочные платы.
Презентации и ссылки на полезные ресурсы компании Energy Micro в Интернете находятся в меню Resources.
Меню Downloads делится на два раздела — Add/Remove и Updates. Add/Remove дает возможность добавить или удалить какие-либо компоненты программы Simplicity
Studio: программы, документацию, примеры кодов и т. д. Updates позволяет обновить уже установленные компоненты Simplicity Studio до актуальной версии. При наличии доступных обновлений на кнопке Updates будет показано их количество.
Отладочные комплекты
Компания Energy Micro предлагает пользователям отладочные комплекты:
• EFM32 Gecko Development Kit (рис. 2 [2]) — многофункциональный набор разработчика;
• EFM32 Gecko Starter Kit — стартовый набор начального уровня;
• EFM32 Tiny Gecko Starter Kit — стартовый набор для работы с микроконтроллерами Tiny Gecko.
Рис. 2. EFM32 Gecko Development Kit
Особенности отладочного комплекта
EFM32 Gecko Development Kit:
• Включает микроконтроллер G290 или G890, расширенную плату, 160-сегментный ЖК-дисплей.
• Встроенный мониторинг энергопотребления с отображением на LCD.
• Тщательный сбор показателей энергии и мощности в режиме реального времени.
• Интерфейс пользователя: 5-позиционный джойстик, 4 пользовательские клавиши, 16 пользовательских светодиодов.
• 3,5-дюймовый LCD RGB-дисплей с расширением 320x240.
• Порт расширения, два RS232, IrDA, слот для microSD.
• Встроенный отладчик Segger J-Link.
• 3-осевой акселерометр, датчик температуры, датчик освещенности.
• Среды разработки с примерами кода в комплекте: IAR Embedded Workbench for ARM; Rowley Associates — CrossWorks for ARM; CodeSourcery — Sourcery G + + ; Keil — MDK-ARM.
• Бесплатные версии компилятора на пробный период.
• EEPROM, SPI Flash, 256Kx16bit SRAM, 2Mx16 NOR Flash.
• Сменная макетная плата.
• Поддерживаемые RTOS:
^C/OS-II, ^C/OS-III; FreeRTOS; RTX и др.
• Поддерживается Simplicity Studio.
В состав стартового комплекта Gecko Starter Kit производитель включает:
• Микроконтроллер EFM32G890F128;
• LCD с расширением 4x40.
• Встроенный отладчик Segger J-Link.
• Полнофункциональный USB-отладчик.
• 20-выводной разъем расширения.
• Возможность мониторинга энергопотребления, тщательный сбор показателей энергии и мощности в режиме реального времени.
• Пользовательский интерфейс с сенсорным слайдером и переключателями.
• Питание от USB или от батареи CR2032.
• Колодки для быстрого доступа к контактам ввода/вывода.
• Кварцевые генераторы на 32 МГц и 32,768 кГц.
• Поддерживается Simplicity Studio. Особенности стартового комплекта Tiny
Gecko Starter Kit:
• EFM32 Tiny Gecko микроконтроллер.
• LCD с расширением 8x20.
• Встроенный мониторинг энергопотребления.
• Тщательный сбор показателей энергии и мощности в режиме реального времени.
• Поддержка LESENSE — платформы удаленного сбора информации с датчиков.
• Индуктивно-емкостной сенсор, датчик освещенности и тензодатчик.
• Встроенный отладчик Segger J-Link.
• Среды разработки с примерами кода в комплекте: IAR Embedded Workbench for ARM; Rowley Associates — CrossWorks for ARM; CodeSourcery — Sourcery G+ + ; Keil — MDK-ARM.
• 20-выводной разъем расширения.
• Питание от USB или от батареи CR2032.
• Печатные площадки для схемы операционного усилителя.
• Емкостная полоса прокрутки, 2 пользовательские клавиши.
• Поддерживаемые RTOS: ^C/OS-II, ^C/OS-III; FreeRTOS; RTX и др.
• Поддерживается Simplicity Studio.
Уже в октябре должен стать доступным новый отладочный комплект от компании Energy Micro для микроконтроллеров Giant Gecko — EFM32GG-DK3750. Основное отличие новой платы от предыдущей — добавле-
ние периферии для поддержки всех возможностей новых микроконтроллеров Gecko.
Особенности отладочного комплекта EFM32GG-DK3750:
• Трассировщик, который поддерживает отладку в реальном времени с использованием ETM-модуля ядра ARM Cortex-M3 — Segger J-Trace.
• Контроллер Ethernet физического уровня и уровня управления доступом к передаче (МАС) — Micrel KSZ8851SNL, подключенный к микроконтроллеру по шине SPI и обеспечивающий скорость передачи данных до 100 Мбит/с.
• ЦАП с интерфейсом I2S.
• Увеличенный до 16 Мбайт объем памяти программ и до 4 Мбайт памяти данных — это позволяет запустить цС Linux на отладочной плате для Giant Gecko.
• Возможность использования процессорной платы отдельно от отладочного комплекта благодаря размещению на ней USB-разъема и держателя для батареи.
• Поддержка TFT-дисплеем функции TFT Direct Drive.
• Сенсорный экран, размещенный на TFT-матрице, что позволяет организовать интерактивный графический интерфейс для пользователя.
Средства разработки
Как известно, популярность электронного прибора определяется не только работой его разработчиков и параметрами, которых в результате удалось достигнуть, но и целым комплексом маркетинговых и технических мероприятий по продвижению микроконтроллера на рынок. И речь здесь идет не только о рекламе. Комплекс грамотной, подробной, но незапутанной документации; хорошие базовые примеры и рекомендации к применению («аппноуты»); библиотеки для работы с периферией — все это неотъемлемые составляющие одного целого, известного как «успешный продукт». В этом же ряду невозможно не упомянуть о том инструменте, с которым разработчику приходится работать большую часть времени, а именно об интегрированной среде разработки (IDE).
И здесь существует два подхода. Одни разработчики создают полностью собственные IDE (основанные, в конце концов, на проприетарных или свободных компиляторах языков), другие же довольствуются написанием плагинов и библиотек поддержки функций своего устройства в известных кросс-платформенных средствах разработки. Оба подхода имеют право на жизнь и свои плюсы и минусы.
В первом случае мы имеем специализированную IDE, наилучшим образом ориентированную на устройства конкретного производителя. Однако это вызывает и зависимость: в случае необходимости перехода на другую платформу нужно изучать особенности другого инструмента. Второй
подход лишен данного недостатка, однако лишен и специализации, что способно вызвать некоторое снижение эффективности. В качестве примеров решений первого типа можно назвать MPLab, AVRStudio, а второго — кросс-платформенные компиляторы компаний IAR, Keil и т. п.
Компания Energy Micro приняла решение не сосредотачиваться на неявных преимуществах создания собственной среды разработки и выбрала проверенный способ адаптации библиотек функций под известные универсальные IDE — Embedded Workbench и MDK-ARM uVision. Библиотека получила название EFM32_Library [3]. Вполне очевидный и обоснованный шаг, учитывая, что это признанные инструменты для разработки под ядро ARM, имеющие широкое распространение среди специалистов, что позволит начать работу с новыми МК практически без дополнительного обучения.
Заключение
Подводя итог, можно сказать, что компания Energy Micro привлекает своим системным, последовательным, можно сказать, «нордическим» подходом к задачам, которые намерена решать: четко сформулирована цель, четко проведена разработка, четко указаны достигнутые результаты и очерчена сфера применения. Делать микроконтроллеры общего назначения — неплохо, однако универсальный инструмент, как известно, одинаково плох во всем. Это, видимо, хорошо понимают в Energy Micro и поэтому выпустили продукт, хотя и отлично справляющийся с универсальными функциями микроконтроллера, но при этом сфокусированный на чрезвычайно низком энергопотреблении, вплоть до возможности постепенного отключения ненужных функций (те самые профили энергоменеджмента). Добавьте к этому чрезвычайно низкое потребление в режиме сна и быстрый выход из него. Продукт имеет все шансы занять как минимум отведенную ему нишу автономных измерительных устройств (счетчики, метеоприборы, весы и проч.), а возможно, учитывая моду на экологичное и низкопотребляющее оборудование, расширить эту нишу и до микроконтроллеров общего применения, благо периферия и ядро это позволяют. Поддержка и документация также на высоте, а в качестве среды разработки можно использовать привычные uVision и Embedded Workbench. ■
Литература
1. Егоров А. Микроконтроллеры NXP Semiconductors на базе архитектуры Cortex // Компоненты и технологии. 2010. № 5.
2. http://www.energymicro.com/tools/efm32-gecko-development-kit
3. http://downloads.energymicro.com/
documentation/doxygen/group__EFM32__
Library.html