Фильтр по тематике

Быстрый старт с микроконтроллерами STM32

В статье представлен обзор линейки 32-разрядных микроконтроллеров STM32, отладочных плат на основе этих микроконтроллеров и бесплатного ПО, позволяющих начать разработку уже сегодня с наименьшим «входным порогом». Освещены преимущества использования микроконтроллеров серии STM32L, имеющих сверхнизкое энергопотребление, в медицинских приборах.

01.03.2016 3687 0
Быстрый старт с микроконтроллерами STM32

Обзор микроконтроллеров STM32

32-разрядные микроконтроллеры выпускаются многими производителями, но наиболее широкое распространение получил продукт совместной франко-итальяно-японской фирмы STMicroelectronics (STM). Его продвижению способствовали невысокая стоимость, удобство программирования и наличие бесплатного ПО.

В основе семейства 32-разрядных микроконтроллеров лежит процессор c архитектурой ARM Cortex-M. Эти процессоры сочетают высокую производительность, способность обрабатывать данные в режиме реального времени, возможности цифровой обработки сигнала и низкое энергопотребление, сохраняя при этом высокую степень интеграции и простоту разработки.

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

Как видно из рисунка 1, в линейке STM32 присутствуют модели, предназначенные для решения общих задач (индексы F0, F1, F3), варианты устройств с батарейным питанием (индекс L), модификации, имеющие высокую производительность (F2, F4 и F7), а также контроллеры для использования в приложениях с сенсорным экраном или устройствах, предполагающих приём и передачу данных в радио­частотном диапазоне.

В качестве примера рассмотрим использование микроконтроллеров STM32L с низким энергопотреблением в медицинских приборах [4].

Тесты производительности процессоров
Dhrystone – синтетический тест производительности компьютеров, разработанный в 1984 г. Рейнольдом Викером. Представляет собой простые программы, выдерживающие определённые соотношения между различными видами инструкций. Нацелен на тестирование системной (целочисленной) производительности процессоров общего назначения. Тест не содержит операций над числами с плавающей точкой. Итогом теста является Dhrystones per Second (количество итераций основного цикла в секунду). Часто этот результат приводят к DMIPS (от Dhrystone MIPS) путём деления на 1757 (результат Dhrystone/s для компьютера VAX 11/780, то есть номинальной машине с 1 DMIPS). DMIPS можно делить на частоту процессора, чтобы получить DMIPS/МГц. Такие единицы позволяют сравнивать процессоры с разной тактовой частотой [1].
CoreMark – тест используется для измерения производительности процессоров во встраиваемых системах. Может запускаться на большом количестве процессорных ядер. Тест был разработан в 2009 г. Шеем Гал-Он из некоммерческой организации EEMBC (Embedded Microprocessor Benchmark Consortium) и призван стать отраслевым стандартом, заменив устаревший тест Dhrystone. Код, реализующий тест, написан на языке C и реализует следующие алгоритмы: обработка списка (тест и сортировка), общие операции с матрицами, конечный автомат и проверку контрольных сумм (CRC) [2]. Результаты тестов для различных процессоров можно посмотреть на сайте EEMBC [3].

Использование STM32L в медицинских приборах

Различные приборы для наблюдения за состоянием организма человека имеют специфические требования к энергопотреблению, аналого-цифровому и цифроаналоговому преобразователям (АЦП и ЦАП) и встроенным коммуникационным интерфейсам, таким как USB. Кроме того, многие устройства используют батарейное питание, и даже те, что работают от сети, зачастую оснащаются резервным автономным источником питания.

Семейство STM32L со сверхнизким потреблением является представителем линейки микроконтроллеров STM32 с ядром Cortex-M3, содержащим различные периферийные модули. Это позволяет достичь высокого уровня интеграции, что, в конечном итоге, позволяет снизить стоимость системы. Сочетание высокой производительности и низкого энергопотребления хорошо отвечает требованиям, предъявляемым к медицинскому оборудованию.

