Компания stmicroelectronics представила новую гибкую платформу на базе микроконтроллеров stm32

Содержание

STM32 – микроконтроллер для начинающих после Arduino

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

Что такое STM32

STM32 – это платформа, в основе которой лежат микроконтроллеры STMicroelectronics на базе ARM процессора, различные модули и периферия, а также программные решения (IDE) для работы с железом. Решения на базе stm активно используются благодаря производительности микроконтроллера, его удачной архитектуре, малом энергопотреблении, небольшой цене. В настоящее время STM32 состоит уже из нескольких линеек для самых разных предназначений.

История появления

Серия STM32 была выпущена в 2010 году. До этого компанией STMicroelectronics уже выпускались 4 семейства микроконтроллеров на базе ARM, но они были хуже по своим характеристикам. Контроллеры STM32 получились оптимальными по свойствам и цене. Изначально они выпускались в 14 вариантах, которые были разделены на 2 группы – с тактовой частотой до 2 МГц и с частотой до 36 МГц. Программное обеспечение у обеих групп одинаковое, как и расположение контактов. Первые изделия выпускались со встроенной флеш-памятью 128 кбайт и ОЗУ 20 кбайт. Сейчас линейка существенно расширилась, появились новые представители с повышенными значениями ОЗУ и Flash памяти.

Достоинства и недостатки STM32

  • Низкая стоимость;
  • Удобство использования;
  • Большой выбор сред разработки;
  • Чипы взаимозаменяемы – если не хватает ресурсов одного микроконтроллера, его можно заменить на более мощной, не меняя самой схемы и платы;
  • Высокая производительность;
  • Удобная отладка микроконтроллера.
  • Высокий порог вхождения;
  • На данный момент не так много литературы по STM32;
  • Большинство созданных библиотек уже устарели, проще создавать свои собственные.

Минусы STM32 не дают пока микроконтроллеру стать заменой Ардуино.

Сравнение STM32 с Arduino

По техническим характеристикам Ардуино проигрывает STM32. Тактовая частота микроконтроллеров Ардуино ниже – 16 МГц против 72 МГц STM32. Количество выводов GRIO у STM32 больше. Объем памяти у STM32 также выше. Нельзя не отметить pin-to-pin совместимость STM32 – для замены одного изделия на другое не нужно менять плату. Но полностью заменить ардуино конкуренты не могут. В первую очередь это связано с высоким порогом вхождения – для работы с STM32 нужно иметь базис. Платы Ардуино более распространены, и, если у пользователя возникает проблема, найти решение можно на форумах. Также для Ардуино созданы различные шилды и модули, расширяющие функционал. Несмотря на преимущества, по соотношению цена/качество выигрывает STM32.

Семейство микроконтроллеров STM32 отличается от своих конкурентов отличным поведением при температурах от -40С до +80 С. Высокая производительность не уменьшается, в отличие от Ардуино. Также можно найти изделия, работающие при температурах до 105С.

Обзор продуктовых линеек

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

Серии STM32F-1, STM32F-2 и STM32L полностью совместимы. Каждая из серий имеет десятки микросхем, которые можно без труда поменять на другие изделия. STM32F-1 была первой линейкой, ее производительность была ограничена. Из-за этого по характеристикам контроллеры быстро догнали изделия семейства Stellaris и LPC17. Позднее была выпущена STM32F-2 с улучшенными характеристиками – тактовая частота достигала 120 МГц. Отличается высокой процессорной мощностью, которая достигнута благодаря новой технологии производства 90 нм. Линейка STM32L представлена моделями, которые изготовлены по специальному технологическому процессу. Утечки транзисторов минимальны, благодаря чему приборы показывают лучшие значения.

Важно отметить, что контроллеры линейки STM32W не имеют pin-to-pin совместимости с STM32F-1, STM32F-2 и STM32L. Причина заключается в том, что линейку разрабатывала компания, которая предоставила радиочастотную часть. Это наложило ограничения на разработку для компании ST.

STM32F100R4

Микросхема STM32F100R4 имеет минимальный набор функций. Объем флэш памяти составляет 16 Кбайт, ОЗУ – 4 Кбайт, тактовая частота составляет 12 МГц. Если требуется более быстрое устройство с увеличенным объемом флэш-памяти до 128 Кбайт, подойдет STM32F101RB. USB интерфейс имеется у изделия STM32F103RE. Существует аналогичное устройство, но с более низким потреблением – это STM32L151RB.

Программное обеспечение для работы с контроллером

Для ARM архитектуры разработано множество сред разработки. К самым известным и дорогостоящим относятся инструменты фирм Keil и IAR System. Программы этих компаний предлагают самые продвинутые инструментарии для оптимизации кода. Также дополнительно существуют различные системы – USB стеки, TCP/IP-стеки и прочие. Применяя системы Keil, пользователь получает хороший уровень технической поддержки.

Также для STM32 используется среда разработки Eclipse и построенные на ней системы Atollic TrueStudio (платная) и CooCox IDE (CoIDE) (бесплатная). Обычно используется последняя. Ее преимущества перед другими средами разработки:

  • Свободно распространяемое программное обеспечение;
  • Удобство использования;
  • Имеется много примеров, которые можно загрузить.

Единственный недостаток среды разработки CooCox IDE – сборка есть только под Windows.

STM32 Discovery

Начать изучение микроконтроллера STM32 лучше с платы Discovery. Это связано с тем, что на этой плате есть встроенный программатор. Его можно подключить к компьютеру через USB кабель и использовать как в качестве программируемого микроконтроллера, так и для внешних устройств. Плата Discovery имеет полную разводку пинов с контроллера на пины платы. На плату можно подключать различные сенсоры, микрофоны и другие периферийные устройства.

Что потребуется для подключения STM32 к компьютеру

