- PVSM.RU - https://www.pvsm.ru -
Микроконтроллеры семейства EFM8 Bee с каждым днем становятся всё популярнее и уже накопился список частых вопросов, на которые приходится регулярно отвечать. Решил разместить их здесь, чтобы люди, которые стесняются задавать вопросы инженерам компании «ЭФО», могли найти ответы через поисковик.
Для читателей, кто не знаком с микроконтроллерами EFM8 Bee, вкратце изложу основные особенности этих кристаллов, ответив тем на уже наверняка возникший вопрос: Чем особенны микроконтроллеры EFM8 Bee?
Микроконтроллеры EFM8 Bee представлены четырьмя семействами «пчел»: Busy Bee, Sleepy Bee, Universal Bee и Laser Bee, каждая из которых имеет свои отличительные особенности. В основу
EFM8 Bee заложено процессорное ядро CIP-51 с системой команд 51-го процессора, в отличие от которого более 70% команд выполняются за 1-2 такта системной тактовой частоты — такое же как в известных микроконтроллерах C8051Fxxx.
Не вдаваясь в хитросплетения брендинга и аналогии с пчелами, рассмотрим ключевые особенности этих кристаллов и их технические характеристики:
Самая бюджетная серия кристаллов, где ключевой акцент ставится на стоимость микросхем. Стоимость самого дешевого микроконтроллера — 0,21$ без учета НДС (0,25$ с учетом НДС) на проекты с годовым объемом от 10 тыс. шт.
Серия подразделяется на три линейки, суммировав которые можно выделить следующие характеристики:
Серия кристаллов, ориентированная на приложения с батарейным питанием. Имеет сходные параметры энергопотребления с 32-разрядными микроконтроллерами EFM32 этого же производителя, но не реализованы «интеллектуальные» режимы работы и значительно меньше периферии. Выгода EFM8 Sleepy Bee состоит в меньшей стоимости кристаллов и более простом их освоении.
Серия подразделяется на две линейки и имеет следующие отличительные особенности:
Аналоговая и цифровая периферия аналогична EFM8 Busy Bee.
Серия кристаллов EFM8 Laser Bee ориентирована на приложения с аналоговыми измерениями — кристаллы этой серии снабжены 14-разрядным АЦП, который обеспечивает типовое значение сигнал/шум + искажения (SNDR) на уровне 72 дБ, общие гармонические искажения (THD) -74 дБ и динамический диапазон, свободный от гармоник (SFDR) 74 дБ. Помимо этого, кристаллы EFM8 Laser Bee применимы в приложениях, где требуется недорогой микроконтроллер с высокой рабочей тактовой частотой.
Характеристики кристаллов EFM8 Laser Bee в сухом изложении следующие:
И уникальность этой серии заключается в сочетании представленных характеристик и цены.
Название серии происходит из названия интерфейса USB, которым снабжены кристаллы этой серии.
Среди особенностей линейки можно выделить:
Режим пониженного энергопотребления интерфейса USB в EFM8 Universal Bee необходим для работы с автономными устройствами, обмен данными с которыми должен происходить без взаимной нагрузки по питанию.
Если говорить обо всех микроконтроллерах EFM8 Bee, то в целом можно отметить, что «начинка» кристаллов всех серий достаточно насыщенна, в чем наглядно можно убедиться в сводной таблице под спойлером.
А еще есть ряд немаловажных особенностей, присущих микроконтроллерам всех серий:
Микроконтроллеры серий Busy Bee и Sleepy Bee представлены как в промышленном температурном диапазоне, так и в автомобильном исполнении, соответствующие требованиям стандарта AEC-Q100.
Корпуса весьма компактны — самый большой кристалл выпускается в 48-выводном корпусе QFP:
[2]
Ну вот, пожалуй, и сложился ответ на первый вопрос «Чем особенны микроконтроллеры EFM8 Bee?» и можно приступить к ответам на типовые вопросы разработчиков, кто решил применить кристаллы этого семейства в своих разработках.
Архитектурно EFM8 продолжают линейку C8051Fxxx, но производятся по проектным нормам — 0,18 мкм, т.е. меньшей чем C8051Fxxx, большинство которых производится по технологии 0,35 мкм. Тем не менее, по новым проектным нормам выпускаются серии C8051F7xxx, C8051F8xx, C8051F9xx, цены на которые ниже аналогичных в этом семействе.
Также низкая цена на кристаллы EFM8 является частью стратегии производителя, который позиционирует данное семейство для бюджетных задач.
Начать освоение EFM8 Bee можно с этапа оценки ключевых возможностей выбранного микроконтроллера. Это можно осуществить на фирменной отладочной плате [4], которая выпускается для каждой серии EFM8. Стоимость этих плат колеблется в диапазоне от 45$ до 55$ c учетом НДС.
На каждой плате распаян старший микроконтроллер из семейства и реализован эмулятор/программатор, обеспечивающий полный доступ ко всем ресурсам этого микроконтроллера.
В качестве программного средства для большинства этапов разработки с использованием EFM8 и их фирменных отладочных плат оптимально использовать интегрированную платформу разработки Simplicity Studio. Обзор её компонентов представлен в видео материалах на YouTube [5].
Для оценки выбранного кристалла можно использовать любой из имеющихся ресурсов в Simplicity Studio:
Предлагаемый производителем инструмент – упомянутая выше платформа разработки Simplicity Studio. После просмотра видео демонстраций [7] начинать её освоение значительно проще.
На день написания статьи доступны для скачивания на сайте производителя две версии Simplicity Studio: версии 3 [8] и новой — версии 4 [9]. Версия 3 вызывает меньше трудностей при освоении, но её компоненты более не обновляются, а в версию 4 интегрируются все новые программные компоненты и документация. С каждым новым выпуском Simplicity Studio версии 4 трудностей в работе возникает всё меньше и меньше.
После установки Simplicity Studio любой версии нужно доустановить требуемые компоненты как показано в видеороликах для версии 3 [10] и для версии 4 [11].
В результате будет установлена 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, возможности которой описывались раньше в нашем корпоративном блоге [12].
Для всех линеек кристаллов EFM8 Bee предлагается набор библиотек, включающий драйверы для внутренней периферии кристаллов и BSP для поддержки компонентов, размещаемых на фирменных отладочных платах.
При создании проекта с нуля или загрузки его из примера в Simplicity Studio необходимо выбрать SDK последней версии (если их уже несколько), тогда в дальнейшем для добавления в проект нужных модулей можно будет использовать возможности графической оболочки Simplicity Studio – расставив галочки напротив требуемых компонентов в свойствах проекта в разделе [C/C++ Build] > [Project Modules] — как показано на рисунке под спойлером.
Документация на EFM8 SDK представлена онлайн-версией на сайте devtools.silabs.com [13].
Самый полный и свежий список документации с фильтрацией доступен на сайте производителя [14]. Здесь список включает в себя документацию, созданную не только для кристаллов серий EFM8, но и сходных по внутренней организации микроконтроллеров C8051Fxxx.
Для облегчения поиска документации на используемую микросхему и отладочный комплект, производитель также организовал доступ к ним непосредственно из оболочки Simplicity Studio. Но на момент написания статьи есть некоторые оговорки на этот счет:
Отладка проекта на собственном макете возможна с использованием фирменной отладочной платы для любой серии EFM8 либо c помощью внутрисхемного эмулятора/программатора USB Debug Adapter [16], стоимостью 55$, который уже много лет выпускается для кристаллов C8051Fxxx и у кого-то даже имеется в “закромах”.
Правильное соединение сигнальных линий нужно делать согласно руководству по применению AN124 [17].
Здесь для отладки внешнего процессора необходимы сигналы отладочного интерфейса 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 является устаревшая «прошивка» отладочной платы. Для её обновления необходимо:
Отсутствие связи с платой может говорить о нарушении её прошивки. В этом случае необходимо выполнить инициализацию плату и обновление прошивки в соответствии с инструкцией по «оживлению» фирменных плат для микроконтроллеров EFM8 и EFM32 [18].
В случае, если связь с платой есть, а с микроконтроллером на плате связь установить не удается, то причиной может быть работа программы в микроконтроллере, которая сразу после включения питания переводит его в состояние в котором процессор не может отвечать на запросы отладчика. Для примера, перевод микроконтроллера в глубокий режим сна либо неправильная настройка тактирования приводит к отказу работы отладчика с процессором. Для оживления микроконтроллера в таком случае понадобится USB Debug Adapter [16]. Алгоритм действий описан в базе знаний на сайте community.silabs.com [19].
В случае, если в Simplicity Studio с помощью USB Debug Adapter’а выполнить стирание не удается, то можно проделать это в приложении Flash Programming Utilities [20], где на закладке Flash Erase нужно выполнить операцию стирания всего содержимого Flash-памяти [21]. Алгоритм работы функции стирания в этой программе работает надежнее, нежели в других приложениях для EFM8 и C8051Fxxx, и позволяет вывести микроконтроллер из глубокого «коматозного» состояния.
Для микроконтроллеров EFM8 наибольшее количество информации можно найти на сайте сообщества, организованного производителем по адресу community.silabs.com. Здесь есть как база знаний [22] от производителя, так и ответы на вопросы от пользователей по микросхемам [23] и программному обеспечению [24], на которые отвечают в том числе сотрудники технической поддержки производителя.
При выпуске приборов в небольшой серии микросхемы можно программировать в готовом изделии с использованием внутрисхемного эмулятора/программатора DEBUGADPTR1-USB [16], стоимостью 55$. В качестве программной оболочки можно использовать набор утилит Flash Programming Utilities [25] либо Production Programmer [26]. Flash Programming Utilities может работать в графическом режиме в готовой оболочке либо в режиме командной строки, что полезно в случаях создания сценариев программирования, помещаемых в .bat-файл.
В качестве более дешевой версии программатора можно применить бескорпусную версию указанного выше программатора, именуемую ToolstickBA [27], который можно купить по цене 30$ с учетом НДС. С ним можно еще экономнее исполнить разъемное соединение, т.к. у этого программатора установлен торцевой разъем, ответную часть для которого можно предусмотреть на печатной плате без дополнительных разъемов.
При объемах серийного производства, когда трудозатраты и стоимость накладных расходов на программирование превышают разумные значения, можно воспользоваться услугой программирования кристаллов на производстве Silicon Labs. Стоимость услуги в партиях от 5000 шт. составляет 0.06$/шт. — 0.1$/шт. с учетом НДС в зависимости от объема Flash-памяти.
Также нужно помнить, что в микроконтроллерах EFM8 есть встроенный загрузчик и при наличии в изделии разъема для подключения интерфейса, который поддерживается загрузчиком, можно организовать программирование микроконтроллера перед этапом финального тестирования собранного изделия — без программатора. Подробнее функционирование загрузчика можно изучить в руководстве по применению AN945 [28] и программном обеспечении [29] к нему.
И еще остается классический путь — использование параллельного программатора для программирования микросхем до установки на плату. Программаторы фирмы Фитон серии ChipProg поддерживают всю линейку микроконтроллеров EFM8.
Это, пожалуй, весь список основных вопросов, которые возникают у большинства разработчиков, кто начинает работу с микроконтроллерами EFM8 Bee. Прочие вопросы можно адресовать нам — специалистам компании ЭФО либо найти ответы самостоятельно на сайте community.silabs.com [30].
Автор: AlexeyKurilin
Источник [31]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie-mikrokontrollerov/256273
Ссылки в тексте:
[1] Image: https://habrastorage.org/files/74b/31c/f1f/74b31cf1f3d346bc977238e6ebc9410f.jpg
[2] Image: https://habrastorage.org/web/2e0/218/57d/2e021857d90f45348a0ed7204172d8b2.jpg
[3] Image: https://habrastorage.org/web/a5f/603/eda/a5f603edab7b4f1b9df7c62a7a3537f4.jpg
[4] фирменной отладочной плате: http://mymcu.ru/support/startovie-nabori-efm8-starter-kit.html
[5] YouTube: https://www.youtube.com/watch?v=MpS3cn8an2g&list=PL8l4z24uB4CMoKyu3BcMGzM89Wn9Kr4nv
[6] создать собственный проект: https://www.youtube.com/watch?v=UGldNoV7Wz4&list=PL8l4z24uB4CMoKyu3BcMGzM89Wn9Kr4nv&index=3
[7] видео демонстраций: https://www.youtube.com/playlist?list=PL8l4z24uB4CMoKyu3BcMGzM89Wn9Kr4nv
[8] версии 3: http://www.silabs.com/products/development-tools/software/simplicity-studio-version3
[9] версии 4: http://www.silabs.com/products/development-tools/software/simplicity-studio
[10] версии 3: https://www.youtube.com/watch?v=MpS3cn8an2g
[11] версии 4: https://www.youtube.com/watch?v=nJfU0Mu51QU
[12] в нашем корпоративном блоге: https://habrahabr.ru/company/efo/blog/308440/
[13] devtools.silabs.com: http://devtools.silabs.com/studio/doc/EFM8/software/
[14] сайте производителя: https://www.silabs.com/support/resources.ct-application-notes.ct-data-sheet-addendums.ct-data-sheets.ct-errata.ct-example-code.ct-getting-started.ct-manuals.ct-miscellaneous.ct-product-change-notifications.ct-reference-designs.ct-release-notes.ct-schematic-and-layout-files.ct-software.p-microcontrollers_8-bit-mcus
[15] видеоролике от производителя: https://www.youtube.com/watch?v=fKSryBr4Y_A
[16] USB Debug Adapter: http://www.silabs.com/products/development-tools/mcu/8-bit/8bit-mcu-accessories/8-bit-debug-adapter
[17] AN124: https://www.silabs.com/documents/public/application-notes/AN124.pdf
[18] инструкцией по «оживлению» фирменных плат для микроконтроллеров EFM8 и EFM32: http://community.silabs.com/t5/32-bit-MCU-Knowledge-Base/Recover-EFM32-or-EFM8-kit-that-was-bricked-during-firmware/ta-p/122142
[19] community.silabs.com: http://community.silabs.com/t5/8-bit-MCU-Knowledge-Base/Using-the-USB-Debug-Adapter-to-debug-EFM8-on-custom-boards-and/ta-p/192307
[20] Flash Programming Utilities: http://www.silabs.com/products/development-tools/software/8-bit-8051-microcontroller-software#flash
[21] выполнить операцию стирания всего содержимого Flash-памяти: http://community.silabs.com/t5/8-bit-MCU-Knowledge-Base/Recovering-an-EFM8-STK-using-an-external-8-bit-Debug-Adapter/ta-p/173411
[22] база знаний: http://community.silabs.com/t5/tkb/communitypage
[23] микросхемам: http://community.silabs.com/t5/8-bit-MCU/bd-p/1
[24] программному обеспечению: http://community.silabs.com/t5/forums/filteredbylabelpage/board-id/6/label-name/efm8
[25] Flash Programming Utilities: https://www.silabs.com/documents/login/software/utildll.exe
[26] Production Programmer: https://www.silabs.com/documents/login/software/Simplicity_Studio_Production_Programmer.zip
[27] ToolstickBA: http://www.silabs.com/documents/public/user-guides/ToolStick-BaseAdapter-UG.pdf
[28] AN945: http://www.silabs.com/documents/public/application-notes/AN945.pdf
[29] программном обеспечении: http://www.silabs.com/documents/public/example-code/AN945SW.zip
[30] community.silabs.com: http://community.silabs.com
[31] Источник: https://habrahabr.ru/post/327780/
Нажмите здесь для печати.