В состав типичного портативного медицинского прибора входят, по крайней мере, две подсистемы:

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

На рисунке 2 представлена структурная схема возможной реализации портативного глюкометра на основе микроконтроллера из линейки STM32L.

Структура STM32L позволяет реализовать большинство функций прибора на одном кристалле, что уменьшает материалоёмкость, снижает энергопотребление и упрощает управление питанием.

STM32L имеет 24-канальный 12-разрядный АЦП и два 12-разрядных ЦАП. Использование внешнего источника опорного напряжения позволяет очень хорошо изолировать аналоговые модули от «шумящей» цифровой части.

Быстродействующий АЦП может обрабатывать все измерения с электромеханического или оптического датчика при отслеживании температуры или мощности. Используя методы выборки с запасом по частоте дискретизации, можно получить 14-битную точность АЦП, удовлетворив тем самым достаточно высокие требо­вания.

12-разрядный ЦАП можно использовать для точного контроля над смещением показаний датчика, а встроенная ЭСППЗУ для данных упрощает процесс логгирования. Встроенные часы реального времени имеют такие же характеристики, что и их высококачественные автономные аналоги.

Имеется полный набор коммуникационных портов для цифрового обмена информацией с датчиками через шины I2C и SPI, а также для обмена данными с управляющим компьютером (хостом), с этой целью используются интерфейсы RS-232, IrDA или USB.

Контроллер ЖК-дисплея может напрямую управлять количеством сегментов до 8 × 40 и значительно снижает количество необходимых внешних компонентов, так как имеет встроенный повышающий преобразователь.

Маломощные приложения на микроконтроллерах обычно работают непрерывно, чередуя два режима:

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

STM32L позволяет снизить общее энергопотребление в таких приложениях за счёт:

  1. Снижения потребления в рабочем режиме.
  2. Снижения потребления в спящем режиме.
  3. Уменьшения времени нахождения в рабочем режиме.

Обычно пункты 1 и 3 вступают в противоречие друг с другом. Чтобы снизить время нахождения в рабочем режиме, зачастую требуется высокопроизводительный процессор, как правило, с большим энергопотреблением. Для преодоления этого противоречия микроконтроллер STM32L имеет преимущества в следующих элементах: процессор, продвинутая низковольтная технология и программируемый LDO-регулятор, оптимизированный для низкого потребления АЦП.

Ядро ARM Cortex-M3 показывает очень хорошее соотношение потреб­ления и производительности, которое выражается в мкА/DMIPS. Это значение в большей степени представляет энергию, необходимую для выполнения программной задачи, чем отношение мкА/МГц, которое не учитывает число циклов, затрачиваемых на выполнение инструкции, или же эффективность самой инструкции. В этом 32-разрядная архитектура превосходит 8- и 16-разрядные архитектуры, которые дают лучшие показатели, выраженные в мкА/МГц, но проигрывают при использовании отношения мкА/DMIPS.

Дополнительная экономия времени в рабочем режиме является результатом свойственной для Cortex-M3 низкой задержки для прерываний, автоматического сохранения и восстановления состояния и так называемого механизма Tail-Chaining, когда следующие друг за другом прерывания выполняются без дополнительного сохранения и восстановления состояния.

Одной из особенностей КМОП-технологии является то, что в рабочем режиме бо¢льшая часть потребляемой энергии используется для зарядки и разряда огромного количества свойственных для этой технологии очень маленьких конденсаторов.

E =Vcore × Q = (Vcore)2 × C,

где Vcore – напряжение питания цифровой части микроконтроллера, а C представляет собой сумму ёмкостей всех активных узлов электрической цепи.

Топология с проектными нормами 130 нм, применённая в STM32L, позволяет минимизировать ёмкость отдельных узлов, а компактность ядра Cortex-M3 помогает снизить их общее количество. Кроме того, использование технологии Clock Gating снижает энергопотребление в цифровых схемах за счёт запрета подачи тактовых сигналов на неиспользуемые цепи схемы.