Чтобы начать работу, потребуются следующие компоненты:

  • Сама плата STM32 Discovery;
  • Datasheet на выбранную модель;
  • Reference manual на микроконтроллер;
  • Установленная на компьютер среда разработки.

В качестве примера первая программа будет рассмотрена в среде CooCox IDE.

Первая программа

Обучение следует начинать с простейшего – с Hello World. Для начала нужно установить CooCox IDE на компьютер. Установка стандартная:

  • Скачивается программа с официального сайта;
  • Там нужно ввести адрес своей электронной почты и начать загрузку файла с расширением .exe;
  • Нужно открыть CooCox IDE вкладку Project, Select Toolchain Path;
  • Указать путь к файлу;
  • Снова открыть среду разработки и нажать View -> Configuration на вкладку Debugger;
  • Теперь можно записывать программу.

Когда программа установлена, ее нужно открыть. Следует перейти во вкладку Browse in Repository и выбрать ST – свой микроконтроллер.

Далее на экране появится список библиотек, которые можно подключить. Для первой программы потребуются системные CMSIS core и CMSIS Boot, библиотека для работы с системой тактирования RCC, GPIO для работами с пинами.

Сама программа пишется как и для Ардуино, нужно знать основы языка Си.

В окошке Project следует открыть main.c. В коде в самом начале следует подключить библиотеки кроме CMSIS (они уже автоматически подключены). Добавляются они следующим образом:

Затем добавляется тактирование порта в главной функции main. Какой контакт за что ответственен, можно просмотреть в даташите к микроконтроллеру.

Для настройки параметров выводов следует прописать ее название и поставить точку. Во всплывающем меню будут указаны все характеристики. Их можно исправлять.

После этого нужно сделать зацикливание в while, чтобы светодиод мигал, пока не отключится питание.

Когда программа написана, ее можно загружать в контроллер. Если есть отладочная плата, ее нужно подключить через USB кабель и нажать Download Code To Flash. Если плата отсутствует, потребуется переходник, который нужно подключить к порту компьютера. Контакт BOOT 0 подключается к плюсу питания контроллера, а затем включается само питание МК. После этого начнется прошивка.

Чтобы загрузить программу в микроконтроллер, нужно следовать указаниям от приложения. Сначала прописывается код порта, к которому подключен микроконтроллер. Также указывается скорость. Советуется брать небольшое значение, чтобы не было сбоев. Программа найдет микроконтроллер, и нужно будет нажать кнопку «далее». Во вкладке Download to device нужно в поле Download from file выбрать написанную программу и нажать «далее».

После этого нужно отключить питание контроллера STM32, закрыть Flash Loader Demonstrator, выключить переходник. Теперь можно снова включить микроконтроллер в обычном режиме. Когда программа будет загружена, светодиод начнет мигать.

Работа в других программах проходит подобным образом. Также выбираются нужные библиотеки, и прописывается код. У платных утилит функционал больше, и можно создавать более сложные проекты.

STMicroelectronics представила новые микроконтроллеры серии STM32 F4

STMicroelectronics STM32 F4 STM32F405 STM32F407 STM32F415 STM32F417

Компания STMicroelectronics представила новую серию микроконтроллеров STM32 F4. Расширение платформы STM32 основано на последней версии ядра ARM Cortex-M4, которая добавляет новые возможности в сфере обработки сигналов и более быстрые по времени выполнения операции к уже хорошо зарекомендовавшей себя линейке микроконтроллеров STM32. По заверениям компании, новая серия предъявит права на титул самых высокопроизводительных микроконтроллеров на базе технологии Cortex-M, присутствующих сегодня на рынке и закрепит за STMicroelectronics лидерство в этой области.

Читайте также:  Начинающим программистам микроконтроллеров pic

Линейка STM32 является наиболее успешным семейством микроконтроллеров, построенных на базе 32-х разрядного ядра ARM Cortex-M, и почти каждый второй микроконтроллер, на базе данного ядра, как заявляет STMicroelectronics, выпускается под маркой STM32. Сфера применения семейства STM32 довольно широка: медицинские приборы, средства измерений, кассовое оборудование, автоматизация и безопасность зданий, домашние аудио системы и пр. И с новой серией STM32 F4 компания надеется расширить список сферы применения своей продукции. DSP инструкции, выполняемые за один такт, открывают для нового продукта двери на рынок цифровых сигнальных контроллеров, который требует высокие показатели вычислительной способности и DSP-инструкции для особо требовательных в этом плане приложений, таких как медицинское оборудование, управление двигателями и охранное оборудование. Обеспечивая аппаратную (полное совпадение выводов) и программную совместимость с серией STM32 F2, и в то же время, имея больший объем SRAM, повышенную производительность и лучшую помехоустойчивость периферии, серия F4 позволит разработчикам улучшить конечный продукт, если им необходимо больше объема памяти, производительности или особенностей периферии. Также, если разработчик использует в своем продукте два чипа – MCU и DSP, то теперь он может объединить возможности этих двух чипов в одном высокопроизводительном сигнальном контроллере.

Исполнительный вице-президент и генеральный менеджер Microcontrollers, Memories and Secure MCUs Group Клауд Дардан утверждает: «Серия STM32 F4 привлекательна по многим причинам, поскольку на сегодняшний день это наиболее высокопроизводительный микроконтроллер на базе Cortex M. С более чем 250 совместимыми устройствами, запущенными в производство, лучшей системой поддержки среды разработки и отличными показателями энергопотребления серия F4 – это вишня на вершине пирога семейства STM32, которая теперь включает в себя четыре серии продуктов: STM32 F1, STM32 F2, STM32 L1, которые основаны на ядре Cortex™-M3, и, наконец, четвертая серия на основе Cortex-M4».
«Решение STMicroelectronics включить процессор ARM Cortex-M4 в портфолио своих MCU – это доказательство низкого энергопотребления, улучшенного дизайна и возможностей высокопроизводительного DSP для процессора» – говорит Ланс Говард, исполнительный вице-президент ARM – «STMicroelectronics теперь имеет наиболее широкое портфолио своей продукции на базе ядра ARM Cortex-M. Серия Cortex-M представляет наиболее быстро развивающуюся MCU-архитектуру и микроконтроллеры серии STM32 F4 несомненно ускорят развитие и распространение ARM-архитектуры».

