Введение в высокопроизводительный 32-разрядный микроконтроллер STM32H7

STM32H7 является наиболее мощным представителем популярного семейства 32-разрядных микроконтроллеров STM32 на базе ядер ARM Cortex-M, предлагаемых ST Microelectronics. Микроконтроллеры этой серии могут работать на тактовой частоте до 480 МГц с эталонной производительностью более 1000 DMIPS. Это один из самых быстрых и мощных микроконтроллеров, доступных в настоящее время на рынке. STM32H7 настолько быстр и предлагает так много продвинутых функций, что начинает стирать грань между микроконтроллером и микропроцессором
1024
В избранное

STM32H7 является наиболее мощным представителем популярного семейства 32-разрядных микроконтроллеров STM32 на базе ядер ARM Cortex-M, предлагаемых ST Microelectronics.

Микроконтроллеры этой серии могут работать на тактовой частоте до 480 МГц с эталонной производительностью более 1000 DMIPS. Это один из самых быстрых и мощных микроконтроллеров, доступных в настоящее время на рынке.

STM32H7 настолько быстр и предлагает так много продвинутых функций, что начинает стирать грань между микроконтроллером и микропроцессором.

Состав семейства STM32H7 и особенности контроллеров

Ядра микроконтроллера Cortex-M

Семейство микроконтроллеров STM32 основано на вычислительных ядрах ARM Cortex-M. Итак, прежде чем перейти к семейству STM32, рассмотрим более подробно вычислительное ядро ARM Cortex-M.

Ядро Cortex-M поставляется в виде IP ядра. Оно выпускается по лицензии компании ARM Holdings различными производителями чипов, которые используют это ядро в своих продуктах. Список компаний, которые лицензировали такие ядра в той или иной форме, включает ST Microelectronics, TI, Microchip, NXP, Nordic, Qualcomm и многих других.

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

Вообще, ядра Cortex-M - это 32-разрядные вычислительные ядра с сокращенным набором команд (RISC архитектура), которые выпускаются в различных версиях, таких как M0, M0+, M1, M3, M4, M7 и другие. Каждая из версий может иметь различный набор аппаратных блоков, например, блок вычислений с плавающей точкой (FPU), блок цифровой обработки сигналов (DSP), аппаратные умножители и т. д.

Семейство STM32 в целом разделено на четыре основные категории, каждая из которых предназначена для определенного сегмента рынка. Вот эти категории: высокопроизводительные контроллеры, массовая серия, контроллеры со сверхнизким энергопотреблением и контроллеры для беспроводной связи. Подробнее с классификацией контроллеров STM32 можно ознакомиться по этой ссылке.

STM32H7 занимает топовое положение среди высокопроизводительных контроллеров. Эта серия включает одно- и двухъядерные микроконтроллеры, состоящий из 480 МГц ядра Cortex-M7 и дополнительного 240 МГц ядра Cortex M4 (для двухъядерных версий). Категория High Performance предлагает высочайшую производительность при выполнении кода и передаче данных.

В этой серии контроллеров используются самые высокопроизводительные и передовые периферийные устройства в семействе STM32. На рис. 1 представлены основные характеристики различных моделей контроллеров STM32H7.

Состав семейства STM32H7 и особенности контроллеров


Рис. 1. Состав семейства STM32H7 и особенности контроллеров

На рис. 2 показана внутренняя блок-схема высокопроизводительного двухъядерного STM32H757.

Внутренняя блок-схема двухъядерного микроконтроллера SMT32H757

Рис. 2. Внутренняя блок-схема двухъядерного микроконтроллера SMT32H757

Для выбора конкретного контроллера из этого многочисленного семейства рекомендуется использовать параметрическую таблицу на сайте производителя.

Использование STM32H7 в разработке

В семейство STM32H7 входит множество контроллеров, часть из них с одним ядром Cortex-M7, а некоторые с двумя ядрами Cortex-M7 и Cortex M4. В модификациях контроллера присутствует различное  количество и комбинация стандартных периферийных устройств, таких как GPIO, I2C, I2S, SPI, таймеры, USARTS.

В серии представлены и некоторые более продвинутые периферийные устройства, которые обычно отсутствуют в менее производительных микроконтроллерах. К ним относятся USB OTG, контроллеры Ethernet и CAN, последовательные аудиоинтерфейсы (SAI), интерфейс камеры, интерфейсы TFT дисплея и аппаратные графические ускорители. Семейство также поддерживает механизмы аппаратного криптографического шифрования и функции для обеспечения безопасной загрузки и обновления кода прошивки.

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

Один из лучших способов узнать о любом семействе процессоров - это потратить некоторое время на работу с отладочной платой, решая типичные задачи, возникающие в процессе разработки. Для этого ST Microelectronics выпускает множество различных оценочных плат и программных продуктов. Практика работы с ними поможет вам быстро разработать собственное устройство.

Для оценки всей функциональности серии STM32H7 рекомендуются платы STM32H7x3I-EVAL. Эти платы позволяют оценить возможности продвинутых периферийных устройств семейства STM32H7.

Оценочная плата STM32H7531

Рис. 3. Оценочная плата STM32H7531

Платы среднего уровня на основе микроконтроллера STM32H7 представлены семейством Discovery. Они имеют несколько менее богатую периферию.

Наиболее бюджетные платы из серии Nucleo (рис. 4). Как правило, эти платы содержат только микроконтроллер с необходимой обвязкой. Периферия представлена разъемами Ethernet и USB. Но, поскольку все контакты микроконтроллера доступны на разъемах по краям платы, есть хорошая возможность сопряжения MCU с внешним оборудованием.

Плата Nucleo для одного из микроконтроллеров STM32H7
Рис. 4. Плата Nucleo для одного из микроконтроллеров STM32H7

Программирование плат осуществляется через встроенный программатор STLink-V3. Обратите внимание, что STLink-V3 встречается только на платах с новейшими микроконтроллерами STM32, такими как семейство STM32H7. Старые оценочные платы STM32 содержат STLINK-V2, который среди прочего обеспечивает существенно более низкую скорость загрузки около 12 Мбит/с по сравнению с STLINK-V3 (480 Мбит/с).

Разработка приложений для STM32H7

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

Для разработки можно использовать IDE и компиляторы, которые выпускают различные производители, например, Atollic, Keil или IAR Systems. Можно использовать и бесплатные программы, например, Eclipse IDE, к которой можно подключить множество дополнительных компиляторов, таких как GCC, GNU Compiler Collection, tool chain для STM32.

Как упоминалось ранее, производители, такие как ST Microelectronics, лицензируют ядра Cortex от ARM Holdings, а затем интегрируют собственный набор периферийных устройств, таких как UART, CAN, I2C, Ethernet или SPI, в конкретные микроконтроллеры. При разработке встраиваемых приложений часть кода управляет ядром системы, а часть - периферийными устройствами, такими как таймеры или порты ввода-вывода. Конфигурирование ядра или любых периферийных устройств включает запись определенных значений конфигурации во внутренние регистры контроллера. Для этого требуется полностью разобраться в технической документации, описывающей регистры контроллера и их связь с периферией. Обойти это просто невозможно. Например, ядро ARM может иметь много источников тактирования с различными делителями (ведь различные блоки, такие как память и периферийная шина, могут работать на разных тактовых частотах). Или, например, таймеры. Они могут работать во многих режимах - захват входа, сравнение выходов, широтно-импульсная модуляция (ШИМ), с прерыванием или без него, или с автоматической перезагрузкой и тактироваться от различных источников. То же самое относится к USART, SPI, I2C, USB и другим периферийным устройствам. Каждое из них управляется отдельным разделом таблицы регистров.

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

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

Например, регистрам, которые используются для настройки конкретного аппаратного блока, присваиваются соответствующие имена. Существуют предварительно определенные функции, которые можно использовать для настройки портов ввода-вывода, источников синхронизации или таймеров. HAL для ядра ARM Cortex называется CMSIS (Cortex Microcontroller Software Interface Standard), и он не зависит от производителя микроконтроллера. Периферийные устройства STM описываются в библиотеке STM HAL.

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

Вывод

STM32H7 стирает грань между микроконтроллерами и высокопроизводительными микропроцессорами. Это один из самых быстрых, самых современных микроконтроллеров на рынке.

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

Источникhttps://predictabledesigns.com

Производитель: STMicroelectronics
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
STM32H743ZIT6
STM32H743ZIT6
STMicroelectronics
Арт.: 2237123 ИНФО PDF AN RD RND DT
Доступно: 354 шт. 888,00
ARM Microcontrollers - MCU High-performance and DSP with DP-FPU, ARM Cortex-M7 MCU with 2MBytes Flash, 1MB RAM, 400 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals
STM32H743ZIT6 888,00 от 4 шт. 807,00 от 9 шт. 777,00 от 18 шт. 740,00 от 45 шт. 703,00
354 шт.
(на складе)
STM32H743IIT6
STMicroelectronics
Арт.: 2263994 ИНФО PDF AN RD RND DT
Доступно: 294 шт. 925,00
ARM Microcontrollers - MCU High-performance and DSP with DP-FPU, ARM Cortex-M7 MCU with 2MBytes Flash, 1MB RAM, 400 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals
STM32H743IIT6 925,00 от 4 шт. 840,00 от 8 шт. 809,00 от 20 шт. 771,00 от 40 шт. 732,00
47 шт.
(на складе)
247 шт.
(под заказ)
STM32H743VIT6
STM32H743VIT6
STMicroelectronics
Арт.: 2302623 ИНФО PDF AN RD RND DT
Доступно: 387 шт. 810,00
ARM Microcontrollers - MCU High-performance and DSP with DP-FPU, ARM Cortex-M7 MCU with 2MBytes Flash, 1MB RAM, 400 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals
STM32H743VIT6 810,00 от 5 шт. 735,00 от 9 шт. 708,00 от 19 шт. 675,00 от 50 шт. 641,00
362 шт.
(на складе)
25 шт.
(под заказ)
STM32H743BIT6
STM32H743BIT6
STMicroelectronics
Арт.: 2573394 ИНФО PDF AN RD RND DT
Доступно: 243 шт. 1070,00
ARM Microcontrollers - MCU High-performance and DSP with DP-FPU, ARM Cortex-M7 MCU with 2MBytes Flash, 1MB RAM, 400 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals
STM32H743BIT6 1070,00 от 4 шт. 973,00 от 7 шт. 937,00 от 15 шт. 893,00 от 36 шт. 848,00
103 шт.
(на складе)
140 шт.
(под заказ)
NUCLEO-H743ZI
NUCLEO-H743ZI
STMicroelectronics
Арт.: 2584140 ИНФО PDF AN RD
Доступно: 6 шт. 3320,00
Отладочная плата STM32 Nucleo-144 на основе МК STM32H743ZI с поддержкой Arduino, ST Zio и Morpho.
NUCLEO-H743ZI 3320,00 от 2 шт. 3010,00 от 3 шт. 2900,00 от 5 шт. 2770,00 от 12 шт. 2630,00
6 шт.
(на складе)
STM32H743XIH6
STM32H743XIH6
STMicroelectronics
Арт.: 2609718 ИНФО PDF AN RD DT
Доступно: 230 шт. 1090,00
ARM Microcontrollers - MCU High-performance and DSP with DP-FPU, ARM Cortex-M7 MCU with 2MBytes Flash, 1MB RAM, 400 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals
STM32H743XIH6 1090,00 от 4 шт. 987,00 от 7 шт. 950,00 от 14 шт. 905,00 от 40 шт. 860,00
151 шт.
(на складе)
79 шт.
(под заказ)
STM32H743IIK6
STM32H743IIK6
STMicroelectronics
Арт.: 2609785 ИНФО PDF AN RD
Доступно: 217 шт. от 1 шт. от 1447,99
Выбрать
условия
поставки
IC MCU 32BIT 2MB FLASH 176UBGA
STM32H743IIK6 от 1 шт. от 1447,99
217 шт.
(под заказ)
Выбрать
условия
поставки
STM32H743VIH6
STM32H743VIH6
STMicroelectronics
Арт.: 2728934 ИНФО AN RD DT
Доступно: 495 шт. 1340,00
STM32H743VIH6 - Микроконтроллеры ARM High-performance and DSP with DP-FPU, ARM Cortex-M7 MCU with 2MBytes Flash, 1MB RAM, 400 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals
STM32H743VIH6 1340,00 от 3 шт. 1220,00 от 6 шт. 1170,00 от 12 шт. 1120,00 от 30 шт. 1060,00
2 шт.
(на складе)
493 шт.
(под заказ)
STM32H753I-EVAL2
STM32H753I-EVAL2
STMicroelectronics
Арт.: 2783402 ИНФО PDF AN RD
Доступно: 6 шт. 47470,00
Hi-End отладочная платформа на базе микроконтроллера STM32H753XI
STM32H753I-EVAL2 47470,00 от 2 шт. 47220,00
5 шт.
(на складе)
1 шт.
(под заказ)
STM32H743I-EVAL2
STM32H743I-EVAL2
STMicroelectronics
Арт.: 3202429 ИНФО PDF RD
Доступно: 8 шт. 41090,00
Отладочная плата - одноплатный компьютер для разработки, отладки систем на базе микроконтроллера STM32H743XIH6
STM32H743I-EVAL2 41090,00 от 2 шт. 40870,00
4 шт.
(на складе)
4 шт.
(под заказ)
NUCLEO-H743ZI2
NUCLEO-H743ZI2
STMicroelectronics
Арт.: 3384305 ИНФО PDF RD
Доступно: 142 шт. 2920,00
Отладочная плата семейства STM32 NUCLEO-144 с MCU STM32H743ZI.
NUCLEO-H743ZI2 2920,00 от 2 шт. 2650,00 от 3 шт. 2550,00 от 6 шт. 2430,00 от 14 шт. 2310,00
3 шт.
(на складе)
139 шт.
(под заказ)
STM32H745I-DISCO
STM32H745I-DISCO
STMicroelectronics
Арт.: 3412916 ИНФО AN RD
Доступно: 31 шт. от 1 шт. от 10133,80
Выбрать
условия
поставки
Набор Discovery для двухъядерного микроконтроллера STM32H745XI.
STM32H745I-DISCO от 1 шт. от 10133,80
31 шт.
(под заказ)
Выбрать
условия
поставки
STM32H747I-DISCO
STM32H747I-DISCO
STMicroelectronics
Арт.: 3418357 ИНФО PDF AN RD
Доступно: 28 шт. 9600,00
Набор Discovery на основе микроконтроллера STM32H747XI
STM32H747I-DISCO 9600,00 от 2 шт. 9140,00 от 4 шт. 8690,00 от 8 шт. 8640,00
5 шт.
(на складе)
23 шт.
(под заказ)
NUCLEO-H755ZI-Q
NUCLEO-H755ZI-Q
STMicroelectronics
Арт.: 3418361 ИНФО PDF AN
Поиск
предложений
Отладочная плата STM32 Nucleo-144 на основе МК STM32H755ZI с поддержкой Arduino, ST Zio и Morpho.
NUCLEO-H755ZI-Q
-
Поиск
предложений
NUCLEO-H745ZI-Q
NUCLEO-H745ZI-Q
STMicroelectronics
Арт.: 3418362 ИНФО PDF AN
Доступно: 57 шт. 3330,00
Оценочная плата семейства STM32 NUCLEO-144 на основе микроконтроллера STM32H745ZI.
NUCLEO-H745ZI-Q 3330,00 от 2 шт. 3210,00 от 5 шт. 3060,00 от 10 шт. 2900,00 от 20 шт. 2890,00
20 шт.
(на складе)
37 шт.
(под заказ)
STM32H745ZIT6
STM32H745ZIT6
STMicroelectronics
Арт.: 3418816 ИНФО PDF AN RD
Поиск
предложений
HIGH-PERFORMANCE AND DSP WITH DP
STM32H745ZIT6
-
Поиск
предложений
STM32H745IIK6
STM32H745IIK6
STMicroelectronics
Арт.: 3422370 ИНФО PDF AN RD
Доступно: 391 шт. от 168 шт. от 804,88
Выбрать
условия
поставки
HIGH-PERFORMANCE AND DSP WITH DP
STM32H745IIK6 от 168 шт. от 804,88
391 шт.
(под заказ)
Выбрать
условия
поставки

Сравнение позиций

  • ()