Компания 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 лидерство в этой области.

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

Читайте также  Клоп на 1.5 в

Исполнительный вице-президент и генеральный менеджер 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 по заказу РадиоЛоцман

STM32MP1 — новый многоядерный микропроцессор от STMicroelectronics, поддерживающий работу с Linux

Автор статьи

Святослав Зубарев (г. Смоленск), Павел Башмаков active@ptelectronics.ru

Полезные ссылки

Компания STMicroelectronics выпустила линейку новых многоядерных микропроцессоров STM32MP1,

построенных на базе процессоров ARM Cortex-A7 и ARM Cortex-M4, имеющих поддержку Linux и способных выполнять самые разные задачи в режиме реального времени.

Опубликовано в журнале «Вестник Электроники» №1 (65) 2019

Описание устройства

STM32MP1 базируются на одном или двух ядрах ARM Cortex-A7 (в зависимости от конфигурации), работающих с номинальной частотой 650 МГц, а также Cortex-M4, действующем на частоте 209 МГц. Cortex-A7 предоставляет доступ к открытым программным обеспечениям (Linux/Android), в то время как Cortex-M4 использует среду STM32 MCU.

Процессор Cortex-A7 обеспечивает на 20% больше производительности, чем предшественник Cortex-A5, и включает все функции высокопроизводительных процессоров Cortex-A15 и Cortex-A17, в том числе аппаратную поддержку виртуализации, LPAE, Neon и 128-битный интерфейс шины AMBA 4 AXI. Cortex-A7 имеет площадь 0,45 мм 2 (с блоком для выполнения операций с плавающей точкой, Neon и кэш-памятью L1 объемом 32 кбайт) и требует менее 100 мВт общей мощности в стандартных условиях эксплуатации. Все это в совокупности делает процессор Cortex-A7, а значит, и построенные на его базе микроконтроллеры прекрасным решением для применения в целом ряде мобильных устройств.

Процессор Cortex-M4, в свою очередь, создан для работы на рынках управления цифровыми сигналами, которые требуют эффективного, простого в использовании сочетания возможностей управления и обработки сигналов. Комбинация высокоэффективных функций обработки сигналов с преимуществами семейства процессоров Cortex-M с малым энергопотреблением, низкой стоимостью и простотой использования предназначена для удовлетворения возникающей категории гибких решений. Cortex-M4 имеет встроенный блок для выполнения операций с плавающей точкой (FPU) ординарной точности, а также реализует набор инструкций для операций цифровой обработки сигналов (DSP), которые поддерживаются бесплатной библиотекой DSP-lib от ARM. Также, ядро Cortex-M4F содержит адаптивный ускоритель реального времени (ART Accelerator). Структура процессоров Cortex-A7 и Cortex-M4 показана на рис. 1.

Рис. 1. Структура Cortex-M4 и Cortex-A7

Помимо того что линейка STM32MP1 способна работать под Linux, данные микроконтроллеры имеют ряд других особенностей. Например, у одного из представителей данного семейства (STM32MP157) есть дополнительный GPU графический процессор Vivante 3D с поддержкой OpenGL ES 2.0; до 26 MTriangles/s.

Все представители данной линейки имеют на борту контроллер MIPI-DSI, поддержку HDMI-CEC, USB 2.0 и 10/100M или Gigabit Ethernet с аппаратным IEEE 1588v2, MII/RMII/GMII/RGMII.

Внутренняя память микроконтроллеров — это 708 кбит SRAM: 256 кбит AXI SYSRAM + 384 кбит AHB SRAM + 64 кбит AHB SRAM, а также 4 кбит SRAM в резервном домене. Предусмотрена и возможность подключения внешней памяти до 1 Гбит 16/32-бит LPDDR2/LPDDR3-1066 или 16/32-бит DDR3/DDR3L-1066. Структурная схема STM32MP1 изображена на рис. 2.

Рис. 2. Блок-схема микроконтроллера STM32MP1

STM32MP1 имеют на борту LCD-TFT-контроллер и, соответственно, поддерживают работу с дисплеем 24-бит (RGB888) и WXGA (1366×768) 60 fps.