Наряду с уже упомянутой аппаратной и программной совместимостью с серией F2, серия F4 имеет повышенную производительность (168 МГц / 210 DMIPS вместо 120 МГц / 150 DMIPS), DSP-инструкции, выполняемые за один такт, математический сопроцессор, увеличенную SRAM (192 Кб вместо 128 Кб), встроенную Flash-память от 512 Кб до 1 Мб и усовершенствованную периферию для задач отображения, реализации интерфейсов и криптографии. 90 нанометровая КМОП-технология и встроенный фирменный «ускоритель памяти» ART Accelerator позволяют получить современные показатели производительности с беспрерывным исполнением программы на частоте до 168 МГц и лучший в своем классе уровень энергопотребления.

Особенности серии STM32 F4:

  • сверхбыстрая передача данных, с семиуровневой матрицей двойной высокоскоростной шины (AHB) и мульти-DMA контроллером, которые позволяют производить параллельно обработку и передачу данных;
  • встроенный FPU одинарной точности повышает качество выполнения алгоритмов управления, добавляет больше возможностей приложениям, улучшает эффективность кода, устраняет разброс, позволяет использовать инструменты мета языка;
  • высокая интеграция, до 1 Мб Flash-памяти, 192 Кб SRAM, схема перезагрузки (сброса), внутренние RC и PLL, часы реального времени с потреблением до 1 мкА;
  • экстра гибкость в снижении энергопотребления в приложениях, требующих как высоких производительных мощностей так и пониженного энергопотребления при работе на малых величинах напряжения или от аккумуляторов. Для этого предусмотрены 4 Кб резервной SRAM, чтобы сохранить данные при разрядке батарей, потребление часов реального времени, не превышающее 1мкА и внутренний регулятор напряжения со способностью определения уровня напряжения, позволяющий выбирать высокопроизводительный режим работы или режим пониженного энергопотребления;
  • широкий выбор средств разработки и программного обеспечения, включающий разнообразные IDE, инструментарий мета языков, библиотеки DSP и прочих полезных функций, недорогие стартовые наборы;
  • богатая, инновационная периферия:
    • интерфейсы: интерфейс камеры, процессор Crypto/Hash HW, Ethernet MAC10/100 с поддержкой IEEE 1588 v2, два USB OTG
    • аудио: специализированный аудио PLL и два полнодуплексных I2C
    • до 15 коммуникационных интерфейсов, включая 6 UART, работающих на скорости до 10 Мбит/с, три SPI, работающих на скорости до 42 Мбит/с, три I2C, два CAN, SDIO
    • обработка аналоговых сигналов: два 12-битных ЦАП, три 12-битных АЦП достигающих 2.4 MSPS или 7.2 MSPS при поочередной их работе
    • до 17-ти таймеров: 16- и 32-битных, работающих на частоте до 168 МГц

Продукция серии STM32 F4 доступна в четырех вариантах:

STM32F405x: в дополнение к богатой периферии, включающей таймеры, три АЦП, два ЦАП, последовательные интерфейсы, интерфейс внешней памяти, часы реального времени, модуль для подсчета CRC, аналоговый генератор случайных чисел, микроконтроллеры STM32F405 имеют USB-OTG интерфейс, а также 1 Мбайт Flash-памяти. Они доступны в четырех типах корпусов – WLCSP64, LQFP64, LQFP100, LQFP144.

STM32F407: расширена периферия, в дополнение к периферии STM32F405 добавлен второй USB-OTG интерфейс, интегрированный Ethernet MAC 10/100 с поддержкой MII и RMII, от 8 до 14-ти разрядный интерфейс камеры, позволяющий произвести соединение с КМОП-камерами при работе на скорости до 67.2 Мбайт/с. Микроконтроллеры STM32F407 доступны в четырех типах корпусов – LQFP100, LQFP144, LQFP/BGA176, и Flash-памятью от 512 Кбайт до 1 Мбайта.

STM32F415 и STM32F417: представляют собой те же STM32F405 и STM32F407, отличающиеся лишь наличием крипто/хэш процессором с поддержкой шифрования по алгоритму Triple DES и AES с ключом длиной 128, 192 и 256 бит, а также вычисление хэш-функций MD5 и SHA-1.

Все вышеперечисленные модели находятся уже в стадии производства, и стоимость будет составлять от $5.74 за STM32F407VET6 с 512 Кб Flash и 192 Кб ОЗУ в корпусе LQFP100 при заказе более 1000 штук.

Перевод: Mikhail R по заказу РадиоЛоцман

Компания stmicroelectronics представила новую гибкую платформу на базе микроконтроллеров stm32

Отладочная платформа совместно с программным пакетом разработки Java-приложений для микроконтроллеров семейства STM32 открывает новые возможности при разработке графических пользовательских интерфейсов для бытовых электронных устройств и промышленных систем

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

Такие устройства как смартфоны и медиаплееры сегодня становятся все привлекательнее, динамичнее и намного более простыми в использовании, чем электронные устройства на кухне или на офисном рабочем столе. Одной из причин этого является использование языка и среды объектно-ориентированного программирования, такой как Java. Индустрия мобильных телефонов использует Java, а микроконтроллерные системы в основном используют традиционные структурированные языки программирования, например Си. В частности, Java значительно упрощает создание графических пользовательских интерфейсов, по своей природе являющихся объектно-ориентированными, использующих такие функции как иерархия и виджеты.