Встроенный LDO-регулятор (линейный регулятор напряжения, отличающийся малым падением напряжения на регулирующем элементе) и масштабирование напряжения способствуют снижению напряжения питания ядра. LDO-регулятор гарантирует, что цифровая часть всегда питается минимально необходимым напряжением для обеспечения заданной производительности. Он может программироваться на использование трёх дискретных уровней напряжения. Как видно из рисунка 3, лучшее соотношение потребляемый ток / производительность достигается при Vcore = 1,2 В.

Идея состоит в том, чтобы поддерживать напряжение питания STM32L на уровне Vcore = 1,2 В и переключаться в более высокопроизводительный диапазон на ограниченное время, только когда микроконтроллер должен выполнять определённую задачу. Так как и Vcore, и тактовая частота легко программируются, это позволяет пользователю динамически настраивать энергопотребление и производительность во время работы.

Режим «сна» с низким энергопотреблением является обычно самым продолжительным в работе портативных устройств. Хотя потребление в этом режиме на несколько порядков ниже, чем в рабочем, оно всё равно может влиять на полное энергопотребление.

На STM32L реализовано несколько режимов с малым энергопотреблением (см. табл. 1), что позволяет разработчику производить оптимизацию c учётом ёмкости батареи и потребностей своего приложения.

Опция сверхнизкого потребления используемой 130-нм технологии вместе с режимами малого потребления встроенного LDО-регулятора позволяют достичь типичного потребления тока 430 нА, сохраняя системную конфигурацию, показывая очень быстрый запуск за несколько микросекунд, не теряя при этом контроля.

Пониженное потребление также учитывалось и при проектировании встроенного в STM32L контроллера ЖК-экрана, что очень важно для портативных медицинских приборов. Контроллер объединяет малопотребляющий повышающий преобразователь, который позволяет поддерживать работоспособность дисплея в течение длительного времени в широком диапазоне напряжений питания VDD.

Встроенный АЦП также оптимизирован для низкого потребления. Разрешение АЦП последовательных приближений составляет 12 разрядов, скорость преобразования достигает 1 мегасэмпл в секунду, а 24 объединённых входа имеют диапазон от 0 до VREF+. Разрешение может быть снижено до 10, 8 и 6 разрядов, позволяя увеличить скорость преобразования.

Помимо расширенных возможностей, таких как преобразование по сигналу, нескольких источников запуска, DMA, задаваемым временем выборки для каждого канала и автокалибровки, АЦП также поддерживает операции с низким потреблением. АЦП работает от встроенного высокоскоростного RC-генератора, и поэтому может быть запущен независимо от остальных блоков микроконтроллера, которые могут отключаться, пока АЦП производит преобразование. С другой стороны, вводя автоматическое снижение потребления после запрограммированных преобразований, АЦП уменьшает потребление до минимально необходимого уровня. Например, при тактовой частоте процессора 32 кГц инструкция может выполняться 31 мкс. Предполагая 5 аналогово-цифровых преобразований за 1 мкс, АЦП может снизить потребление после 5 мкс, до того как выполнится команда процессора.

В приложениях, требующих повышенного разрешения для захватываемых данных, можно использовать метод, называемый передискретизацией. Передискретизация использует собственный шум или искусственно добавляемый сигнал (например, треугольный или модулированный подобно «белому» шуму, используя встроенный ЦАП) для измерения, производя выборку такого сигнала с более высокой частотой дискретизации и, например, быстрым усреднением данных. Это позволяет увеличить пределы квантования. Количество сэмплов, необходимое для расширения разрешения АЦП, отличается для зашумлённых сигналов: линейная треугольная развёртка напряжения c одной нижней боковой полосой требует в 2P + 1 раз большую скорость выборки, в то время как модуляция белого шума – в 4P раз более высокую скорость модуляции (здесь P обозначает количество дополнительных разрядов). Разумным для STM32L является повышение точности до 14 разрядов. При этом сохраняется высокая скорость преобразования и небольшое время активности АЦП.

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

