№1 / 2018 / статья 3

STM32 семейства H7: с новыми возможностями – к новым вершинам

Вячеслав Гавриков (г. Смоленск)

С момента появления микроконтроллеров STM32F7 производства STMicroelectronics прошло уже два года. Все это время семейство лидировало в рейтинге производительности микроконтроллеров STM32. Однако новое семейство STM32H7 на том же ядре ARM Cortex-M7 с легкостью бьет рекорды предшественника. За счет чего же удалось поднять производительность?

Компания STMicroelectronics последовательно развивает семейства микроконтроллеров STM32. Самое первое семейство STM32F1 появилось больше десяти лет назад и имело пиковую производительность 61 DMIPS при максимальной рабочей частоте 72 МГц. С тех пор компания сделала несколько значительных шагов вперед. Два года назад микроконтроллеры STM32F7 с ядром ARM Cortex-M7 установили рекорд производительности – 462 DMIPS при рабочей частоте 216 МГц. Однако теперь и этот рекорд перекрыт новыми микроконтроллерами STM32H7, причем – почти в два раза. Это весьма впечатляющий результат, особенно если учесть, что в новом флагманском семействе используется то же процессорное ядро.

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

Микроконтроллеры STM32H7, как и STM32F7, построены на базе ядра ARM Cortex-M7. Тем не менее, STM32H7 превосходит предшественника по всем ключевым параметрам: по рабочей частоте, производительности, богатству периферии, совершенству архитектуры и уровню используемых технологий (рисунок 1). Забегая вперед, можно отметить, что именно использование новых технологических норм (40 нм) и продвинутой шинной архитектуры и позволили сделать такой значительный скачок вперед.

Рис. 1. Микроконтроллеры STM32H7 превосходят предшественников из семейства STM32F7 по всем ключевым параметрам

Рис. 1. Микроконтроллеры STM32H7 превосходят предшественников из семейства STM32F7 по всем ключевым параметрам

STM32H7 – двукратный рост скорости и производительности

Если внимательно ознакомиться с номенклатурой контроллеров STM32, можно заметить, что каждый тип процессорного ядра используется как минимум в двух семействах. Например, на базе ARM Cortex-M3 построены семейства STM32F1 и STM32F2. При этом в STM32F2 из данного ядра выжимается максимум производительности. По аналогичному принципу можно сгруппировать STM32F3 и STM32F4 с ядром ARM Cortex-M4F, а также STM32F7 и STM32H7 с ядром ARM Cortex-M7.

Таким образом, можно выделить следующие высокопроизводительные семейства:

  • младшие линейки STM32F4 Access line на базе ядра ARM Cortex-M4F с рабочей частотой до 84 МГц и производительностью до 105 DMIPS (Dhrystone 2.1);
  • семейство STM32F2 на базе ядра ARM Cortex-M3 с рабочей частотой до 120 МГц и производительностью до 150 DMIPS (Dhrystone 2.1);
  • базовые линейки STM32F4 на базе ядра ARMCortex-M4F с рабочей частотой до 168 МГц и производительностью до 210 DMIPS (Dhrystone 2.1);
  • старшие линейки STM32F4 на базе ядра ARMCortex-M4F с рабочей частотой до 180 МГц и производительностью до 225 DMIPS (Dhrystone 2.1);
  • семейство STM32F7 на базе ядра ARMCortex-M7 с рабочей частотой до 216 МГц и производительностью до 462 DMIPS (Dhrystone 2.1);
  • семейство STM32H7 на базе ядра ARMCortex-M7 с рабочей частотой до 400 МГц и производительностью до 856 DMIPS (Dhrystone 2.1).

Сравнение показателей рабочей частоты и производительности представленных семейств позволяет сделать сразу два ожидаемых вывода. Во-первых, частота не всегда напрямую определяет производительность. Например, максимальная частота STM32F7 всего на 36 МГц больше, чем у STM32F4 (рисунок 2), а производительность при тестировании по Dhrystone 2.1 оказывается в два раза выше. Даже при использовании результатов более совершенного теста CoreMark прирост составит более 450 баллов – от 608 до 1082, или в 1,77 раза (рисунок 3). Таким образом, тип ядра во многом определяет производительность.

Рис. 2. Сравнение рабочих частот производительных семейств STM32

Рис. 2. Сравнение рабочих частот производительных семейств STM32

Во-вторых, при использовании одного и того же ядра производительность почти целиком зависит от максимальной рабочей частоты. В частности, семейства STM32F7 и STM32H7 построены на базе ARM Cortex-M7, но частота STM32H7 в два раза выше (рисунок 2), что приводит к росту производительности почти в два раза — до 2020 пунктов CoreMark (рисунок 3).

Рис. 3. Сравнение производительности семейств STM32

Рис. 3. Сравнение производительности семейств STM32

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

В итоге, чтобы найти истинные причины, почему быстродействие STM32H7 так велико, необходимо копнуть глубже. Оказывется, таких причин ровно две: новая технология и новая архитектура. Разберемся с каждой из них по отдельности.

ST Microelectronics: технологический шаг вперед

STM32H7 – первое семейство микроконтроллеров STMicroelectronics, производимое по топологическим нормам 40 нм. Все рассмотренные выше семейства использовали технологию 90 нм.

Конечно, 40 нм – это не рекорд в рамках полупроводниковых кремниевых технологий. Наиболее продвинутые производители уже заявили о создании микросхем с топологическими нормами 7 нм и о планах освоения техпроцессов 5 нм. Однако в данном случае речь идет о процессорах, то есть о чисто цифровых устройствах. В этом смысле микроконтроллеры – это принципиально другие системы, в них присутствуют не только цифровые блоки, но также аналоговая периферия и встроенная память, что значительно усложняет переход на новый техпроцесс. Например, в STM32H7 интегрированы преобразователи напряжения, ЦАП, АЦП, компараторы, операционные усилители.

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

Для того чтобы наглядно продемонстрировать все преимущества семейства STM32H7, проведем его сравнение с предыдущим лидером рейтинга – STM32F7.

STM32H7 и STM32F7: одинаковое ядро, но разные возможности

Контроллеры STM32H7 и STM32F7 имеют одинаковое ядро ARM Cortex-M7. Однако если сравнить их блок-схемы, то окажется, что в STM32H7 – немало нововведений (рисунки 4 и 5):

Рис. 4. Структура микроконтроллеров STM32F7

Рис. 4. Структура микроконтроллеров STM32F7

Рис. 5. Структура микроконтроллеров STM32H7. Оранжевым выделены ключевые изменения по сравнению с STM32F7

Рис. 5. Структура микроконтроллеров STM32H7. Оранжевым выделены ключевые изменения по сравнению с STM32F7

  • усовершенствована шинная архитектура;
  • изменены системы тактирования и питания;
  • появилась новая периферия – таймер с повышенным разрешением, таймер для режимов пониженного потребления, 16-битный АЦП, компараторы, операционные усилители, FDCAN.

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

Шинная архитектура STM32H7

Микроконтроллеры STM32F7 используют традиционную для STM32 шинную архитектуру, которая построена на базе 32-битной матрицы multi AHB (рисунок 6). К сожалению, при таком подходе оказывается, что все быстрые узлы – ядро, ОЗУ, Flash, FMC, ЖК-контроллер, Q-SPI – делят шинную матрицу AHB с относительно медленными узлами – USB, Ethernet, периферией. При этом ядро ARM Cortex-M7 имеет и вторую более скоростную 64-битную шину AXIM, но в STM32F7 ее используют крайне ограниченно. Она подключается к мосту AXI-AHB, который преобразует четыре интерфейса AXIM в привычный AHB-Lite. При этом один интерфейс AXI используется для связи с 64-битной шиной AHB, подключенной к Flash-памяти, а три других AXI подключены к 32-битной шинной матрице multi AHB.

Рис. 6. Шинная архитектура STM32F7

Рис. 6. Шинная архитектура STM32F7

Очевидно, что хотя с точки зрения производительности микроконтроллеры STM32F7 значительно шагнули вперед по сравнению с предшественниками, однако при этом они не до конца реализовали потенциал ядра ARM Cortex-M7.

В новом семействе STM32H7 возможности ARM Cortex-M7 используются гораздо эффективнее. В этих контроллерах применяется революционная для микроконтроллеров STM32 шинная архитектура. В ней, с одной стороны, реализованы три независимых домена, а с другой – 64-битная шина AXIM становится системообразующей наравне с AHB (рисунок 7).

Рис. 7. Шинная архитектура STM32H7

Рис. 7. Шинная архитектура STM32H7

Домен D1 предназначен для наиболее высокоскоростных блоков и узлов. Он объединяет процессорное ядро, 64-битную шинную матрицу AXI, ОЗУ команд ITCM, ОЗУ данных DTCM, два банка Flash, AXI SRAM, MDMA, SDMMC1, DMA2D (Chrom-Art Accelerator™), LTDC (LCD-TFT). Шинная матрица AXI осуществляет арбитраж между ведущими и ведомыми устройствами с карусельным принципом смены доступа. ОЗУ команд (ITCM) и данных (DTCM) напрямую взаимодействуют с процессорным ядром через 64-битные шины TCM.

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

Остальные блоки выведены в два оставшихся домена. Для связи узлов из разных доменов выделено четыре шины:

  • D1-to-D2 AHB – 32-битная шина, позволяющая ведущим устройствам из домена D1 (masters) взаимодействовать с ведомыми из домена D2 (slaves);
  • D2-to-D1 AHB – 32-битная шина, позволяющая ведущим устройствам из домена D2 (masters) взаимодействовать с ведомыми из домена D1;
  • D1-to-D3 AHB – 32-битная шина, позволяющая ведущим устройствам из домена D1 (masters) взаимодействовать с ведомыми из домена D3 (slaves);
  • D2-to-D3 AHB – 32-битная шина, позволяющая ведущим устройствам из домена D2 (masters) взаимодействовать с ведомыми из домена D3 (slaves).

Домен D2 построен на базе 32-битной матрицы multi AHB. Он включает большинство периферийных узлов и блоков с относительно невысокой производительностью: USB, SDMMC2, Ethernet, АЦП, SAI, таймеры, коммуникационные интерфейсы (I²C, SPI, UART) и так далее.

Несложно заметить, что домен D2 – это упрощенная версия традиционной архитектуры, доставшейся в наследство от STM32F7 (рисунок 6). При этом здесь присутствует целых три блока ОЗУ и два контроллера прямого доступа к памяти DMA. Это означает, что, несмотря на «второстепенное» значение, блоки в данном домене работают с максимальной производительностью.

Домен D3 – домен, объединяющий блоки, предназначенные для работы в режимах наименьшего потребления: EXTI, RTC, LPTIM2, LPTIM3, LPTIM4, LPTIM5, COMP1, COMP2, SAI4, ADC3, RCC.

Этот домен также имеет собственную память ОЗУ, Backup ОЗУ 4 кбайт и контроллер прямого доступа к памяти BDMA.

Если подытожить все сказанное, то архитектура STM32H7 по сравнению с архитектурой STM32F7 более полно и эффективно использует потенциал ядра ARM Cortex-M7, что положительно сказывается на производительности отдельных блоков и всего микроконтроллера в целом. Применяемая доменная структура дает сразу несколько преимуществ:

  • повышение скорости обмена данными за счет разделения быстрых и медленных устройств;
  • сохранение быстродействия периферии за счет собственного ОЗУ и DMA в каждом из доменов;
  • возможность достижения минимального потребления за счет независимого питания и тактирования доменов.

На вопросе питания и потребления стоит остановиться отдельно.

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

Система питания STM32H7 оказывается более эффективной по сравнению с STM32F7 по нескольким причинам:

  • хотя основной встроенный преобразователь используется для питания всех трех доменов, тем не менее, благодаря дополнительным интегрированным силовым ключам, домены D1 и D2 могут быть отключены в любое время для экономии энергии;
  • значительно расширен арсенал малопотребляющих блоков (LPTIMx, LPUARTx и других), которые остаются в активном состоянии, даже кода все остальные узлы находятся в глубоком сне;
  • для USB был выделен отдельный встроенный преобразователь;
  • благодаря новому техпроцессу 40 нм удается значительно сократить динамические потери.

Чтобы не быть голословными, приведем конкретный пример. При выполнении кода из Flash при отключенной периферии, частоте 216 МГц и напряжении питания 3,3 В микроконтроллеры STM32F7 потребляют 190 мА. Если верить документации, при тех же условиях потребление для STM32H7 составляет всего 38…56 мА.

Таким образом, STM32H7 не только превосходят предшественников из STM32F7 по производительности и богатству периферии, но и имеют гораздо более низкий уровень потребления.

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

Номенклатура STM32H7 от ST Microelectronics: История только начинается

В настоящий момент STMicroelectronics предлагает только две линейки STM32H7: STM32H753 – с блоками криптографии и STM32H743 – без блоков криптографии. Еще две линейки – STM32H7x7 и STM32H7x5 – обещают выпустить в течение 2018 года.

Рис. 8. Модельный ряд микроконтроллеров семейства STM32H7

Рис. 8. Модельный ряд микроконтроллеров семейства STM32H7

Модельный ряд STM32H7 пока что объединяет 12 моделей с объемом Flash 2 Мбайт и различными корпусными исполнениями (рисунок 8, таблица 1). Еще шесть моделей с объемом Flash 1 Мбайт обещают представить в ближайшее время.

Таблица 1. Характеристики микроконтроллеров семейства STM32H7

Наименование Частота, МГц Flash, кбайт ОЗУ, кбайт АЦП 16 бит, каналов ЦАП 12 бит, каналов Ком-пара-торы Линии I/O TFT-LCD-контроллер ОУ Crypto-HASH Uпит,В Tраб,°C Корпус
STM32H743BI 400 2048 1024 20 2 2 168 LCD TFT 1024×728 2 1,7…3,6 -40…85 LQFP 208
STM32H743II 140 LQFP 176
STM32H743AI 131 UFBGA 169L
STM32H743VI 82 LQFP 100
STM32H743XI 168 TFBGA 240+25L
STM32H743ZI 114 LQFP 144
STM32H753AI 131 UFBGA 169L
STM32H753BI 168 AES, DES/TDES, HMAC, MD5, SHA LQFP 208
STM32H753II 140 AES, DES/TDES, HMAC, MD5, SHA BGA 176, LQFP 176
STM32H753VI 82 AES, DES/TDES, HMAC, MD5, SHA LQFP 100, TFBGA 100L
STM32H753XI 168 AES, DES/TDES, HMAC, MD5, SHA TFBGA 240+25L
STM32H753ZI 114 LQFP 144

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

  • приводы двигателей и системы управления;
  • промышленные пульты операторов, ПЛК и различные функциональные блоки ЧПУ;
  • медицинское оборудование, в том числе – с дисплеями;
  • офисная техника: принтеры, сканеры, МФУ;
  • системы безопасности, в том числе – с видеонаблюдением;
  • системы климат-контроля;
  • бытовая техника;
  • мобильные приложения и Интернет вещей;
  • портативная электроника, например, «умные часы» и так далее.

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

В помощь разработчику: ПО и отладочные средства для STM32H7 от STMicroelectronics

Компания STMicroelectronics пока не сообщала о намерении выпустить оценочную плату для STM32H7 в уже полюбившимся разработчикам формате Discovery, однако не менее популярный продукт – плата Nucleo – уже доступна.

Плата NUCLEO-H743ZI построена на базе микроконтроллеров STM32H743ZIT6 (рисунок 9). Она может использоваться с многочисленными модулями расширения, произведенными STMicroelectronics.

Рис. 9. Платы NUCLEO-H743ZI на базе микроконтроллеров STM32H743ZIT6

Рис. 9. Платы NUCLEO-H743ZI на базе микроконтроллеров STM32H743ZIT6

Для более плотного знакомства и освоения STM32H7 предлагаются отладочные платы STM32H753I-EVAL на базе STM32H753XIH6 и STM32H743I-EVAL на базе STM32H743XIH6 (рисунок 10). Кроме непосредственно микроконтроллера на платах расположены следующие компоненты:

Рис. 10. Отладочная плата STM32H743I-EVAL на базе STM32H743XIH6

Рис. 10. Отладочная плата STM32H743I-EVAL на базе STM32H743XIH6

  • цветной TFT-дисплей 5,7” с разрешением 640×480 мм и сенсорным краном;
  • 8 Гбайт SDIO3.0;
  • microSD™;
  • 8Mx32 бит SDRAM, 1Mx16 бит SRAM и 8Mx16 бит NOR Flash;
  • 1 Гбит Quad-SPI NOR Flash
  • Ethernet RJ45;
  • 3xUSB OTG HS и FS;
  • RS-232 (разъемDB-9);
  • FD-CAN (9 разъемDB);
  • аудиоразъем для наушников и микрофона;
  • два аудиоразъема для динамиков;
  • потенциометр;
  • цифровоймикрофон;
  • 4 светодиода;
  • джойстик (4 положения);
  • кнопки сброса, пробуждения и пользовательская клавиша;
  • разъемы питания;
  • отладчик ST-LINK/V2-1.

Для STM32H7 традиционно предлагается набор сопутствующего бесплатного ПО:

  • STM32CubeH7 – библиотеки, описывающие аппаратный уровень Hardware Abstraction Layer (HAL), примеры, шаблоны, а также компоненты более высокого уровня абстракции (например, реализации USB, TCP/IP, RTOS так далее).
  • STM32CubeMX – бесплатный конфигуратор и кодогенератор. Он позволяет создать файлы инициализации микроконтроллера с помощью простого графического интерфейса. Инструмент имеет возможность настройки системы тактирования, портов ввода-вывода с учетом используемой периферии и так далее.

STM32H7 имеет поддержку различных интегрированных сред разработки — как коммерческих (IAR Embedded Workbench, Keil MDK-ARM, ARM® mbed™ online), так и бесплатных, построенных на базе GCC-компилятора (SW4STM32, Atollic TrueSTUDIO, CooCox CoIDE).

Заключение

Новое флагманское семейство STM32H7 является самым мощным среди всех семейств STM32 и без особых усилий бьет рекорды, установленные предыдущим лидером STM32F7.

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

Такой значительный скачок вперед для STM32H7 стал возможен благодаря двум основным причинам: переходу на новую технологию производства 40 нм и реализации революционной для STM32 доменной шинной архитектуры, в которой основную роль играет высокопроизводительная 64-битная шина AXIM, в то время как раньше основной шиной для всех микроконтроллеров STM32 была 32-битная AHB.

Литература

  1. STM32H7, the Most Powerful Cortex-M7 MCU, Breaks the 2000-point Threshold in CoreMark;
  2. Вячеслав Гавриков. STM32F7: новый флагман – новые горизонты. НЭ, 2016, №2;
  3. Reference manual. STM32H7x3 advanced ARM®-based 32-bit MCUs. ST Microelectronics, 2017;
  4. st.com.
О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство ...читать далее

Наличие на складах
Наименование Наличие Цена
STM32H743ZIT6 (ST) 1 114 13.39 $ 772.23 руб. от 38 шт
STM32H753IIT6 (ST) 653 13.78 $ 794.14 руб. от 37 шт
STM32H743I-EVAL (ST) 20 607.28 $ 35010 руб. от 1 шт
STM32H743BIT6 (ST) 654 13.78 $ 794.14 руб. от 37 шт
STM32H743XIH6 (ST) 718 14.72 $ 848.90 руб. от 34 шт
STM32H743VIT6 (ST) 720 23.85 $ 1375 руб. от 90 шт
STM32H743IIK6 (ST) 719 25.68 $ 1480 руб. от 168 шт
STM32H743IIT6 (ST) 640 25.11 $ 1448 руб. от 40 шт
STM32H753BIT6 (ST) 612 26.64 $ 1536 руб. от 36 шт
STM32H753IIK6 (ST) 336 26.79 $ 1545 руб. от 168 шт
NUCLEO-H743ZI (ST) 206 36.84 $ 2124 руб. от 52 шт
STM32H753I-EVAL (ST) 0