Компания STMicroelectronics в сотрудничестве со своим партнером – компанией IS2T, специализирующейся в области Java-приложений для встраиваемых систем, создала готовую к использованию отладочную Java-платформу для микроконтроллеров семейства STM32 – STM3220G-JAVA Starter Kit. Этот набор объединяет в себе оценочную версию среды разработки программного приложения MicroEJ Software Development Kit и оценочную плату на микроконтроллере серии STM32F2, имеющую все необходимое для разработки встраиваемых систем.

MicroEJ Software Development Kit можно рассматривать как первый профессиональный набор инструментов, который позволит разработчикам встраиваемых систем использовать Java объектно-ориентированное программирование. Среда обеспечивает расширенные возможности для создания, моделирования, тестирования и развертывания Java-приложений во встраиваемых системах. Поддержка разработки графического пользовательского интерфейса включает в себя библиотеку виджетов, средства проектирования, включая раскадровку, и средства для настройки шрифтов.

Компания GeeseWare также вносит свой вклад в экосистему разработки приложений на Java для микроконтроллеров STM32, предоставляя комплексные завершенные аппаратные и программные решения, объединяющие в себе MicroEJ Software Development Kit и отладочные платы на микроконтроллерах серии STM32F2 и STM32F4.

Входящая в состав стартового набора плата (оценочная плата STM3220G-EVAL) выполнена на базе микроконтроллера STM32F207IGH6 и имеет богатую периферию, включая ЖК дисплей с сенсорным экраном, MEMS-акселерометр, Ethernet-контроллер с интегрированным TCP/IP стеком, пользовательские кнопки, светодиоды, коммуникационные интерфейсы и отладочный адаптер ST-LINK/V2.

STM32 – идеальный микроконтроллер для встраиваемых Java-приложений

Выполненные по технологии ARM Cortex-M, микроконтроллеры STM32 поддерживают организацию человеко-машинного интерфейса с богатыми возможностями в компактных и недорогих устройствах и системах с жестким требованиями к питанию, что делает их идеальной платформой для Java-приложений. Представленный стартовый набор предназначен для разработки Java-приложений на базе микроконтроллеров STM32F2 с ядром Cortex-M3 и STM32F4 с ядром Cortex-M4. Современная архитектура Cortex обеспечивает сочетание высокой производительности, низкого энергопотребления и рентабельности, которой не могут достигнуть 8-/16-/32-разрядные микроконтроллеры других производителей.

Стартовый набор доступен для заказа по цене $349 на сайте компании или у дистрибьюторов.

Перевод: Vadim по заказу РадиоЛоцман

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 1. Введение. Общие сведения, скорее впечатления, об STM32.

Вводная статья курса уроков по программированию микроконтроллеров STM32.

Этой статьей начинаю цикл уроков, посвященных программированию микроконтроллеров STM32.

Тема очень интересная, по популярности может превзойти ”Уроки Ардуино”. В принципе, это в какой-то степени продолжение или расширение ”Уроков Ардуино”. По крайней мере, я собираюсь постоянно ссылаться на статьи из этой рубрики, проводить аналогию между ними и уроками STM32.

Я не призываю бросать программировать на Ардуино и переходить только на STM32. Но есть задачи, которые на Ардуино выполнить невозможно или намного сложнее. Да и разве плохо уметь создавать системы, устройства на обоих типах микроконтроллеров.

Язык программирования в принципе один и тот же. Тем более одинаковы аппаратные компоненты, подключаемые к контроллеру: кнопки, светодиоды, дисплеи, модули проводных и беспроводных технологий связи и т.п.

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

Читайте также:  Резисторы, ток и напряжение

Контроллеры STM32 значительно превосходят по техническим характеристикам платы Ардуино на 8 разрядных микроконтроллерах ATmega328, ATmega2560 и т.п. У них более высокая производительность, больше объем памяти, периферийные устройства разнообразнее по функциям, номенклатуре, количеству. STM32 позволяют реализовывать значительно более сложные задачи, чем платы Ардуино.

Несмотря на вышесказанное я считаю, что программировать STM32 не сложнее, чем Ардуино. По крайней мере, я собираюсь так преподнести материал. Хотя объем информации будет больше.

Уроки рассчитаны как на опытных программистов, изучающих STM32, так и на людей, делающих первые шаги в программировании. Т.е. я собираюсь приводить строгую информацию и сопровождать ее подробными пояснениями. Для второй категории читателей я буду давать ссылки на аналогичные темы в ”Уроках Ардуино”. Не хочется одно и то же ”разжевывать” несколько раз.

Буду преподносить оптимальный с моей точки зрения подход к программированию STM32. Кто-то может с ним не согласиться.

Итак. Я ставлю цель:

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

Общие сведения о микроконтроллерах семейства STM32.

Возможности контроллеров STM32 потрясают! По крайней мере, меня.

Плата с микроконтроллером STM32F103C8T6 по стоимости сопоставима с ценой плат Ардуино на базе ATmega328 и значительно дешевле плат типа Arduino Mega2560.

По моей партнерской ссылке она стоит всего 175 руб.

Но по техническим характеристикам! Что стоит только сравнение разрядности обрабатываемых данных. 32 против 8!

У меня ощущение, что я сравниваю Ардуино не с маленькой дешевой платой, а с дорогим монстрообразным 32 разрядным контроллером. Судите сами.