Оценочные платы серии Discovery

Для упрощения знакомства разработчиков с семейством STM32 компания STMicroelectronics предлагает оценочные платы, на которых устанавливается тот или иной микроконтроллер со схемами обвязки и различной периферией. Обязательным отличительным свойством оценочных плат сегодня является большое число контактов, которые позволяют получить доступ практически ко всем портам микроконтроллера, а также интерфейсы в виде светодиодов и кнопок. Кроме того, во многие оценочные платы встраивается программатор, который позволяет программировать внешние микросхемы. Всё, что требуется от разработчика, – это установить ПО на компьютер и подключить к его USB-порту отладочную плату. В таблицах 2–4 приведены основные характеристики оценочных плат Discovery линейки STM32 [5].



Компания STMicroelectronics первой начала производство микроконтроллеров с ядром ARM Cortex-M7. Чтобы облегчить разработку устройств на основе этого микроконтроллера, выпускается отладочная плата STM32F746G (см. рис. 4).

На сегодняшний день это наиболее мощный по возможностям набор. К особенностям платы можно отнести:

  • микроконтроллер STM32F746NGH6 в корпусе BGA216, имеющий 1 Мбайт памяти программ и 340 Кбайт оперативной памяти;
  • встроенный программатор и отладчик ST-LINK/V2-1;
  • цветной сенсорный ёмкостный TFT-экран с диагональю 4,3 дюйма и разрешением 480 × 272 точек;
  • разъём для подключения видеокамеры;
  • аудиокодек SAI;
  • разъёмы аудиовхода и аудиовыхода;
  • стереовыход;
  • два встроенных MEMS-микрофона;
  • вход SPDIF RCA;
  • две кнопки (пользовательская и Reset);
  • 64 Мбит SDRAM;
  • разъём для подключения microSD-карты;
  • разъём Ethernet, совместимый с IEEE-802.3-2002;
  • совместимый с Arduino Uno V3 разъём с выводами.

Бесплатные интегрированные среды разработки

Существует множество различных вариантов как платных, так и полностью бесплатных программных средств разработки, позволяющих использовать мощь микроконтроллеров STM32 в полной мере. Бесплатные варианты позволяют сразу же начать работу с семейством STM32. У разработчиков есть выбор между тремя бесплатными, созданными в тесном сотрудничестве с STMicroelectronics, интегрированными средами разработки (IDE). Можно рассматривать альтернативы между основанными на Eclipse средами разработки, такими как CooCox CoIDE [6] или Ac6 System Workbench для STM32 [7], а также средой Keil MDK-ARM [8]. Они не имеют ограничений на размеры кода, кроме того, в них поддерживаются все необходимые для STM32 конфигурационные файлы и прошивки, а также отладочное аппаратное обеспечение, такое как платы STM32 Nucleo или упомянутые ранее наборы Disсovery Kit.

Ac6 System Workbench для STM32 и CooCox IDE поддерживают все устройства STM32, в основе которых лежат ядра ARM Cotex-M0, M0+, M3 и M4. Бесплатная среда Keil MDK-ARM для STM32 помогает перейти от устаревшей 8-разрядной архитектуры к 32-разрядной разработке Cortex, поддерживая серии STM32F0 и STM32L0, включающие Cortex-M0 и M0+, без каких-либо ограничений.

Все три среды разработки могут работать на платформах Windows. Разработчиками было анонсировано, что для Ac6 System Workbench версии для ОС Linux и Mac OS X появятся уже в 2015 г., однако пока этого не произошло. Производители IDE обеспечивают техническую поддержку и постоянные обновления ПО.