Прочая периферия данной линейки включает до 176 портов ввода/вывода (в зависимости от конфигурации) с возможностью прерывания, в том числе до восьми безопасных вводов/выводов, до шести вводов/выводов пробуждения, три тампера, один активный тампер, три DMA-контроллера для разгрузки процессора, шесть I 2 C FM+ (1 Мбит/с, SMBus/PMBus), четыре UART + четыре USART (12,5 Мбит/с, интерфейс ISO7816, LIN, IrDA, SPI slave), шесть SPI (50 Мбит/с, в том числе три из них с полнодуплексными I 2 S аудиокласса точности через внутренний аудио PLL или внешний генератор), четыре SAI (стерео-аудио: I 2 S, PDM, SPDIF Tx), SPDIF Rx с четырьмя входами, интерфейс HDMI-CEC, MDIO Slave, три SDMMC до 8-бит (SD/e•MMC/SDIO), два контроллера CAN, поддерживающие протокол CAN FD, один из которых поддерживает time-triggered CAN (TTCAN), 8–14-бит интерфейс камеры до 140 Мбайт/с.

Читайте также  Высокоточный измеритель индуктивности и емкости

К аналоговой периферии микроконтроллеров относятся два АЦП с максимальным разрешением 16 бит (12 бит 5 Msps, 14 бит 4,4 Msps, 16 бит 250 ksps), датчик температуры, два 12-бит D/A-преобразователя (1 МГц), цифровой фильтр для сигма-дельта-модулятора (DFSDM) с восемью каналами и шестью фильтрами, внутренний или внешний АЦП/ЦАП опорного VREF+.

Безопасность STM32MP1 обеспечивается наличием безопасной загрузки, периферии TrustZone, активного тампера, изоляцией ресурсов Cortex-M4, а также аппаратным шифрованием (AES, HASH), двумя TRNG и двумя блоками расчета CRC.

Микроконтроллеры доступны в следующих корпусах: 10×10 мм TFBFA257, 12×12 мм TFPBGA361, 16×16 мм LFBGA354 и 18×18 мм LFBGA448.

В настоящее время существует три версии STM32MP1 (рис. 3):

  • STM32MP157 — два ядра Cortex-A7 650 МГц, ядро Cortex-M4 209 МГц, графический 3D-процессор, интерфейс дисплея DSI и CAN FD;
  • STM32MP153 — два ядра Cortex-A7 650 МГц, ядро Cortex-M4 209 МГц и CAN FD;
  • STM32MP151 — ядро Cortex-A7 650 МГц, ядро Cortex-M4 209 МГц.

Рис. 3. Линейка микроконтроллеров STM32MP1

Гибкая архитектура и энергоэффективность

Учитывая, что линейка STM32MP1 построена сразу на двух разновидностях процессоров ARM (Cortex-A7 и Cortex-M4), производитель предусмотрел возможность распределения задач между процессорами для улучшения параметров энергопотребления. Условно потребление можно разделить на три режима:

  • Режим полной мощности, в котором работают оба ядра (рис. 4), например для коммуникации по HMI, включая графическую обработку и вывод на дисплей, управление двигателем и считыванием показаний с датчиков.
  • Режим, в котором задействован только процессор Cortex-M4 (рис. 5). Такой режим полезен в тех случаях, когда необходимо уменьшить энергопотребление и требуется работа с графикой и коммуникацией. В данном режиме энергопотребление сокращается в 4 раза относительно полной мощности.
  • Режим ожидания (рис. 6). Оба процессора отключены, энергопотребление снижено в 2500 раз по сравнению с предыдущим режимом.

Более конкретные параметры энергопотребления отображены на рис. 7.

Новое в мире полупроводников

Читаем, обсуждаем, задаем вопросы

STMicroelectronics: STM32F446 — новая серия высокопроизводительных микроконтроллеров STM32 со встроенной памятью небольшого объёма

Новые микроконтроллеры STM32F446 от STMicroelectronics интегрируют 32-битное ядро ARM® Cortex®-M4, FLASH память объёмом 256 КБ или 512 КБ, SRAM память объёмом 128 КБ, эффективный интерфейс внешней памяти и поддерживают широкие коммуникационные возможности.

Ускоритель обработки инструкций из внутренней памяти ART Accelerator™, интеллектуальная архитектура и 90 нм техпроцесс изготовления FLASH-памяти повышают производительность стандартного ядра ARM Cortex-M4 с блоком вычислений с плавающей точкой и расширенной поддержкой DSP-инструкций. Благодаря чему, микроконтроллеры STM32F446 демонстрирует лучшую в своем классе устройств производительность на уровне 225 млн. операций в секунду в тесте Dhrystone и набирает 608 баллов в CoreMark® при тактовой частоте ядра 180 МГц и исполнении программного кода из внутренней FLASH памяти.