ПараметрыSTM32F103C8T6Arduino Nano
Разрядность32 бит8 бит
Частота72 мГц16 мГц
Объем FLASH64 кБайт32 кБайт
Объем ОЗУ20 кБайт2 кБайт
Число выводов3722
Аппаратное умножение и делениеЕсть, 32 разрядаТолько умножение, 8 разрядов
АЦП2 АЦП, 12 разрядов, 10 входов, 1 мкс время преобразования10 разрядов, 8 входов, 100 мкс время преобразования
Контроллеры прямого доступа к памяти7 каналовнет
Таймеры73
UART3 (выше скорость, больше режимов)1
I2C21
SPI21
USB1нет
CAN1нет
Часы реального времениестьнет
Модуль аппаратного расчета CRC кодаестьнет

К этому можно бесконечно добавлять с приставкой ”гораздо более мощные, совершенные, функциональные”: система прерываний, порты ввода-вывода, коммуникационные интерфейсы и т.п.

И это еще далеко не самый мощный вариант STM32. У меня есть плата STM32F407VET6 с частотой 210 мГц и АЦП со скоростью преобразования до 7,2 миллионов выборок в секунду. Собираюсь на ней сделать динамическую подсветку телевизора, т.е. обрабатывать видеосигнал.

Техническая документация.

Я не буду пересказывать общую информацию о микроконтроллерах STM32. Советую вам просмотреть книжку “Мартин М. Инсайдерское руководство по STM32”, чтобы иметь общее представление о STM32. Я не стал давать ссылку. Не знаю, как обстоят дела с авторским правом на этот документ. Но найдете без труда. Подробно компоненты и узлы STM32 будем изучать в уроках.

Из строгой официальной документации надо иметь:

Все документы на английском языке, с официального сайта STMicroelectronics, но все что будем использовать, я распишу на русском.

В следующем уроке рассмотрим нашу базовую плату STM32, добавим к ней узлы для загрузки программ из компьютера во FLASH-память микроконтроллера.

VREFINT_CAL и иже с ним

Решил я воспользоваться встроенной опорой в STM32 и вроде бы ничего не предвещало борьбы с необъяснимой фигней…

  • STM32,
  • ADC,
  • VRREFINT,
  • VREFINT_CAL
  • 08 октября 2019, 10:14
  • GYUR22
  • 7
  • 1

Работаем с микроконтроллерами STM32F7. Тренинг по STM32F7 от компании STMicroelectronics. Впервые на русском языке

Данная серия публикаций основана на материалах цикла STM32F7 Online Training от компании STMicroelectronics. В статьях представлено описание функциональных блоков и инструментов разработки для семейства микроконтроллеров STM32F7.

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

  • stm32,
  • compel
  • 06 июня 2019, 14:24
  • DIHALT
  • 2

USB H > STM32

Очередная багофича HAL

Наткнулся на новый косяк библиотеки HAL в функции HAL_I2S_Transmit. Есть у нее параметр uint16_t Size, который удваивается в случае работы с данными 24 или 32 бита

Проблема в том, что переменные TxXferSize и TxXferCount имеют тип uint16_t. И если на вход HAL_I2S_Transmit передать размер 0x8000 и более, то после сдвига влево результат превращается в тыкву.

  • stm32,
  • HAL,
  • I2S
  • 01 марта 2019, 20:34
  • aliaksei
  • 3

Микроконтроллеры STM32F7/STM32H7 семейства Value Line

Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32, интересуется как работать с кодом во внешней памяти на базе контроллеров с Cortex-M7. Мы покажем как настроить среду разработки, как использовать GCC в составе Atollic TrueStudio, как настроить процессор на максимальную производительность и расскажем о тонкостях работы с модулем защиты памяти.

Содержание
-Использование компилятора GCC в составе AtollicTrueStudio;
-Проверка эффективности компилятора и самого микроконтроллера STM32F7/STM32H7 Value line при различных стратегиях размещения кода:
-Внутренняя память FLASH;
-Внешняя QSPI flash;
-Внешняя SDRAM.

  • STM32,
  • compel
  • +1
  • 10 декабря 2018, 15:57
  • DIHALT
  • 24

STM32: Драйвер АЦП: Микросхема ADS1256 [Texas Instruments] это Малошумящий 24-битный АЦП с SPI интерфейсом.

  • ADS1256,
  • АЦП,
  • ADC,
  • Драйвер,
  • STM32,
  • HAL
  • +2
  • 02 декабря 2018, 02:07
  • Celeron
  • github.com/Celeron/gcc-STM32_A.
  • Оставить комментарий

Захват изображения с USB камеры при помощи STM32


Для собственного самообразования решил подключить USB камеру (вебкамеру) к STM32. У меня уже была отладочная плата на базе STM324F429, способная выводить изображение на VGA монитор, так что для проверки работы камеры я использовал именно ее.

  • STM32,
  • USB,
  • Camera,
  • Host
  • +9
  • 29 сентября 2018, 22:18
  • citizen
  • 5

Еще одна обертка над GPIO

Расшевелю блог такой многократно жеваной темой как настройка GPIO на примере STM32. Посмотрел разные варианты макросов и не впечатлился, написал свое. Не буду расходовать зря слова, когда проще показать код и результаты компиляции.

  • GPIO,
  • STM32
  • +2
  • 04 апреля 2018, 20:52
  • amaora
  • 31

Захват видеосигнала от ZX Spectrum при помощи STM32F4.

Есть у меня ZX Spectrum. Захотелось мне получить с него именно цветное изображение. Телевизора с подходящим SCART разъемом у меня нет, а покупать какие-либо переходники — не наш путь:) Так что я решил собрать на базе STM32F429 собственной конвертер, способный формировать VGA видеосигнал. Делалось это в первую очередь для самообразования.

  • STM32,
  • stm32f429,
  • ltdc,
  • zx spectrum
  • +1
  • 18 марта 2018, 18:06
  • citizen
  • 14

ST прикупает Atollic и.


Новость надеюсь приятная — теперь Atollic TRUE Studio V9.0 для STM32 PRO версия бесплатна!

Микроконтроллеры STM32

    Лилия Адамович 3 лет назад Просмотров:

1 Микроконтроллеры STM32

2 STM32: Портфолио 10 семейств / более 32 линеек >700 устройств Высокая производительность 2010 CoreMark 400 MHz 856 DMIPS A large choice of package style 398 CoreMark 120 MHz 150 DMIPS 608 CoreMark 180 MHz 225 DMIPS CoreMark 216 MHz 462 DMIPS Общее применение 106 CoreMark 48 MHz 38 DMIPS 177 CoreMark 72 MHz 61 DMIPS 245 CoreMark* 72 MHz 90 DMIPS (*) from CCM-SRAM Ультранизкое потребление 75 CoreMark 32 MHz 26 DMIPS 93 CoreMark 32 MHz 33 DMIPS 273 CoreMark 80 MHz 100 DMIPS Cortex-M0 Cortex-M0+ Cortex-M3 Cortex-M4 Cortex-M7

3 STM32: Надежная платформа STM32 производится с 2007 года Снижающийся тренд ppm от 2011 до сегодня Ниже 1ppm на >640 M устройств

5 Открытая платформа разработки Ядро Софт Расширения STM32: Nucleo Отладочные платформы STM32 Nucleo Программная библиотека STM32 Cube Модули расширения STM32 Nucleo (Nucleo shields) Программные стеки STM32 Cube Поддержка всех сред разработки

6 Варианты плат расширения BLE Динамическая метка NFC Датчики движения и параметров окр. среды Датчик освещенности и приближения Аудио Микрофоны WiFi b/g/n Sub-1GHz Драйвер двигателя LED-драйвер Безопасность

7 Линейка STM32L4: Превосходство в производительности и низком потреблении

8 Ключевые черты STM32 L4 1 Лидер в потреблении и производительности Новая архитектура от ST Лучшие в классе показатели по потреблению. Самый производительный среди низкопотребляющих. 100 DMIPS, благодаря ARM Cortex-M4 с FPU с частотой 80 МГц и ST ART Accelerator. 2 Инновации Для удовлетворения различным требованиям рынка в архитектуре реализовано несколько инноваций, а также добавлена умная периферия. 3 Интеграция и безопасность 1 Мбайт Flash и 128 КБайт SRAM с функциями безопасности и защиты, многочисленная умная периферия, продвинутуе аналоговые узлы с низким потреблением в корпусах размерами от 3.8 x 4.4 мм. 4 Большие инвестиции Пин-в-пин совместимость со всем семейством STM32 и со всей экосистемой.

9 Режимы энергосбережения Лучшие цифры потребления и универсальная гибкость Пробуждение VBAT 4 на / 300 на* Tamper: 3 I/Os, RTC 250 мкс 14 мкс 14 мкс 5 мкс SHUTDOWN 30 на / 330 на* STANDBY 130 на / 430 на* STANDBY + 32 KB RAM 360 на / 660 на* STOP 2 (full retention) 1.1 мка / 1.4 мка* Пробуждение : reset, 5 I/Os, RTC Пробуждение: + BOR, IWDG Пробуждение : + all I/Os, PVD, LCD, COMPs, I²C, LPUART, LPTIM 4 мкс STOP 1 (full retention) 7.3 мка / 7.6 мка* 6 тактов SLEEP 35 мка / МГц RUN 24 МГц 100 мка / МГц Пробуждение : + all I²C, UART Пробуждение : любое прерывание или event RUN 80 МГц 112 мка / МГц * без RTC / с RTC 1 Лидер в потреблении и производительности

10 Эффективное выполнение и быстрое включение Готов к быстрому старту? От 0 до 48 МГц быстрее чем за 5 микросекунд Старт с внутренним генератором (MSI) (настраивается от 100 кгц до 48 МГц) Пробуждение PLL 11 Больше производительности Без компромисса в производительности с STM32L4 Очки CoreMark Производительность из Flash 273 ST ART Accelerator TM – Линейная производительность Конкуренты: влияние wait states ЧастотаCPU 80 MHz До 80 МГц/ 100 DMIPS с ускорителем ART Accelerator До 273 очков CoreMark ARM Cortex-M4 с DSP командами и плавающей точкой (FPU) Оптимизированный DMA (14 каналов) SPI до 40 Mбит/с, USART 10 Mбит/с 1 Лидер в потреблении и производительности

Читайте также:  Цифровое переговорное устройство для дома

12 Умная цифровая периферия Работает в режиме Stop Low-power UART «будит» систему по обнаружению байта или бита старта (без потери первого бита) I²C «будит» систему по обнаружению адреса Low-power timer может формировать сигналы, считать время или события Quad SPI для дополнительных данных или кода Digital Filter for Sigma Delta Modulator Подключение к внешнему сигма-дельта модулятору (например: STPMS2) До 4 фильтров, 8 мультиплексированных каналов Поддержка цифровых MEMs микрофонов (аппаратные преобразование PDM в PCM и фильтрация) Тактирование периферии, независимое от главного генератора Протокол Single Wire Protocol для смарткарт 2 Инновации

13 Умная аналоговая периферия 3 x 12/16-разрядных ADCs (выборка до 5 Msps) Потребление 20 мка (10 Ksps) с адаптивным потреблением Аппаратная передискретизация Несимметричные и дифференциальные входы 2x OpAmp со встроенным PGA 2 x 12-разрядных DAC (1 Msps) Low-power Sample and Hold modes available in Stop mode 2x Компаратора Режимы энергосбережения, работают даже в режиме Stop Встроенный источник опорного напряжения Программируемый или 2.5 V Может использоваться для внешних компонентов 2 Инновации

