Для читателей, кто не знаком с микроконтроллерами EFM8 Bee, вкратце изложу основные особенности этих кристаллов, ответив тем на уже наверняка возникший вопрос: Чем особенны микроконтроллеры EFM8 Bee?
Микроконтроллеры EFM8 Bee представлены четырьмя семействами «пчел»: Busy Bee, Sleepy Bee, Universal Bee и Laser Bee, каждая из которых имеет свои отличительные особенности. В основу
EFM8 Bee заложено процессорное ядро CIP-51 с системой команд 51-го процессора, в отличие от которого более 70% команд выполняются за 1-2 такта системной тактовой частоты — такое же как в известных микроконтроллерах C8051Fxxx.
Не вдаваясь в хитросплетения брендинга и аналогии с пчелами, рассмотрим ключевые особенности этих кристаллов и их технические характеристики:
1. Серия EFM8 Busy Bee
Самая бюджетная серия кристаллов, где ключевой акцент ставится на стоимость микросхем. Стоимость самого дешевого микроконтроллера — 0,21$ без учета НДС (0,25$ с учетом НДС) на проекты с годовым объемом от 10 тыс. шт.
Серия подразделяется на три линейки, суммировав которые можно выделить следующие характеристики:
- максимальная производительность до 50 MIPS на тактовой частоте до 50 МГц;
- Flash-память: до 64 кБайт;
- ОЗУ: до 4352 Байт;
- линий ввода/вывода общего назначения: до 29;
- АЦП: 12 бит с максимальной частотой дискретизации до 350 тыс. отсчетов в сек.;
- до четырех 12-разрядных ЦАП;
- понижающий регулятор напряжения 5В > 3,3В.
По цене 0,21$ (без учета НДС) предлагается микросхема EFM8BB10F2G-A-QFN20, которая включает:
- процессорное ядро с производительностью до 25 MIPS на тактовой частоте 25МГц;
- Flash-память 2 кБайта;
- ОЗУ 256 Байт;
- два встроенных тактовых генератора на частоты 24,5 МГц и 80 кГц;
- интерфейс SMBus / I2C;
- интерфейс SPI;
- интерфейс UART;
- 16 линий ввода/вывода общего назначения;
- 3-канальный программируемый массив счетчиков;
- четыре 16-битных таймера/счетчика;
- два аналоговых компаратора со встроенным ЦАП для гибкой установки порогов;
- 12-разрядный АЦП с мультиплексором на 15 каналов, источником опорного напряжения и датчиком температуры;
- 16-разрядный блок CRC;
- встроенный загрузчик по UART.
2. Серия EFM8 Sleepy Bee
Серия кристаллов, ориентированная на приложения с батарейным питанием. Имеет сходные параметры энергопотребления с 32-разрядными микроконтроллерами EFM32 этого же производителя, но не реализованы «интеллектуальные» режимы работы и значительно меньше периферии. Выгода EFM8 Sleepy Bee состоит в меньшей стоимости кристаллов и более простом их освоении.
Серия подразделяется на две линейки и имеет следующие отличительные особенности:
- максимальная производительность до 25 MIPS на тактовой частоте до 25 МГц;
- аппаратный контроллер сенсорных клавиатур;
- ток потребления в активном режиме: 88 мкА/МГц на тактовых частотах от 14 МГц;
- ток потребления в режиме сна с часами реального времени (тактирование от внутреннего генератора): 0,3 мкА при 1,8В и 0,5 мкА при 3,6В;
- ток потребления в режиме сна с пробуждением от сенсорной кнопки: 1 мкА (среднее значение);
- время пробуждения не превышает 2 мкс при использовании внутреннего генератора.
Аналоговая и цифровая периферия аналогична EFM8 Busy Bee.
Более функциональная и в более удобном для многих корпусе QSOP24 микросхема EFM8SB10F8G-A-QSOP24 с 8 кБайт Flash-памяти и 512 Байт ОЗУ предлагается по цене 0,48$ + НДС
Цены действительны для проектов с годовым потреблением порядка 10 тыс. шт. в год.
3. Серия EFM8 Laser Bee
Серия кристаллов EFM8 Laser Bee ориентирована на приложения с аналоговыми измерениями — кристаллы этой серии снабжены 14-разрядным АЦП, который обеспечивает типовое значение сигнал/шум + искажения (SNDR) на уровне 72 дБ, общие гармонические искажения (THD) -74 дБ и динамический диапазон, свободный от гармоник (SFDR) 74 дБ. Помимо этого, кристаллы EFM8 Laser Bee применимы в приложениях, где требуется недорогой микроконтроллер с высокой рабочей тактовой частотой.
Характеристики кристаллов EFM8 Laser Bee в сухом изложении следующие:
- максимальная производительность до 72 MIPS на тактовой частоте до 72 МГц;
- 14-разрядный АЦП последовательного приближения с частотой дискретизации до 900 тыс. отсчетов в секунду с возможностью организации непрерывного сбора данных по всем каналам АЦП без участия процессорного ядра;
- два либо четыре 12-разрядных ЦАП с возможностью генерации комплементарных синусоидальных сигналов и сигналов произвольной формы;
- два аналоговых компаратора с перестраиваемым соотношением «время реакции»/«энергопотребление» и гибкой схемой выбора входных сигналов;
- встроенный калиброванный датчик температуры, обеспечивающий в базовом исполнении измерения с погрешностью в пределах ±3°C, а с применением описанных производителем методик – в пределах ±0,2°C;
- диапазон рабочих температур всех кристаллов в серии от -40°C до +105°C.
И уникальность этой серии заключается в сочетании представленных характеристик и цены.
Наиболее функциональный вариант из серии — EFM8LB12F64E-B-QSOP24 — с 64 кБайтами Flash-памяти, 4.25 кБайтами ОЗУ и четырьмя ЦАП доступен по цене 0,94$ + НДС.
Цены из расчета на 10 тыс. шт. в год.
4. Серия EFM8 Universal Bee
Название серии происходит из названия интерфейса USB, которым снабжены кристаллы этой серии.
Среди особенностей линейки можно выделить:
- интерфейс USB Device с режимом пониженного энергопотребления;
- стабильный генератор тактовой частоты, обеспечивающий работу интерфейса USB без внешнего кварца во всем диапазоне рабочих температур и напряжений питания;
- регулятор напряжения 5 В > 3,3 В для обеспечения работы устройства от шины USB без использования дополнительного регулятора напряжения;
- функцию распознавания подключения к зарядному устройству согласно спецификации USB-BCS 1.2.
Режим пониженного энергопотребления интерфейса USB в EFM8 Universal Bee необходим для работы с автономными устройствами, обмен данными с которыми должен происходить без взаимной нагрузки по питанию.
Если говорить обо всех микроконтроллерах EFM8 Bee, то в целом можно отметить, что «начинка» кристаллов всех серий достаточно насыщенна, в чем наглядно можно убедиться в сводной таблице под спойлером.
А еще есть ряд немаловажных особенностей, присущих микроконтроллерам всех серий:
- наличие цифрового коммутатора (crossbar), обеспечивающего определенную гибкость при проектировании печатной платы за счет изменения назначения коммутации внутренней периферии на внешние выводы;
- наличие блоков конфигурируемой логики, каждый из которых обеспечивает возможность реализации до 256 функций комбинаторной логики с подключением внешних сигналов и сигналов внутренней периферии;
- уникальный 128-битный ID каждого процессора, упрощающий задачу сериализации изделий с использованием EFM8 Bee;
- запрограммированный во Flash-память загрузчик, работающий по одному из имеющихся на кристалле интерфейсов.
Микроконтроллеры серий Busy Bee и Sleepy Bee представлены как в промышленном температурном диапазоне, так и в автомобильном исполнении, соответствующие требованиям стандарта AEC-Q100.
Корпуса весьма компактны — самый большой кристалл выпускается в 48-выводном корпусе QFP:
Ну вот, пожалуй, и сложился ответ на первый вопрос «Чем особенны микроконтроллеры EFM8 Bee?» и можно приступить к ответам на типовые вопросы разработчиков, кто решил применить кристаллы этого семейства в своих разработках.
Почему EFM8 значительно дешевле C8051Fxxx, продолжением которых кристаллы EFM8 являются?
Архитектурно EFM8 продолжают линейку C8051Fxxx, но производятся по проектным нормам — 0,18 мкм, т.е. меньшей чем C8051Fxxx, большинство которых производится по технологии 0,35 мкм. Тем не менее, по новым проектным нормам выпускаются серии C8051F7xxx, C8051F8xx, C8051F9xx, цены на которые ниже аналогичных в этом семействе.
Также низкая цена на кристаллы EFM8 является частью стратегии производителя, который позиционирует данное семейство для бюджетных задач.
С чего начать?
Начать освоение EFM8 Bee можно с этапа оценки ключевых возможностей выбранного микроконтроллера. Это можно осуществить на фирменной отладочной плате, которая выпускается для каждой серии EFM8. Стоимость этих плат колеблется в диапазоне от 45$ до 55$ c учетом НДС.
На каждой плате распаян старший микроконтроллер из семейства и реализован эмулятор/программатор, обеспечивающий полный доступ ко всем ресурсам этого микроконтроллера.
В качестве программного средства для большинства этапов разработки с использованием EFM8 и их фирменных отладочных плат оптимально использовать интегрированную платформу разработки Simplicity Studio. Обзор её компонентов представлен в видео материалах на YouTube.
Для оценки выбранного кристалла можно использовать любой из имеющихся ресурсов в Simplicity Studio:
- загрузить на плату любой из готовых демонстрационных примеров, созданных для демонстрации отдельных периферийных блоков и режимов работы кристалла;
- использовать готовый пример в исходных кодах, модифицировав требуемым образом;
- создать собственный проект с использованием графического конфигуратора или без него.
Какую среду разработки использовать? Есть ли бесплатный компилятор языка С?
Предлагаемый производителем инструмент – упомянутая выше платформа разработки Simplicity Studio. После просмотра видео демонстраций начинать её освоение значительно проще.
На день написания статьи доступны для скачивания на сайте производителя две версии Simplicity Studio: версии 3 и новой — версии 4. Версия 3 вызывает меньше трудностей при освоении, но её компоненты более не обновляются, а в версию 4 интегрируются все новые программные компоненты и документация. С каждым новым выпуском Simplicity Studio версии 4 трудностей в работе возникает всё меньше и меньше.
После установки Simplicity Studio любой версии нужно доустановить требуемые компоненты как показано в видеороликах для версии 3 и для версии 4.
В результате будет установлена Simplicity Studio со всеми компонентами, необходимыми для работы. Для EFM8 сюда будет входить профессиональный компилятор Keil, являющийся стандартом де-факто для архитектуры 8051, система команд которой заложена в ядро CIP-51 микроконтроллеров EFM8. Неограниченная лицензия для микроконтроллеров EFM8 Bee предоставляется бесплатно после регистрации на сайте Keil.
Для получения лицензии в Simplicity Studio версии 3 необходимо выйти в форму регистрации после установки компонентов для EFM8 Bee в диалоговом окне “Setup tasks”. Этого может и не потребоваться, если до установки Simplicity Studio уже были установлены лицензии для Keil и они успешно «подтянулись» средой Simplicity Studio. В качестве проверки можно запустить компиляцию любого проекта и посмотреть выходную информацию компилятора – лицензия не требуется, если в окне Output среди последних строк будет запись: «C51 COMPILER V9.53.0.0 — SN: ххххх-хххххх».
В Simplicity Studio версии 4 диалоговое окно получения лицензии появится при первой компиляции проекта, в случае, если компилятор в составе Simplicity Studio не найдет уже имеющуюся лицензию, которой будет достаточно для работы.
В качестве альтернативного подхода к реализации проекта компания Silicon Labs также предлагает использование платформы mbed, возможности которой описывались раньше в нашем корпоративном блоге.
Какие есть программные библиотеки?
Для всех линеек кристаллов EFM8 Bee предлагается набор библиотек, включающий драйверы для внутренней периферии кристаллов и BSP для поддержки компонентов, размещаемых на фирменных отладочных платах.
При создании проекта с нуля или загрузки его из примера в Simplicity Studio необходимо выбрать SDK последней версии (если их уже несколько), тогда в дальнейшем для добавления в проект нужных модулей можно будет использовать возможности графической оболочки Simplicity Studio – расставив галочки напротив требуемых компонентов в свойствах проекта в разделе [C/C++ Build] > [Project Modules] — как показано на рисунке под спойлером.
Все имеющиеся компоненты в выбранной версии SDK выводятся списком и добавляются/убираются галочками.
Документация на EFM8 SDK представлена онлайн-версией на сайте devtools.silabs.com.
Где найти документацию на микросхемы, отладочные средства, программное обеспечение?
Самый полный и свежий список документации с фильтрацией доступен на сайте производителя. Здесь список включает в себя документацию, созданную не только для кристаллов серий EFM8, но и сходных по внутренней организации микроконтроллеров C8051Fxxx.
Для облегчения поиска документации на используемую микросхему и отладочный комплект, производитель также организовал доступ к ним непосредственно из оболочки Simplicity Studio. Но на момент написания статьи есть некоторые оговорки на этот счет:
- в Simplicity Studio версии 3 доступ к документации и её поиск организован удобно, а сама документация размещается локально — на жестком диске компьютера. Для доступа к документации на выбранную микросхему и отладочных комплект, руководствам по применению и примерам программ предусмотрены соответствующие кнопки в главном окне Simplicity Studio. В этом способе доступа есть единственный минус – обновление документации в третьей версии с момента выхода четвертой версии Simplicity Studio более не происходит;
- в Simplicity Studio версии 4 поиск любой документации осуществляется через поисковую строку в верхней части главного окна Simplicity Studio. Казалось бы простой путь, но он для многих не очевиден – окно поиска слабо выделяется среди остальных компонентов. Подробнее это можно увидеть в видеоролике от производителя. При первом открытии требуемого документа он скачивается из сети Интернет, а при последующем доступе – локальная версия.
Как отладить проект на своём макете?
Отладка проекта на собственном макете возможна с использованием фирменной отладочной платы для любой серии EFM8 либо c помощью внутрисхемного эмулятора/программатора USB Debug Adapter, стоимостью 55$, который уже много лет выпускается для кристаллов C8051Fxxx и у кого-то даже имеется в “закромах”.
Правильное соединение сигнальных линий нужно делать согласно руководству по применению AN124.
Здесь для отладки внешнего процессора необходимы сигналы отладочного интерфейса C2 — линии C2D, C2CK и GND. Вывод Reset в EFM8 всегда одновременно является сигнальной линией C2CK – так задуман интерфейс C2 из соображений экономии портов ввода/вывода. Для устойчивой работы интерфейса соединительные провода нужно делать как можно короче.
Чтобы не изобретать питание для собственного макета, можно задействовать линии питания отладчиков – у USB Debug Adapter’а это 5В с 10-го контакта разъема, а у отладочной платы – 3,3В и 5В с разъема EXP.
При отладке собственного макета с помощью фирменной отладочной платы необходимо сконфигурировать её для работы с внешним процессором – для этого нужно в утилите Kit Manager в Simplicity Studio версии 3 или главном окне Simplicity Studio версии 4 в разделе Debug Mode выставить режим OUT — при этом должен загореться светодиод рядом с разъемом DBG.
Есть еще один, нестандартный путь для работы с микроконтроллерами EFM8 на собственном макете – для отладки использовать фирменную отладочную плату для микроконтроллеров EFM32, подключив сигналы C2D и C2CK микроконтроллера к 7 и 9 контактам разъема Debug Out отладочной платы, а также соединив линию питания и общий провод с линией VTARGET и GND этого разъема. Далее необходимо отладочную плату сконфигурировать в режим Debug: OUT и в свойствах соединения вручную указать целевой микроконтроллер.
Фирменная отладочная плата работает некорректно. Мне не удается установить связь с процессором. Что делать?
Первоочередной причиной любых проблем в работе отладочных плат для EFM8 является устаревшая «прошивка» отладочной платы. Для её обновления необходимо:
- в версии 3 Simplicity Studio запустить Kit Manager и после предложения обновить прошивку платы согласиться;
- в версии 4 Simplicity Studio в главном окне сверху будет выведена текущая версия прошивки и рядом ссылка для закачки последней её версии – после её закачки, при наличии новой версии прошивки, будет предложено её обновление на плате.
Отсутствие связи с платой может говорить о нарушении её прошивки. В этом случае необходимо выполнить инициализацию плату и обновление прошивки в соответствии с инструкцией по «оживлению» фирменных плат для микроконтроллеров EFM8 и EFM32.
В случае, если связь с платой есть, а с микроконтроллером на плате связь установить не удается, то причиной может быть работа программы в микроконтроллере, которая сразу после включения питания переводит его в состояние в котором процессор не может отвечать на запросы отладчика. Для примера, перевод микроконтроллера в глубокий режим сна либо неправильная настройка тактирования приводит к отказу работы отладчика с процессором. Для оживления микроконтроллера в таком случае понадобится USB Debug Adapter. Алгоритм действий описан в базе знаний на сайте community.silabs.com.
В случае, если в Simplicity Studio с помощью USB Debug Adapter’а выполнить стирание не удается, то можно проделать это в приложении Flash Programming Utilities, где на закладке Flash Erase нужно выполнить операцию стирания всего содержимого Flash-памяти. Алгоритм работы функции стирания в этой программе работает надежнее, нежели в других приложениях для EFM8 и C8051Fxxx, и позволяет вывести микроконтроллер из глубокого «коматозного» состояния.
У меня что-то [всё, ничего, не пойму что] не работает. Где искать ответы на вопросы?
Для микроконтроллеров EFM8 наибольшее количество информации можно найти на сайте сообщества, организованного производителем по адресу community.silabs.com. Здесь есть как база знаний от производителя, так и ответы на вопросы от пользователей по микросхемам и программному обеспечению, на которые отвечают в том числе сотрудники технической поддержки производителя.
Как программировать микроконтроллеры EFM8 в серийном производстве?
При выпуске приборов в небольшой серии микросхемы можно программировать в готовом изделии с использованием внутрисхемного эмулятора/программатора DEBUGADPTR1-USB, стоимостью 55$. В качестве программной оболочки можно использовать набор утилит Flash Programming Utilities либо Production Programmer. Flash Programming Utilities может работать в графическом режиме в готовой оболочке либо в режиме командной строки, что полезно в случаях создания сценариев программирования, помещаемых в .bat-файл.
В качестве более дешевой версии программатора можно применить бескорпусную версию указанного выше программатора, именуемую ToolstickBA, который можно купить по цене 30$ с учетом НДС. С ним можно еще экономнее исполнить разъемное соединение, т.к. у этого программатора установлен торцевой разъем, ответную часть для которого можно предусмотреть на печатной плате без дополнительных разъемов.
При объемах серийного производства, когда трудозатраты и стоимость накладных расходов на программирование превышают разумные значения, можно воспользоваться услугой программирования кристаллов на производстве Silicon Labs. Стоимость услуги в партиях от 5000 шт. составляет 0.06$/шт. — 0.1$/шт. с учетом НДС в зависимости от объема Flash-памяти.
Также нужно помнить, что в микроконтроллерах EFM8 есть встроенный загрузчик и при наличии в изделии разъема для подключения интерфейса, который поддерживается загрузчиком, можно организовать программирование микроконтроллера перед этапом финального тестирования собранного изделия — без программатора. Подробнее функционирование загрузчика можно изучить в руководстве по применению AN945 и программном обеспечении к нему.
И еще остается классический путь — использование параллельного программатора для программирования микросхем до установки на плату. Программаторы фирмы Фитон серии ChipProg поддерживают всю линейку микроконтроллеров EFM8.
Это, пожалуй, весь список основных вопросов, которые возникают у большинства разработчиков, кто начинает работу с микроконтроллерами EFM8 Bee. Прочие вопросы можно адресовать нам — специалистам компании ЭФО либо найти ответы самостоятельно на сайте community.silabs.com.
Комментарии (0)