Помимо этого, расширенный набор периферийных модулей и особенность архитектуры, позволяющая микроконтроллеру одновременно и эффективно взаимодействовать с внешними устройствами посредством различных интерфейсов, дают возможность создавать более интеллектуальные и интерактивные приложения для промышленности, научной сферы, медицины и Интернета вещей. Набор периферии включает интерфейс камеры, семь каналов аудио интерфейса I2S, контроллер бытовой электроники (CEC) для управления множеством HDMI-устройств, цифровой аудио интерфейс SPDIF и параллельный интерфейс графического ЖКИ. STM32F446 также оснащен контроллером интерфейса USB 2.0 с физическим уровнем и выделенной шиной питания, обеспечивающей надежную работу во всем диапазоне напряжений питания ядра вплоть до минимального уровня в 1.7 В.

Расширить системные возможности за счет внешней памяти позволяет встроенный в STM32F446 гибкий в использовании контроллер памяти (FMC) и Quad-SPI (QSPI) интерфейс. FMC-контроллер с рабочей частотой 90 МГц упрощает управление внешними модулями SRAM, SDRAM, Flash NOR/NAND памяти, ЖК-дисплеем со встроенным контроллером и поддерживает режим перераспределения памяти для увеличения производительности. QSPI-интерфейс работает независимо от FMC-контроллера и обеспечивает прямое подключение или подключение с распределением памяти до двух внешних устройств SPI NOR FLASH с одинарной или удвоенной скоростью передачи данных (DTR).

Разработчики, жестко ограниченные по уровню энергопотребления системы, по достоинству оценят возможности энергосбережения, реализованные в STM32F446 — функция динамического масштабирования напряжения питания, гибкая система тактирования, позволяющая отключать неиспользуемые периферийные блоки, и несколько режимов сна позволили снизить ток потребления микроконтроллера вплоть до 50 мкА в режиме останова (STOP) с сохранением содержимого внутренней SRAM памяти.

Делая свой выбор в пользу STM32F446, инженеры получают доступ к развитой экосистеме разработки компании STMicroelectronics и широкий выбор из более чем 600, совместимых по выводам и программному коду, микроконтроллеров семейства STM32, включая недавно анонсированные устройства серии STM32F7, выполненные на базе сверхвысокопроизводительного процессора ARM Cortex-M7. Экосистема разработки включает в себя открытую, простую в использовании программную платформу STM32Cube, набор расширяемых плат макетирования STM32 Nucleo и оценочные комплекты серии STM32 Discovery, которые могут быть использованы совместно с популярными программными инструментами разработки, такими как IAR EWARM, Keil MDK-ARM, интегрированные среды проектирования (IDE) на базе GCC или онлайн сервис mbed™.

Отличительные особенности:

  • Ядро
    • 32-битный процессор ARM® Cortex®-M4 с блоком вычислений с плавающей точкой (FPU)
    • Поддержка DSP-инструкций
    • Рабочая частота до 180 МГц, производительность 225 DMIPS, 1.25 DMIPS/МГц, (Dhrystone 2.1)
    • Адаптивный ускоритель в масштабе реального времени (Adaptive Real-Time accelerator — ART Accelerator™), позволяющий исполнять инструкции из внутренней FLASH памяти с нулевой задержкой
  • Внутренняя память
    • 256 кбайт или 512 кбайт FLASH
    • 128 кбайт SRAM
    • Гибкий контроллер внешней памяти (FMC) с шириной шины данных до 16 бит, поддерживающий: SRAM, PSRAM, SDRAM/LPSDR SDRAM, Flash NOR/NAND память
    • Quad SPI интерфейс
  • Контроллер графического ЖКИ с поддержкой режимов 8080/6800
  • Система тактирования, сброса и питания
    • Диапазон напряжения питания от 1.7 В до 3.6 В
    • Схема сброса по включению питания (POR), схема сброса по выключению питания (PDR), программируемый детектор напряжения (PVD), схема сброса по падению напряжения (BOR)
    • Тактовый генератор с рабочей частотой от 4 до 24 МГц
    • Фабрично калиброванный RC-генератор на 16 МГц (точность 1%)
    • Тактовый генератор на 32 кГц (с калибровкой) для часов реального времени
    • RC-генератор на 32 кГц (с калибровкой)
  • Пониженное энергопотребление
    • Режимы Сна (Sleep), Останова (Stop) и Ожидания (Standby)
    • Питание от резервного источника (VBAT) для часов реального времени, 20-ти 32-битных регистров восстановления и 4 кбайт SRAM памяти (опционально)
  • Три 12-битных АЦП с частотой дискретизации 2.4 MSPS (млн. преобразований в сек.) или до 7.2 MSPS в строенном режиме чередования; до 24 каналов
  • Два 12-битных ЦАП
  • DMA-контроллер: 16 каналов, блок FIFO, режим пакетной передачи данных
  • До 17 таймеров: 2 сторожевых таймера, 1 системный таймер SysTick, до двенадцати 16-битных и два 32-битных таймера (на 180 МГц), каждый с 4-мя линиями захвата/сравнения/ШИМ или режимом счета импульсов
  • Режим отладки
    • Интерфейсы SWD и JTAG
    • Cortex®-M4 Trace Macrocell™
  • До 114 линий ввода/вывода с поддержкой прерываний
    • До 111 быстродействующих линий ввода/вывода (с частотой до 90 МГц)
    • До 112 линий ввода/вывода, поддерживающих рабочий уровень напряжения 5 В
  • До 20 коммуникационных интерфейсов
    • Передатчик SPDIF
    • До 4-х интерфейсов I 2 C (SMBus/PMBus)
    • До 4-х USART / 2-х UART (скорость передачи данных до 11.25 Мбит/с, поддержка интерфейсов ISO7816, LIN, IrDA, управление модемом)
    • До 4-х интерфейсов SPI (45 Мбит/с)
    • Два последовательных аудио интерфейса (SAI)
    • Два CAN контроллера (2.0 A/B)
    • Интерфейс SDIO
    • Интерфейс управления бытовой электроникой (CEC)
  • Контроллер USB интерфейса
    • Один контроллер полноскоростного (12 Мбит/с) USB 2.0 FS Device/Host/OTG с физическим уровнем
    • Один контроллер высокоскоростного (480 Мбит/с) USB 2.0 HS Device/Host/OTG с физическим уровнем и поддержкой интерфейса ULPI
    • Выделенные шины питания физического уровня USB обеспечивают стабильную работу интерфейса во всем диапазоне напряжений питания микроконтроллера
  • От 8- до 14-бит интерфейс камеры с пропускной способностью до 54 Мбит/с
  • Блок контроля циклическим избыточным кодом (CRC)
  • Часы реального времени (RTC): погрешность менее 1 секунды, аппаратный календарь
  • 96-битный уникальный идентификационный номер (ID)
  • Диапазон рабочих температур: от -40°C до +85°C и от -40°C до +105°C
  • Доступные корпуса
    • WLCSP-81 (STM32F446MC/STM32F446ME)
    • LQFP-64 (STM32F446RC/STM32F446RE)
    • LQFP-100 (STM32F446VC/STM32F446VE)
    • LQFP-144 и UFBGA-144 (STM32F446ZC/STM32F446ZE)

Документация на микроконтроллеры STM32F446 (англ.)

STM32F105/107 — новые линейки микроконтроллеров компании STMicroelectronics

Компания STMicroelectronics представила линейки STM32F105 и STM32F107 — продолжение своего семейства микроконтроллеров STM32 под названием Connectivity Line. Контроллеры построены на базе ядра Cortex-M3 (ARM7M) и работают на частоте до 72 МГц. В этой статье подробно не рассматриваются преимущества нового ядра ARM, но вкратце можно сказать, что Cortex-M3 — это тот процессор, который позволяет очень эффективно создавать портативные устройства, медицинское оборудование, приборы для промышленного управления, а также устройства с высокой вычислительной нагрузкой, с которой процессор хорошо справляется благодаря новым DSP-инструкциям.
Встроенный в ядро Cortex-M3 системный таймер позволяет создавать приложения, которые можно легко переносить с одной аппаратной платформы на другую (если та тоже построена на контроллере с Cortex-M3). Особенно это актуально в задачах, где используется операционная система реального времени. Встроенный контроллер прерываний является также стандартным модулем процессора и не изменяется от одного производителя микросхем к другому.

Обе линейки оснащены модулем USB On The Go, позволяющим работать USB-интерфейсу как в режиме Device, так и в Host. Кроме того, STMicroelectronics предлагает в помощь разработчику библиотеку стандартных профилей USB.
Отличительной особенностью новых представителей семейства стало и наличие блока Ethernet MAC, поддерживающего на аппаратном уровне протокол IEEE1588 (в STM32F107). Кроме USB и Ethernet, микроконтроллеры могут содержать еще до 12-ти дополнительных коммуникационных интерфейсов, что делает их по-настоящему универсальными.
Специализированный блок PLL для интерфейса I2S, появившийся в новых представителях семейства, позволяет решать практически любую задачу, связанную с воспроизведением аудиосигнала. Таким образом, для получения линейного сигнала подходит любой звуковой ЦАП с интерфейсом I2S.
В отличие от конкурентов, STM встраивает в свои контроллеры до трёх АЦП, которые могут оцифровывать сигнал с 16-ти внешних линий. Разрешающая способность АЦП — 12 бит. Кроме того, дополнительный канал перманентно настроен на выход встроенного температурного датчика. Это позволяет подстраивать встроенный высокочастотный RC-генератор в зависимости от окружающей температуры, тем самым достигая стабильности его работы во всём диапазоне температур в пределах ошибки менее 1%. Ещё один канал контролирует напряжение питания и вызывает прерывание, в случае если произошел выход за установленные пределы — это т.н. «аналоговый сторожевой таймер».
Два сторожевых таймера обратного счета: один классический с собственным RC-генератором, второй — «оконного типа» — позволяют увеличить надёжность устройств в особо критических к сбоям приложениях. Система защиты тактирования, обеспечивающая автоматический переход на встроенный RC-генератор в случае сбоя генератора с внешним резонатором, также позволяет без дополнительных компонентов существенно увеличить надёжность разрабатываемого устройства.
Контроллер прямого доступа в память имеет 12 каналов и позволяет производить передачу информации из памяти в память, из периферийного блока в память и из периферии в периферию. Не только каждый аппаратный коммуникационный модуль (USART, I2C, SPI и т.д.) работает с DMA-контроллером — в DMA-режиме передавать информацию могут такие модули как АЦП и таймеры. Эта гибкость позволяет существенно разгрузить контроллер, избавив его от программного решения задач сбора и передачи информации.
Интерфейс внешней памяти позволяет подключать как статическую память, так и флэш-память, а также другие периферийные устройства с параллельным интерфейсом, например дисплеи.
Специализированный ШИМ-контроллер позволяет организовать управление двигателями: предусмотрен синхронный инверсный выход каналов ШИМ-модуля, аппаратно добавляются задержки для обеспечения мёртвого времени. Для создания приложений управления двигателями компания ST предлагает программную библиотеку, с помощью которой можно существенно уменьшить время разработки и быстрее вывести продукт в серию.
Единое питание 2,4…3,6 В, а также входы, позволяющие принимать сигналы до 5 В, упрощает использование этого микроконтроллера при модернизации старых систем, в которых имеется большое количество 5-В обвязки.
Как уже было отмечено, контроллеры STM32 имеют несколько источников тактирования:
– высокочастотный кварцевый генератор;
– высокочастотный внутренний RC-генератор;
– кварцевый генератор часов реального времени на 32768 Гц;
– генератор низкочастотный типа RC для тактирования сторожевого таймера и часов реального времени.
Таким образом, проектируемое устройство может работать практически без дополнительных внешних компонентов, используя внутренний RC-генератор.
Архитектура STM32 предусматривает очень гибкое управление линиями ввода-ввода. Битовые операции позволяют программно переключать порты с частотой до 18 МГц.

Читайте также  Устройство контроля излучения высокочастотных колебаний бытовыми приборами

Новые микроконтроллеры, как и предыдущие модели, продолжают поддерживать идеологию программно-аппаратной совместимости внутри семейства STM32. На текущий момент семейство представляют 75 микроконтроллеров, сгруппированных в линейки: Access Line STM32F101, USB Line STM32F102, Performance Line STM32F103 и Connectivity Line STM32F105/107. Это многообразие позволяет разработчику выбрать оптимальный вариант решения без лишних периферийных модулей или памяти, позволяя добиться наименьшей цены готового изделия.
Богатая периферия, большой объём памяти и цена, равная цене 8-битного контроллера, позволяют применять эти приборы в широком ряде задач индустриального и бытового применений

USB-CAN адаптер.

Купил я себе новую гранту и решил как обычно поковыряться в прошивке и активировать круиз контроль! Но вот не задача для его активации требуется USB-CAN адаптер, адаптер по k-line у меня есть разные с гальванической развязкой и без таковой самодельные и заводские. Но вот адаптера по кан у меня не было, и дел я с ним раньше не имел, ну было решено изучить этот вопрос как говорится по полной, собрать самому данный адаптер. Этот адаптер необходим также для диагностики автомобиля и прослушивания кан шины при помощи всем известной программы CANHacker. CANHacker для своего обмены с адаптером и шиной использует протокол «lawicel», при помощи данного протокола программа посылает служебные команды адаптеру, который в свою очередь своеобразным образом должен на них ответить, иначе определения адаптера в программе не произойдет. Также программа посылает различные команды адаптеру такие как скорость обмена разрядность и так далее, по этому протоколу работают не только эта программа, но и другие в том числе платные. В своей прошивке необходимо было учесть все для работы с программы.

  • Can
  • +9
  • 06 июля 2021, 09:16
  • do-vitas
  • 17

Электронный токен своими руками

Интернет за последние пару десятилетий из дружелюбного пространства превратился во враждебную среду. Злобные хакеры пытаются нас взломать, зашифровать, украсть, скачать интимные фотки… Традиционных логина и пароля уже явно недостаточно, чтобы надёжно защитить личный аккаунт. Для повышения безопасности всё чаще предлагается многофакторная аутентификация.

Двухфакторная аутентификация использует информацию двух типов: «знаю» — логин+пароль и «владею» — телефон (через SMS, пуш-сообщение, голосовое подтверждение), электронная почта (переход по ссылке для подтверждения), OTP, либо электронный токен.

Использовать телефон как второй фактор — отличная была идея… Но что-то пошло не так. Перехват СМС, скринлоггеры, переадресация вызова, угон симки — всё это вполне реально, и нередко используется против нас.

В качестве альтернативы предлагаю занедорого попробовать электронный токен. Гораздо более надёжен, его сложно перехватить, нельзя клонировать и взломать без ведома владельца.

  • stm32,
  • u2f,
  • fido,
  • безопасность
  • 16 мая 2021, 23:14
  • MikeSmith
  • 4
  • 2

дополнение к статье «Дружим программу CANHacker и модуль 2CAN от Starline»

Несмотря на то что статья была довольно давно опубликована, ко мне до сих пор поступают разнообразные вопросы по ней.
Попытаюсь некоторые прояснить. Данный вариант на базе модуля 2CAN от НПО «Старлайн» с опубликованной в статье прошивкой не реализует все возможности программы CANHACKER, и может не совсем корректно работать в некоторых схемах.
Но люди оказывается приобретают и более современные модули 2CANLIN от «Старлайн» и хотят их использовать.

  • STM32 canhacker 2can 2canlin
  • +3
  • 06 марта 2021, 11:08
  • astaninss
  • Оставить комментарий
  • 2

Тёмная подсветка синтаксиса в IAR

Подсветка синтаксиса

Для тех, кому всё-таки приходится пользоваться средой разработки IAR и нет желания заморачиваться с плагинами для VS Code и Eclipse.

Как выглядит IAR ARM 7.8 с моим вариантом раскраски:

  • iar,
  • ide,
  • arm,
  • STM32,
  • syntax highlighting
  • +1
  • 28 сентября 2020, 08:31
  • uni
  • 6
  • 2

WatchDog ― устраиваем собаке допрос (с пристрастием)

1. Водная часть

Во всех микроконтроллерах (мк) есть такая полезная штука, как сторожевая псина (watchdog). Работает от внутреннего низкочастотного генератора (LSI), то есть за редким исключением можно сказать, что LSI ― «личный» таймер вотчдога, который будет работать даже если главный генератор подохнет (например, отвалится нога кварца). В угоду пуристам можно отметить, что при желании можно тактовать от LSI всю программу, но сейчас речь не об этом.

Итак, сторожевая псина призвана для одной цели ― ребутать мк в случае его зависания. Если основная программа в каком-то месте не успела сбросить таймер watchdog, то ее ждет аварийный ребут. И если в любительских устройствах поговорка «семь бед ― один резет» еще допустима, то в случае более серьезного использования желательно узнать причину перезагрузки. Но ведь после перезагрузки все данные потеряны, искать больше нечего. Или нет?

  • watchdog
  • +6
  • 22 сентября 2020, 18:14
  • DySprozin
  • 5

MCUHelper – утилита для мониторинга и редактирования переменных МК в runtime.

Основная цель данной программы — мониторить значения переменных, не вмешиваясь в процесс отладки.

  • STM32
  • +1
  • 20 августа 2020, 13:32
  • DIVON55
  • 5
  • 1

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 HID для микроконтроллеров STM32F103 без использования библиотек

  • STM32,
  • USB,
  • HID
  • +8
  • 27 марта 2019, 17:29
  • VVK
  • 7
  • 1

Очередная багофича 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
  • Страницы:
  • 1
  • 2
  • 3
  • 4
  • 5
  • последняя