14 Digital Filter for Sigma Delta Modulators 8 x параллельных входов С разрешением до 24-бит Умная периферия Δ Измеритель V BAT с RTC для резервного питания от батареи 240 на в режиме V BAT с RTC и 32x 32-разрядными backup-регистрами STM32L4 LCD Дисплей 8 40 или 4 44 С повышающим преобразователем TRNG & AES для безопасности 128-/256-bit AES аппаратный ускоритель шифрования Умный счетчик Электричества/ Газа /Воды Защита от вскрытия 3 x tamper вывода в батарейном домене SPI / UART/ SDIO для радио 3x SPI (4x SPI с Quad SPI) 6x USART (ISO 7816, LIN, IrDA, modem) 1 x SDIO FSMC Интерфейс для внешней статической памяти SRAM, PSRAM, NOR and NAND I/Os До 114 быстрых I/O для кнопок и реле 2 Инновации

15 Умная периферия Промышленные датчики Управление двигателем: 2x 16-разрядных продвинутых таймера 3x 12-bit ADCs: 5 MSPS, С аппаратным оверсемплингом до 16 бит oversampling, 200 μa/msps LCD Дисплей 8 40 или 4 44 С повышающим преобразователем CAN Шина (2.0B Active) TRNG & AES для безопасности 128-/256-bit AES аппаратный ускоритель шифрования STM32L4 Температурный диапазон от -40 C до C SPI / UART 3x SPI (4x SPI с Quad SPI) 6x USART (ISO 7816, LIN, IrDA, modem) FSMC Интерфейс для внешней статической памяти SRAM, PSRAM, NOR and NAND I/Os До 114 GPIOs I²C 3x I²C FM+(1 Mбит/с), SMBus/PMBus 2 Инновации

16 Умная периферия Фитнесс-браслет Digital Filter for Sigma Delta Modulators с модуляцией PDM поддержка микрофона Датчики I²C 3x I²C FM+(1 Mбит/с), SMBus/PMBus STM32L4 TFT Дисплей FSMC Параллельный интерфейс с TFT SPI Скорость до 40 МГц Batch Acquisition Mode (BAM) SPI / UART 3x SPI (4x SPI с Quad SPI) 6x USART (ISO 7816, LIN, IrDA, modem) SWP Single wire protocol master interface (SWPMI) OPAMP 2x усилителя встроенный PGA DAC 2x 12-бит, низкопотребляющая схема sample and hold ADC 3 12-bit ADC 5 MSPS, аппаратный оверсэмплинг до16-бит 200 μa/msps USB USB OTG 2.0 full-speed, LPM and BCD SAI 2x последовательных аудио интерфейса 2 Инновации

17 Высокая интеграция Много памяти в маленьком корпусе Параллельный интерфейс FSMC 8-/16-bit (TFT-LCD, SRAM, NOR, NAND) Дисплей Cortex-M4 80 MHz FPU MPU ETM Интерфейсы USB OTG, 1x SD/SDIO/MMC, 3 x SPI, 3 x I²C, 1x CAN, 1 x Quad SPI, 5 x USART + 1 x ULP UART, 1 x SWP 4.4 x 3.8 мм LCD driver 8 x 40 DMA Цифровая периферия Таймеры 17 timers including: 2 x 16-bit advanced motor control timers 2 x ULP timers 7 x 16-bit-timers 2 x 32-bit timers I/O ART Accelerator Up to 1-Mbyte Flash with ECC Dual Bank 128-Kbyte RAM AES (256-bit), TRNG, 2 x SAI, DFSDM (8 channels) Аналоговая периферия 3 x 16-bit ADC, 2 x DAC, 2 x comparators, 2 x op amps 1 x temperature sensor Up to 114 I/Os Touch-sensing controller 3 Интеграция и безопасность

18 STM32: Низкое потребление STM32L4: главный в низкопотребляющей линейке Бюджетный ULP Чемпион Широкая линейка Базовый вариант Производительность + ULP 32 MHz Питание: 1.65 to 3.6V 8/16-битные приложения 3 линейки, оптимальный по цене, Меньше корпуса USB, LCD, Analog K Flash Up to 20 K SRAM 32 MHz Питание: 1.65 to 3.6V Различные варианты по объему памяти 3 линейки, USB, LCD, AES, Rich Analog EEPROM, Два банка Flash (RWW) K Flash Up to 80 K SRAM Cortex-M4 w/ 80 MHz Питание: 1.71 to 3.6V Продвинутая периферия Производительность 3 линейки, ADC 5 Msps, PGA, Compar., DAC, op amp, USB OTG, LCD, AES 256 K 1 M Flash Up to 128 K SRAM 4 Большие инвестиции

19 Производительность STM32: Низкое потребление STM32L4: главный в низкопотребляющей линейке Больше производительности 100 DMIPS 273 CoreMark Больше памяти и выводов Размер Flash (байт) Больше корпусов WLCSP 1 M 33 DMIPS 26 DMIPS 93 CoreMark 75 CoreMark 512 K 384 K 256 K 192 K 128 QFN BGA 64 K 32 K 16 K MHz 8 K Выводы LQFP 4 Большие инвестиции

20 Cortex -M4 (DSP + FPU) 80 MHz STM32L4: Линейки Линейка Flash (KB) RAM (KB) Memory I/F Op Amps Comp 12-bit ADC 5 MSPS 16-b HW Oversampling USB2.0 FS Без кварца USB2.0 OTG FS Драйвер LCD AES 128/256-bit ART Accelerator USART, SPI, I²C Quad SPI Таймеры16 и 32-бит SAI + audio PLL SWP 1x CAN STM32L4x1 Access до 1024 до 128 STM32L4x2 USB FS до 256 до 64 SDIO FSMC 2x 12-bit DAC Датчик температуры Питание V V BAT Mode Уникальный ID Capacitive Touch STM32L4x3 USB FS + LCD STM32L4x5 USB OTG до 256 до 64 до 1024 до 128 SDIO FSMC до 8×40 STM32L4x6 USB OTG + LCD до 1024 до 128 SDIO FSMC до 8×40 4 Большие инвестиции

21 STM32L4: Экосистема Аппаратные средства Программные инструменты STM32 Nucleo Discovery kit Evaluation board 5 Быстрое и удобное прототипирование Прототипирование ключевых особенностей Полная оценка всех возможностей STM32CubeMX featuring code generation and power consumption calculation 4 Большие инвестиции

22 STM32L4: Экосистема Код пользователя STM32CubeL4 Middleware STM32CubeL4 STM32CubeF0 STM32CubeL1 STM32CubeF2 STM32CubeF4 STM32CubeF1 STM32CubeF3 Low level drivers Hardware Abstraction Layer CMSI CMSIS S Встраиваемый софт Библиотека USB Host и Device от ST Графическая библиотека STemWin от ST и Segger Файловая система FAT Open-source (FatFs) Операционная система реального времени FreeRTOS Различные примеры приложений Портируемые Hardware Abstraction Layer (HAL) API-функции Производительные и компактные Low Layer (LL) API-функции Для всей периферии STM32 Проверены, оттестированы и готовы к использованию Множество примеров использования Открытая лицензия BSD 4 Большие инвестиции

23 4 ключевых качества STM32L4 1 2 Лидер в потреблении и производительности Иновации 3 Интеграция и безопасность 4 Большие инвестиции

24 Экосистема разработки ПО

25 STM32: Удобный софт для подбора ST MCU Finder Подбор STM8 и STM32 A large choice of package style Для платформ Android, ios и Windows Phone 3 варианта поиска – По параметрам – По частям партнамбера – По конкретной модели Включает документацию и ссылки Мгновенный доступ к ключевой информации и блок-схемам Список Любимых MCU Отправка вариантов на почту

26 STM32: Удобный софт для подбора STM32 CubeMX Подбор STM32 A large choice of package style 2 варианта поиска – По контроллеру – По отладочной плате

27 STM32: Быстрый старт на STM32L0 Что нам необходимо? A large STLink choice v2.1 of package style Плата NUCLEO-L053R8 STM32CubeMX скелет проекта SW4STM32 доработка программы Кнопка PC13 LD2 на PA5 Сброс STLinkv2.1 прошивка МК Джампер PA4-PA1

28 STM32: Быстрый старт на STM32L0 Блок-схема проекта HISI 32MHz 5Hz (200ms) TIM2 Буферы во Flash и SRAM dacbuf 32 DMA1 Channel 2 DAC CH1 Tim2 trigger (TRGO, Update) PA4 Перемычка adcbuf 32 DMA2 Channel 1 ADC1 CH1 Tim2 trigger (Output Compare event on channel4) PA1 STM32L053R8T6 TIM2

29 STM32: Быстрый старт на STM32L0 Работа таймера TIM2 PERIOD TIM2_OC_CH4

30 STM32: Быстрый старт на STM32L0 Вопрос Как вы думаете, A large choice of package style сколько времени нужно для реализации такой программы?

31 STM32: Быстрый старт на STM32L0 Демонстрация Видео «Быстрый старт на STM32L0» (ссылка кликабельна) A large choice of package style

32 STMStudio: Вывод данных Вывод переменных из приложения Сбор данных не влияет на работу основной программы. Интерфейс пользователя: настройка, запуск/стоп сбора данных Управление переменными, выражения и функции Вывод выбранных переменных. Графики, столбцы, таблицы. Настройки отображения

33 STMStudio: Вывод данных Демонстрация Видео «Вывод данных в STMStudio» (ссылка кликабельна)

34 STM32: Миграция проекта Перенос программы с STM32L0 на STM32L4 A large choice of package style HSI 32MHz 5Hz? 32MHz 5Hz TIM2 TIM2 Buffers in FLASH, SRAM dacbuf 32 DMA1 Channel 2 DAC CH1 Tim2 trigger (TRGO, Update) PA4 Buffers in FLASH, SRAM dacbuf 32 DMA? Channel? DAC? CH? Tim2 trigger (?) PA4 adcbuf 32 DMA2 Channel 1 ADC1 CH1 PA1 adcbuf 32 DMA? Channel? ADC? CH? PA1 Tim2 trigger (OC4) Tim2 trigger (?) TIM2 TIM2 STM32L053R8T6 STM32L476RGT6

35 STM32: Быстрый старт на STM32L0 Вопрос Как вы думаете, A large choice of package style сколько времени нужно для переноса проекта с одной архитектуры на другую?

36 STM32: Портирование на STM32L4 Демонстрация A large choice of package style Видео «Портирование на STM32L4» (ссылка кликабельна)

37 STM32: вывод данных SWO Аппаратный модуль Instrumentation Trace Macrocell (ITM) Доступен во всех STM32 (кроме STM32F0 и L0) A large choice of package style Может использоваться для вывода данных из МК по одному проводу SWO (Single Wire Output) Можно адаптировать функцию printf() для использования этой периферии Информация может отображаться в IDE в режиме отладки Механизм схожий с USART, но не требует доп. линий и терминала На платах Nucleo-64 вывод SWO (PB3) подключен к STLink

38 STM32: вывод данных SWO Использование стандартной функции printf Необходимо изменить функцию _io_putchar на использование функции ITM_SendChar() для передачи данных через SWO A large choice of package style

39 STM32: вывод данных SWO Демонстрация Видео «Вывод данных SWO» (ссылка кликабельна)

40 Акция! STM32L0 STM32L4 Программатор ST-LINK

Рейтинг
( Пока оценок нет )
Загрузка ...
Adblock
detector