Наиболее популярной среди разработчиков является CoIDE китайской фирмы CooCox [9]. Keil MDK-ARM в бесплатной версии имеет ограничение на длину кода в 32 Кбайт для микроконтроллеров серий выше, чем STM32F0 и STM32L0.

Литература

  1. www.ru.wikipedia.org/wiki/Dhrystone.
  2. www.en.wikipedia.org/wiki/Coremark.
  3. www.eembc.org/coremark.
  4. STM32L Cortex-M3 Microcontroller for Usage in Low-Power Healthcare Applications. TA0340 Technical Article. STMicroelectronics. 2011.
  5. www.st.com.
  6. www.coocox.org.
  7. www.openstm32.org.
  8. www.keil.com/mdk-st.
  9. www.robotosha.ru/stm32/free-ide-stm32.html.

Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

01.03.2016 3687 0
Комментарии
Рекомендуем
Знаменитый разработчик радиотелескопов, волноводов, РЛС и радаров А.А. Пистолькорс

Знаменитый разработчик радиотелескопов, волноводов, РЛС и радаров А.А. Пистолькорс

Среди исследователей и разработчиков, стоявших у истоков разных областей современной электроники, есть много имён, известных лишь в научном сообществе. Тем не менее без них развитие отечественной радиоэлектроники было бы другим. В статье рассказывается о научном пути и результатах исследований доктора наук Александра Александровича Пистолькорса, как фундаментальных, так и прикладных, нашедших широкое применение в развивающихся областях науки и техники в ХХ веке и определивших на десятилетия вперёд прогресс в развитии радиотехники, электроники и связи. Метод наведённых ЭДС, принцип двойственности, теория связанных линий для передачи информации, оптические волноводы и фазированные антенные решетки, голографические линзы, фотонные кристаллы – их создание и совершенствование напрямую связано с Александром Пистолькорсом.
31.03.2026 СЭ №3/2026 203 0
Космическая версия зарождения жизни Часть 2. Неопознанные атмосферные образования Роуна Джозефа с точки зрения современной науки

Космическая версия зарождения жизни Часть 2. Неопознанные атмосферные образования Роуна Джозефа с точки зрения современной науки

В первой части статьи были рассмотрены видеозаписи результатов американо-итальянской системы привязанных спутников (TSS-1R), полученные ровно тридцать лет назад во время миссии космического шаттла «Колумбия» (22 февраля 1996 года). В опубликованной не так давно статье известного астробиолога Роуна Джозефа [1] предлагалось интерпретировать некоторые атмосферные плазменные образования, зафиксированные на этих видеозаписях, как самоорганизующиеся субстанции, которые миллиарды лет назад могли инициировать зарождение биологической жизни на Земле. Во второй части статьи показано, насколько доказательны с точки зрения современной науки новые аргументы в поддержку внеземного зарождения жизни, предложенные Роуном Джозефом.
30.03.2026 СЭ №3/2026 210 0
Линейные интегральные стабилизаторы напряжения с низким падением напряжения на регулирующем элементе

Линейные интегральные стабилизаторы напряжения с низким падением напряжения на регулирующем элементе

В статье представлены интегральные линейные стабилизаторы с малым падением напряжения на регулирующем элементе (LDO-стабилизаторы, Low Dropout Output), выпускаемые предприятием XMTI (Xi’an Microelectronics Technology Institute), для применения в качестве вторичного источника электропитания в аппаратуре с батарейным питанием, дополнительных стабилизаторов напряжения в импульсных источниках питания. Линейные регуляторы подразделяются на радиационно-стойкие модели для применения в бортовой аппаратуре космических аппаратов и модели уровня качества Military для аппаратуры специального применения. Выпускаются микросхемы для формирования положительного и отрицательного напряжения, а также с расщеплённым выходом для питания аналоговых устройств. Выходное напряжение может быть фиксированным и регулируемым.
26.03.2026 СЭ №3/2026 300 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться