STM32G4 – новый флагман микроконтроллеров общего назначения
9 июня 2020
Вячеслав Гавриков (Смоленск)
Микроконтроллеры общего назначения STM32G4 производства компании STMicroelectronics отличаются богатым набором аналоговой периферии и высокой производительностью, что делает их привлекательными для широкого спектра приложений со смешанными сигналами.
Прошло уже 8 лет с тех пор, как компания STMicroelectronics выпустила на рынок STM32F3 – первое в мире семейство микроконтроллеров со смешанными сигналами на базе процессорного ядра Cortex-M4. Эти микроконтроллеры имеют в своем составе внушительный набор аналоговой периферии: 12-битные АЦП, 12-битные ЦАП, операционные усилители с программируемым коэффициентом усиления, компараторы. Кроме того, STM32F3 способны эффективно выполнять цифровую обработку сигналов благодаря поддержке DSP-команд и операций с числами с плавающей запятой. Богатый выбор цифровой и аналоговой периферии, поддержка цифровой обработки сигналов, невысокая стоимость и развитая экосистема (в том числе широкий выбор аппаратных и программных средств разработки и отладки) делают микроконтроллеры STM32F3 хорошим выбором для систем со смешанными сигналами. Среди основных приложений для STM32F3 можно отметить бытовую и промышленную автоматику, приводы электродвигателей, источники питания, измерительные приборы, системы освещения так далее.
Однако с момента выпуска STM32F3 произошли серьезные изменения как в технике, так и в технологиях. В настоящее время компания ST выпускает различные семейства STM32, у каждого из которых есть своя специализация (рисунок 1). При создании каждого нового семейства используются самые удачные решения из предыдущих семейств, а также осваиваются новые техпроцессы. На момент выхода STM32F3 основным являлся техпроцесс с топологическими нормами 180 нм, и лишь для семейств STM32L использовался техпроцесс 90 нм. Сейчас базовым стал техпроцесс 90 нм, а в топовых линейках и вовсе применяется техпроцесс 40 нм (STM32H7). Очевидно, что переход на более совершенный техпроцесс позволяет повысить уровень интеграции, расширить функционал микроконтроллеров и вместе с этим уменьшить потребление.

Рис. 1. Семейства микроконтроллеров STM32
В результате мы видим ситуацию, при которой компания ST, продолжая поставлять микроконтроллеры устаревающих семейств, чтобы поддержать производство уже существующих продуктов, актуализирует свое портфолио и выпускает обновленные семейства, чтобы идти в ногу со временем и отвечать требованиям рынка. В январе 2020 компания ST продлила гарантию выпуска микроконтроллеров STM32F3 еще на 10 лет [1] и параллельно начала выпуск нового, более совершенного семейства микроконтроллеров со смешанными сигналами – STM32G4.
Перед вами краткий обзор номенклатуры и основных особенностей семейства STM32G4. Основное внимание уделяется аналоговой периферии, так как именно эти блоки определяют специализацию данного семейства.
Основные особенности семейства STM32G4
В настоящий момент в семейство STM32G4 входят три линейки:
- STM32G4x1 Access line – начальная линейка с базовым набором периферии;
- STM32G4x3 Performance line – линейка с расширенным набором аналоговой и цифровой периферии;
- STM32G4x4 Hi-resolution line – линейка с расширенным набором периферии и таймером повышенного разрешения HRTIM.
Кратко рассмотрим особенности каждой из них.
STM32G4x1 Access line
На рисунке 2 представлена блок-схема микроконтроллеров линейки STM32G4x1 Access line.

Рис. 2. Блок-схема STM32G4x1 Access line
Все микроконтроллеры STM32G4 построены на базе процессорного ядра Cortex-M4 с максимальной рабочей частотой 170 МГц и производительностью до 213 DMIPS и 550 CoreMark. Это более чем в два раза выше, чем у STM32F3 (90 DMIPS и 245 CoreMark соответственно). С одной стороны, прирост производительности достигается за счет увеличения тактовой частоты, что в свою очередь стало возможным благодаря переходу на новый техпроцесс 90 нм. С другой стороны, пропорциональное увеличение производительности при выполнении кода из Flash обеспечивается встроенным аппаратным ускорителем ART.
Как известно, Flash-память является относительно медленной. Для того чтобы согласовать быстродействующий процессор и медленную память на высоких частотах, приходится использовать циклы ожидания, из-за чего фактическая производительность микроконтроллера не может увеличиваться пропорционально частоте. Именно эту проблему решает аппаратный ускоритель ART. Ускоритель заранее вычитывает данные и команды из Flash, используя собственную кэш-память. Если в кэш-памяти укорителя есть необходимые данные, то процессору не требуется выполнять циклы ожидания и терять время впустую.
На рисунке 3 представлен график зависимости производительности STM32G4 от частоты процессора. Если аппаратный ускоритель не используется (серая линия на рисунке 3), то на частоте 170 МГц потребуется 8 циклов ожидания, а производительность составит менее 170 CoreMark. Однако если ART-ускоритель используется, то даже на частоте 170 МГц процессор работает с нулевым числом циклов ожидания (синяя линия на рисунке 3), что и обеспечивает практически пропорциональную зависимость между частотой и производительностью (при выполнении линейного кода).

Рис. 3. Зависимости производительности STM32G4 от частоты
Стоит отметить, что существует и альтернативный способ поддержания производительности на повышенных частотах за счет выполнения программы из ОЗУ (SRAM). В случае с STM32G4 такое решение обеспечит стабильную производительность около 2,4 CoreMark/МГц (черная линия на рисунке 3). При выполнении кода из SRAM пиковая производительность 3,2 CoreMark/МГц принципиально не может быть достигнута, так как процессорному ядру приходится параллельно вычитывать данные и команды из одного источника (SRAM). Для приложений реального времени решить проблему можно с помощью специального ОЗУ – CCM-SRAM (Core-Coupled Memory). Обычно код программы размещают в CCM-SRAM, а данные размещают в обычной SRAM, что позволяет ядру не терять времени и параллельно использовать интерфейс данных (D-bus) и интерфейс команд (I-bus). В STM32G4, как и в STM32F3, есть встроенная CCM-SRAM. При исполнении кода из CCM-SRAM производительность оказывается максимальной (красная линия на рисунке 3).
Заканчивая разговор о производительности, стоит отметить, что высокая эффективность вычислений STM32G4 обеспечивается за счет аппаратных математических сопроцессоров CORDIC и FMAC, о которых будет рассказано в одном из следующих разделов.
В случае с STM32G4x1 Access line объем Flash достигает 128 кбайт (1 банк), объем CCM-SRAM составляет 10 кбайт, а суммарный объем SRAM (обычная SRAM + CCM-SRAM) – 32 кбайт. В ближайшем будущем STMicroelectronics планирует начать выпуск моделей с 512 кбайт Flash и 112 кбайт SRAM.
Состав системной периферии микроконтроллеров STM32G4 можно считать стандартным для современных семейств STM32: встроенный супервизор питания с функциями POR/PD/RBOR/PVD, встроенные RC-резонаторы LSI 32 кГц (точность 5%) и HSI 16 МГц (точность 1%), ФАПЧ (PLL), система сброса и тактирования RCC с возможностью индивидуальной настройки тактирования периферии, часы реального времени RTC, системный 24-битный вычитающий таймер SysTick, пара сторожевых таймеров (оконный WWDG и независимый IWDG), блок расчета контрольной суммы CRC. Кроме того, стоит отметить возможность дежурного питания микроконтроллера от батарейки (VBAT).
Микроконтроллеры STM32G4x1 Access line получили богатый набор таймеров, в том числе сразу два таймера с комплементарными выходами для управления трехфазными электродвигателями или трехфазными импульсными преобразователями. Кроме того, у STM32G4x1 есть набор привычных 32-битных и 16-битных таймеров общего назначения и базовых таймеров, а также 16-битный таймер для режимов пониженного потребления LPTIM.
Интерфейсная часть периферии STM32G4x1 Access line выбиралась, исходя из требований современного рынка. Кроме обязательных последовательных интерфейсов SPI/I2C/USART/SAI, микроконтроллеры имеют на борту FDCAN, USB FS и USB Type-C™/UCPD.
Главной ударной силой линейки STM32G4x1 Access line является мощный набор аналоговой периферии:
- два 12-битных АЦП последовательного приближения с числом каналов, достигающим 23, скоростью преобразования до 4 MSPS и возможностью увеличения разрешения до 16 бит за счет аппаратной передискретизации;
- четыре 12-битных ЦАП: два с внешними выходами (и выходным буфером) с быстродействием до 1 MSPS и два без внешних выходов с быстродействием 15 MSPS;
- четыре быстродействующих аналоговых rail-to-rail-компаратора;
- три операционных усилителя с программируемым коэффициентом усиления;
- источник опорного напряжения VREFBUF с тремя выходными напряжениями 2,048/2,5/2,95 В.
Более подробное рассмотрение аналоговых блоков – в одном из следующих разделов.
STM32G4x3 Performance line
Линейка STM32G4x3 отличается от базовой линейки семейства STM32G4x1 объемом встроенной памяти, составом и количеством периферийных блоков. На рисунке 4 представлена блок-схема микроконтроллеров STM32G4x3. Оранжевым цветом выделены отличия от STM32G4x1 Access line.

Рис. 4. Блок-схема микроконтроллеров STM32G4x3 Performance line и их отличие от STM32G4x1 Access line
Среди важных отличий стоит отметить появление интерфейсов для подключения внешней памяти – FSMC и QuadSPI. Это полезно для приложений, в которых не хватает встроенной памяти микроконтроллера. При этом объемы встроенной памяти также выросли до 512 кбайт FLash и до 128 кбайт SRAM (в том числе 32 кбайт CCM-SRAM).
Количественные изменения коснулись числа коммуникационных интерфейсов, таймеров и аналоговых блоков. В составе STM32G4x3 Performance line присутствуют до трех модулей FDCAN, до трех таймеров с трехфазными комплементарными выходами, до 5 АЦП, до 7 ЦАП, до 7 компараторов, до 6 ОУ.
STM32G4x4 Hi-resolution line
Данная линейка отличается от микроконтроллеров STM32G4x3 наличием таймера с повышенным разрешением HRTIM, о котором будет сказано далее (рисунок 5).

Рис. 5. Блок-схема микроконтроллеров STM32G4x4 Hi-resolution line и их отличие от STM32G4x3 Performance line
Для наглядности и удобства в таблице 1 представлены ключевые различия между линейками семейства STM32G4.
Таблица 1. Ключевые различия между линейками семейства STM32G4
Параметр | STM32G474 Hi-Resolution line |
STM32G473 Performance line |
STM32G431 Access line |
---|---|---|---|
Процессорное ядро, рабочая частота, МГц | Arm Cortex-M4, 170 | ||
Flash макс., кбайт | 512 (2×256 dual bank) | 128 (single bank) | |
RAM макс., кбайт | 96 | 22 | |
CCM – SRAM (code-SRAM), кбайт | 32 | 10 | |
12-битный АЦП (SAR) | до 5 (4 MSPS) | до 2 (4 MSPS) | |
Компараторы | 7 | 4 | |
ОУ с программируемым коэффициентом усиления (точность 1%) | 6 | 3 | |
12-битный ЦАП | 7 | 4 | |
Таймер для управления двигателем (170 МГц) | 3 | 2 | |
CAN-FD | 3 | 1 | |
FSMC | 1 | 1 | – |
12-канальный таймер повышенного разрешения (Hi-resolution Timer) | 1 | – | – |
Питание, В | 1,72…3,6 |
Обзор номенклатуры семейства STM32G4
В настоящий момент компания ST предлагает более полусотни моделей STM32G4 с различными характеристиками (таблица 2):
- с объемом Flash 32…512 кбайт;
- с объемом SRAM 32 или 128 кбайт;
- с различными корпусными исполнениями;
- с диапазоном рабочих температур -40…85°С или -40…125°С.
Таблица 2. Номенклатура микроконтроллеров STM32G4
Наименование | Статус | Корпус | Flash, кбайт | Dual-bank Flash | RAM, кбайт | АЦП/каналов | ЦАП 12 бит | COMP | CAN FD type | ОУ | Crypto-HASH | Траб, °C |
---|---|---|---|---|---|---|---|---|---|---|---|---|
STM32G431C6 | Активный | LQFP 48, UFQFPN 48 | 32 | – | 32 | 2/17 | 2 | 4 | 1 | 3 | – | -40…85 |
STM32G431C8 | Активный | LQFP 48, UFQFPN 48 | 64 | – | 32 | 2/17, 18 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G431CB | Активный | LQFP 48, UFQFPN 48, WLCSP 49 | 128 | – | 32 | 2/17, 18 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G431K6 | Активный | LQFP 32, UFQFPN 32 | 32 | – | 32 | 2/11 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G431K8 | Активный | LQFP 32, UFQFPN 32 | 64 | – | 32 | 2/11 | 2 | 4 | 1 | 3 | – | -40…85 |
STM32G431KB | Активный | LQFP 32, UFQFPN 32 | 128 | – | 32 | 2/11 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G431M6* | В разработке | LQFP 80 | 32 | – | 32 | 2/– | – | – | – | – | – | -40…85 |
STM32G431M8* | В разработке | LQFP 80 | 64 | – | 32 | 2/– | – | – | – | – | – | -40…85 |
STM32G431MB* | В разработке | LQFP 80 | 128 | – | 32 | 2/– | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G431R6 | Активный | LQFP 64, UFBGA 64L | 32 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85 |
STM32G431R8 | Активный | LQFP 64, UFBGA 64L | 64 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85 |
STM32G431RB | Активный | LQFP 64, UFBGA 64L | 128 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G431V6 | Активный | LQFP 100 | 32 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85 |
STM32G431V8 | Активный | LQFP 100 | 64 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85 |
STM32G431VB | Активный | LQFP 100 | 128 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G441CB | Активный | LQFP 48, UFQFPN 48, WLCSP 49 | 128 | – | 32 | 2/17,18 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G441KB | Активный | LQFP 32, UFQFPN 32 | 128 | – | 32 | 2/11 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G441MB* | В разработке | LQFP 80 | 128 | – | 32 | 2/– | – | – | – | – | AES | -40…85 |
STM32G441RB | Активный | LQFP 64, UFBGA 64L | 128 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G441VB | Активный | LQFP 100 | 128 | – | 32 | 2/23 | 2 | 4 | 1 | 3 | – | -40…85/125 |
STM32G473CB | Активный | LQFP 48, UFQFPN 48 | 128 | + | 128 | 5/21 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G473CC | Активный | LQFP 48, UFQFPN 48 | 256 | + | 128 | 5/21 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G473CE | Активный | LQFP 48, UFQFPN 48 | 512 | + | 128 | 5/20,21 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G473MB* | В разработке | LQFP 80 | 128 | + | 128 | 5/– | – | – | – | – | – | -40…85 |
STM32G473MC* | В разработке | LQFP 80 | 256 | + | 128 | 5/– | – | – | – | – | – | -40…85/125 |
STM32G473ME | Активный | LQFP 80, WLCSP 81L | 512 | + | 128 | 5/– | – | – | – | – | – | -40…85 |
STM32G473QB | Активный | LQFP 128 | 128 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G473QC | Активный | LQFP 128 | 256 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G473QE | Активный | LQFP 128 | 512 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G473RB | Активный | LQFP 64 | 128 | + | 128 | 5/26 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G473RC | Активный | LQFP 64 | 256 | + | 128 | 5/26 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G473RE | Активный | LQFP 64 | 512 | + | 128 | 5/26 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G473VB | Активный | LQFP 100, TFBGA 100L | 128 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G473VC | Активный | LQFP 100, TFBGA 100L | 256 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G473VE | Активный | LQFP 100, TFBGA 100L | 512 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474CB | Активный | LQFP 48, UFQFPN 48 | 128 | + | 128 | 5/12 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474CC | Активный | UFQFPN 48 7x7x0.55 | 256 | + | 128 | 5/21 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474CE | Активный | LQFP 48, UFQFPN 48 | 512 | + | 128 | 5/20, 21 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474MB* | В разработке | LQFP 80 | 128 | + | 128 | 5/– | – | – | – | – | – | -40…85 |
STM32G474MC* | В разработке | LQFP 80 | 256 | + | 128 | 5/– | – | – | – | – | – | -40…85 |
STM32G474ME | Активный | LQFP 80, WLCSP 81L | 512 | + | 128 | 5/– | – | – | – | – | – | -40…85/125 |
STM32G474QB | Активный | LQFP 128 | 128 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G474QC | Активный | LQFP 128 | 256 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G474QE | Активный | LQFP 128 | 512 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G474RB | Активный | LQFP 64 | 128 | + | 128 | 5/26 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474RC | Активный | LQFP 64 | 256 | + | 128 | 5/26 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474RE | Активный | LQFP 64 | 512 | + | 128 | 5/26 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474VB | Активный | LQFP 100 | 128 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G474VC | Активный | LQFP 100 | 256 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85 |
STM32G474VE | Активный | LQFP 100, TFBGA 100L | 512 | + | 128 | 5/42 | 3 | 7 | 3 | 6 | – | -40…85/125 |
STM32G483CE | Активный | LQFP 48, UFQFPN 48 | 512 | – | 128 | 5/20, 21 | 3 | 7 | 3 | 6 | AES | -40…85/125 |
STM32G483ME | Активный | LQFP 80, WLCSP 81L | 512 | – | 128 | 5/– | – | – | – | – | AES | -40…85 |
STM32G483QE | Активный | LQFP 128 | 512 | – | 128 | 5/42 | 3 | 7 | 3 | 6 | AES | -40…85 |
STM32G483RE | Активный | LQFP 64 | 512 | – | 128 | 5/26 | 3 | 7 | 3 | 6 | AES | -40…85/125 |
STM32G483VE | Активный | LQFP 100 | 512 | – | 128 | 5/42 | 3 | 7 | 3 | 6 | AES | -40…85/125 |
STM32G484CE | Активный | LQFP 48, UFQFPN 48 | 512 | – | 128 | 5/20, 21 | 3 | 7 | 3 | 6 | AES | -40…85/125 |
STM32G484ME | Активный | LQFP 80, WLCSP 81L | 512 | – | 128 | 5/– | – | – | – | – | AES | -40…85 |
STM32G484QE | Активный | LQFP 128 | 512 | – | 128 | 5/42 | 3 | 7 | 3 | 6 | AES | -40…85/125 |
STM32G484RE | Активный | LQFP 64 | 512 | – | 128 | 5/26 | 3 | 7 | 3 | 6 | AES | -40…85/125 |
STM32G484VE | Активный | LQFP 100, TFBGA 100L | 512 | – | 128 | 5/42 | 3 | 7 | 3 | 6 | AES | -40…85/125 |
* – В настоящий момент компания ST анонсировала выпуск данных моделей STM32G4. ** – Все микроконтроллеры поддерживают USB Device, USB Type-C, STM32G473RE поддерживает только USB Device. |
На рисунке 6 представлены существующие модели микроконтроллеров и дорожная карта развития семейства в 2020 году.

Рис. 6. Номенклатура существующих и анонсированных моделей микроконтроллеров STM32G4
Далее рассмотрим основные особенности аналоговой и новой цифровой периферии семейства STM32G4.
Обзор аналоговой периферии микроконтроллеров STM32G4
Главное преимущество микроконтроллеров со смешанными сигналами, в том числе STM32G4, заключается в том, что разработчик может с их помощью заменить множество отдельных микросхем (ЦАП, АЦП, ОУ, компараторы, ИОН и прочих). Чем меньше микросхем, тем ниже стоимость изделия, меньше габариты печатной платы, проще трассировка, ниже потребление. Разумеется, все это справедливо только в тех случаях, когда характеристики встроенных аналоговых периферийных блоков оказываются приемлемыми.
АЦП
Микроконтроллеры STM32G4 могут иметь до пяти аналогово-цифровых преобразователей последовательного приближения (SAR) с числом входных каналов до 42. Разрядность АЦП составляет 12 бит, однако с помощью встроенного блока передискретизации разрешение может быть увеличено до 16 бит.
АЦП способны работать со внешними и внутренними сигналами (датчик температуры, опорное напряжение VREF, напряжение питания VDDA, выходы ОУ).
Встроенные АЦП STM32G4 поддерживают традиционные режимы работы: режим с одиночным преобразованием, режимы с циклическим или однократным измерением выбранных каналов, а также режим с измерением инжектированных каналов.
Скорость преобразования АЦП зависит от частоты тактирования, длительности стадии выборки и разрядности. При использовании разрядности 12 бит максимальная частота измерений составляет 4 MSPS. В режиме Dual mode два АЦП поочередно измеряют напряжение на одном канале, что позволяет увеличить скорость работы до 7,5 MSPS.
Стоит отметить, что АЦП позволяет автоматически выполнять сдвиг результата измерения и корректировку смещения.
Основные метрологические характеристики встроенных АЦП представлены в таблице 3.
Таблица 3. Основные характеристики встроенных АЦП
Параметр | Значение |
---|---|
Количество АЦП | до 5 |
Тип АЦП | Последовательного приближения |
Число каналов | до 42 |
Разрешение | 12/10/8/6 |
Разрешение с аппаратной передискретизацией | 16 |
Максимальное быстродействие | 4 MSPS |
Программный сдвиг | До 8 бит |
Компенсация усиления | Есть |
Компенсация смещения | Есть |
Диапазон измеряемых напряжений | 0…VDDA (3,6 В) |
Максимальное входное сопротивление источника сигнала, кОм | 50 |
Встроенный конденсатор схемы выборки хранения, тип., пФ | 5 |
Время подготовки к измерениям | 1 цикл |
Время калибровки, тип., мкс | 1,93 |
Время преобразования 12-бит (с учетом выборки), мкс | 0,256…10,883 |
Потребление от VDDA, макс., мкА | 730 мкА |
ЦАП
Микроконтроллеры STM32G4 могут иметь до 7 ЦАП. Существуют два вида встроенных ЦАП:
- полноценные 12-битные ЦАП с выходным буфером и частотой преобразования до 1 MSPS;
- 12-битные ЦАП без внешних выходов и с частотой преобразования до 15 MSPS.
Если первый тип ЦАП можно считать классическим, то второй выполняет служебные функции и используется, например, для задания пороговых напряжений срабатывания встроенных аналоговых компараторов.
ЦАП способны выступать в качестве генераторов шума и треугольных импульсов.
При необходимости выходы ЦАП можно синхронизировать для работы в режиме Dual mode.
Основные метрологические и прочие характеристики встроенных ЦАП представлены в таблице 4.
Таблица 4. Основные характеристики встроенных ЦАП
Параметр | Значение |
---|---|
Количество ЦАП | до 7 |
Разрешение | 12 или 8 |
Быстродействие выходных каналов | 1 MSPS |
Быстродействие внутренних каналов | 15 MSPS |
Выходное напряжение с активным буфером | 0…Vref — 0,2 В |
Выходное напряжение без буфера | 0…Vref |
Выходной импеданс АЦП (без буфера), кОм | 9,6…13,8 |
Типовое сопротивление нагрузки (при активном буфере), кОм | до 25 |
Коэффициент подавления нестабильности по питанию PSRR, дБ | -80 (тип) |
Потребление от VDDA, макс., мкА | 670 |
DNL | ±2 LSB |
INL | ±2 LSB |
Гарантированная монотонность, бит | 10 |
Смещение при коде 0x800 | ±12 LSB (3,6 В) |
Смещение при коде 0x800 | ±5 LSB (3,6 В) |
SNR, дБ | 71,2 (нагрузка >5 кОм) |
THD, дБ | -78 (нагрузка >5 кОм) |
ОУ
У микроконтроллеров STM32G4 может быть до шести встроенных rail-to-rail-операционных усилителей с программируемым коэффициентом усиления 2, 4, 8, 16, -1, -3, -7, -15 (1%) 32, 64, -31, -63 (2%).
ОУ могут использоваться самостоятельно или в связке с другими аналоговыми блоками (АЦП и ЦАП).
Основные метрологические и прочие характеристики встроенных ОУ представлены в таблице 5.
Таблица 5. Основные характеристики встроенных ОУ
Параметр | Значение |
---|---|
Количество ОУ | До 6 |
Диапазон входных напряжений | 0…VDDA (3,6 В) |
Программируемое усиление | 2…64 (неинвертирующее), -1…63 (инвертирующее) |
Максимальное входное начальное смещение, мВ | ±1,5 |
Максимальное входное смещение, мВ | ±3 |
Температурный дрейф входного смещения, мкВ/°С | ±10 |
Выходной ток (без PGA), мкА | 500 |
Выходной ток (c PGA), мкА | 270 |
Емкостная нагрузка, пФ | 50 |
CMRR, дБ | 60 |
PSRR, дБ | 80 |
GBW, МГц | 13 |
AO, дБ | 95 |
Компараторы
В составе микроконтроллеров STM32G4 может быть до 7 встроенных компараторов. Компараторы используются для сравнения пары внешних сигналов или для сравнения внешнего сигнала со внутренним опорным сигналом VREF и его производными (1/2 VREF, 1/4 VREF 3/4 VREF). В качестве опорного сигнала также могут выступать сигналы с ЦАП.
Гистерезис компараторов устанавливается программно в диапазоне 0…63 мВ.
Характеристики встроенных компараторов приведены в таблице 6.
Таблица 6. Основные характеристики встроенных компараторов
Параметр | Значение |
---|---|
Количество компараторов | До 7 |
Диапазон входных напряжений | 0…VDDA (3,6 В) |
Программируемый гистерезис, мВ | 0/9/18/27/36/45/54/63 |
Обзор математических ускорителей
Процессорное ядро Cortex-M4F имеет встроенный блок операций с числами с плавающей запятой (FPU) и поддерживает DSP-инструкции. Это позволяет микроконтроллерам выполнять цифровую обработку сигналов. Кроме того, для достижения максимальной производительности на высоких частотах в микроконтроллерах STM32G4 используется ускоритель ART и память CCM-SRAM. Однако и это еще не все.
Для повышения эффективности цифровой обработки сигналов пользователям предлагаются два математических ускорителя: CORDIC и FMAC. Эти вычислительные блоки способны разгрузить основной процессор и обеспечить быструю обработку данных в реальном времени.
CORDIC представляет собой аппаратный вычислительный блок, позволяющий рассчитывать наиболее востребованные в ЦОС-функции (таблица 7). Функции имеют один или два аргумента. Расчет ведется в формате чисел с фиксированной точкой q1.31 или q1.15.
Таблица 7. Функции, поддерживаемые CORDIC
Функция | Первый аргумент (ARG1) | Второй аргумент (ARG2) | Основной результат (RES1) | Дополнительный результат (RES2) |
---|---|---|---|---|
Косинус | угол θ | модуль m | m × cos θ | m × sin θ |
Синус | угол θ | модуль m | m × sin θ | m × cos θ |
Фаза | x | y | atan2(y, x) | √x2+ y2 |
Модуль | x | y | √x2+y2 | atan2(y,x) |
Арктангенс | x | – | tan-1 x | – |
Гиперболический косинус | x | – | cosh x | sinh x |
Гиперболический синус | x | – | sinh x | cosh x |
Гиперболический арктангенс | x | – | tanh-1 x | – |
Натуральный логарифм | x | – | ln x | – |
Квадратный корень | x | – | √x | – |
Важным аспектом при выполнении ЦОС является точность вычислений. В случае с CORDIC точность зависит от числа выполняемых итераций и типа рассчитываемой функции. За один такт CORDIC выполняет 4 итерации. Для получения максимальной точности при извлечении квадратного корня требуется 3 такта, а для остальных функций – 6 тактов.
FMAC (Filter Math Accelerator) является математическим ускорителем, позволяющим выполнять математические операции с массивами чисел. В составе FMAC есть аппаратный умножитель 16х16, 24-битный аккумулятор (сложение и вычитание), собственная память 256х16 бит. Кроме того, в памяти могут быть определены буферы (два входных и один выходной).
С помощью FMAC можно реализовать КИХ- и БИХ-фильтры, а также выполнять операции свертки и корреляции.
Таким образом, у микроконтроллеров STM32G4 есть все необходимые инструменты не только для сбора аналоговых данных, но и для их дальнейшей обработки в режиме реального времени.
Обзор встроенных таймеров
Ранее уже отмечалось, что представители семейства STM32G4 обладают богатым выбором таймеров (таблица 8). Это имеет большое значение для систем со смешанными сигналами, так как именно с помощью таймеров обычно реализуется управление электродвигателями и инверторами.
Таблица 8. Встроенные таймеры микроконтроллеров STM32G4
Тип таймера | Таймеры | Разрешение, бит | Счет | Делитель | DMA | Каналов | Комплементарные выходы |
---|---|---|---|---|---|---|---|
С повышенным разрешением | HRTIM | 16 | Вверх | 1/2/4 (x2, x4, x8, x16, x32, с DLL) | + | 12 | + |
С расширенными возможностями | TIM1, TIM8, TIM20 | 16 | Вверх, вниз, вверх/вниз | Любое целое число из ряда 1…65536 | + | 4 | 4 |
Общего назначения | TIM2, TIM5 | 32 | Вверх, вниз, вверх/вниз | Любое целое число из ряда 1…65536 | + | 4 | – |
Общего назначения | TIM3, TIM4 | 16 | Вверх, вниз, вверх/вниз | Любое целое число из ряда 1…65536 | + | 4 | – |
Общего назначения | TIM15 | 16 | Вверх | Любое целое число из ряда 1…65536 | + | 2 | 1 |
Общего назначения | TIM16, TIM17 | 16 | Вверх | Любое целое число из ряда 1…65536 | + | 1 | 1 |
Базовые | TIM6, TIM7 | 16 | Вверх | Любое целое число из ряда 1…65536 | + | 0 | – |
С точки зрения управления трехфазными импульсными схемами особое значение имеют таймеры с комплементарными выходами и возможностью формирования мертвого времени. У микроконтроллеров STM32G4 может быть до трех таймеров с расширенными возможностями: TIM1, TIM8, TIM20.
Для управления транзисторными полумостами также могут быть использованы таймеры TIM15, TIM16, TIM17. Они имеют по одной паре комплементарных выходов.
В составе STM32G4 есть 32-битные и 16-битные таймеры общего назначения с возможностью счета вверх и вниз, а также вверх/вниз. Этот функционал необходим для реализации инкрементальных датчиков положения и скорости вращения (энкодеров).
Для реализации внутренних алгоритмов могут использоваться базовые таймеры, у которых нет внешних выводов.
Отдельно стоит отметить таймер с повышенным разрешением HRTIM. HRTIM реализован только в микроконтроллерах старшей линейки STM32G4x4 Hi-resolution line. Он позволяет генерировать цифровые сигналы с прецизионными таймингами, что имеет большое значение для формирования сверхточных ШИМ-сигналов и сигналов с прецизионным фазовым сдвигом.
В составе HRTIM присутствуют сразу 7 таймеров: 1 ведущий и 6 ведомых. HRTIM имеет 12 выходных сигналов, которые могут работать попарно с генерацией мертвого времени. Также он имеет 6 входов для контроля аварийных сигналов и 10 входов для контроля внешних событий, например, для обнаружения точки пересечения нуля в преобразователях с ZVS.
Для тактирования HRTIM используется частота ядра 170 МГц. Период входного тактового сигнала дополнительно делится на 32 подпериода, что обеспечивает внутренний опорный сигнал 5,44 ГГц. Тактовый сигнал проходит цепи компенсации, которые обеспечивают разрешение на уровне 184 пс вне зависимости от температуры, напряжения питания и технологического разброса при производстве микроконтроллера.
Ведомые таймеры HRTIM способны работать независимо или согласованно, что позволяет управлять современными импульсными схемами: резонансными LLC-преобразователями, трехфазными инверторами и прочим.
Обзор коммуникационных интерфейсов
Микроконтроллеры STM32G4 предлагают богатый выбор коммуникационных интерфейсов.
Стандартные интерфейсы SPI/I2C обычно используются для связи с другими микросхемами, находящимися на той же плате, что и управляющий микроконтроллер.
Интерфейс USART необходим для работы с шинами RS-232, RS-422 и RS-485.
Идя в ногу со временем, компания STMicroelectronics оснастила микроконтроллеры STM32G4 интерфейсами FDCAN (до трех модулей), USB FS и USB Type-C™/UCPD.
В составе STM32G4 в дополнение к традиционному USB FS был добавлен UCPD. UCPD поддерживает спецификации USB Type-C Rev. 1.3, USB Power Delivery Rev. 2.0 и 3.0. USB Type-C является перспективным и универсальным разъемом, призванным заменить предыдущие версии разъемов USB. USB Power Delivery позволяет обеспечивать питание подключаемых устройств с мощностью потребления до 100 Вт.
Блоки FDCAN значительно отличаются по своим возможностям от блоков bxCAN, которые реализованы в других семействах STM32 общего назначения. Главным преимуществом FDCAN является максимальная скорость передачи до 8 Мбит/с, увеличенная за счет расширенного и настраиваемого поля данных.
Наличие FDCAN имеет огромное значение для приложений автоматики, так как в последнее время CAN получает все большее распространение благодаря своей простоте, надежности и умеренной стоимости.
Дополнительным бонусом для аудиоприложений является интерфейс SAI.
Функции безопасности STM32G4
В STM32G4 реализованы различные блоки, так или иначе отвечающие за функции безопасности:
- блок защиты памяти MPU;
- блок расчета контрольной суммы CRC;
- блок шифрования AES (у моделей STM32G48x);
- генератор случайных чисел RNG;
- блок защиты от взлома TAMP.
Микроконтроллеры STM32G4 предлагают широкий выбор механизмов для защиты встроенной памяти:
- RDP (Readout Protection) – защита Flash, OTP, SRAM от чтения в процессе выполнения программы. Защита от чтения распространяется на всю память;
- PCROP (Proprietary Code Protection) – защита выбранных участков Выбранные участки определяются как код «только для исполнения». PCROP позволяет защитить не всю Flash, а только ее часть;
- WRP (Write Protection) – защита памяти от записи и стирания.
Также стоит отметить функцию обнаружения ошибок ECC (Error Code Correction), позволяющую обнаруживать и исправлять одиночные битовые ошибки во Flash. CCM-SRAM также имеет механизм контроля четности.
STMicroelectronics уделяет большое внимание безопасности данных при прошивке микроконтроллеров в процессе производства и при обновлении ПО в полевых условиях. Для обеспечения безопасности предлагаются следующие решения:
- SFI (Secure internal firmware install) – технология, позволяющая выполнять безопасное программирование у непроверенного производителя за счет кодирования всей прошивки с помощью ключа AES-GCM [5].
- SFU (Secure Firmware Upgrade) – технология, которая позволяет выполнить безопасное обновление ПО в полевых условиях [6].
Потребление
Компании ST удалось достичь низкого потребления микроконтроллеров STM32G4 благодаря ряду технологических и структурных решений, таких как переход на техпроцесс 90 нм, реализация широкого выбора режимов пониженного потребления, реализация гибкой системы тактирования, добавление малопотребляющей периферии (LPTIM), возможность дежурного питания от батарейки.
Для питания цифровой и аналоговой периферии во всех режимах, за исключением Standby и VBAT, микроконтроллеры STM32G4 используют два встроенных регулятора: основной MR (Main Regulator) и малопотребляющий LPR (Low-Power Regulator).
Основной регулятор имеет два режима работы: Range 1 и Range 2. В высокопроизводительном режиме Range 1 выходное напряжение регулятора составляет 1,2 В (Main regulator range 1 normal mode) или 1,28 В (Main regulator range 1 boost mode), а тактовая частота ядра может достигать 150 и 170 МГц соответственно. В энергосберегающем режиме Range 2 выходное напряжение регулятора составляет 1,0 В, тактовая частота ограничена 26 МГц, запрещены запись и стирание Flash.
В спящих режимах для дополнительной экономии энергии питание производится от LPR. В режиме VBAT питание Backup-домена выполняется от внешней батарейки 1,55…3,6 В.
В таблице 9 представлены особенности режимов пониженного потребления STM32G4.
Таблица 9. Особенности режимов пониженного потребления STM32G4 [4]
Режим | Регулятор | Ядро | Flash | SRAM | Тактирование | Периферия |
---|---|---|---|---|---|---|
Run | R1 | Да | ВКЛ* | ВКЛ | Любое | Вся |
R2 | Вся кроме USB, RNG | |||||
LPRun | LPR | Да | ВКЛ* | ВКЛ | Любое, кроме PLL | Вся кроме USB, RNG |
Sleep | R1 | – | ВКЛ* | ВКЛ** | Любое | Вся |
R2 | Вся кроме USB, RNG | |||||
LPSleep | LPR | – | ВКЛ* | ВКЛ** | Любое, кроме PLL | Вся кроме USB, RNG |
Stop 0 | MR | – | – | ВКЛ | LSE/LSI | Backup, CCS, BOR,PVD,PVM,RTC,LPUART,USART, I2C,DAC,VREFBUF,OPAMP,COMP,LPTIM1,IWDG,GPIO |
Stop 1 | LPR | – | – | ВКЛ | LSE/LSI | Backup, CCS, BOR,PVD,PVM,RTC,LPUART,USART, I2C,DAC,VREFBUF,OPAMP,COMP,LPTIM1,IWDG,GPIO |
Standby | LPR | – | – | SRAM2 ВКЛ | LSE/LSI | Backup, BOR,RTC,IWDG,GPIO (5 выводов) |
OFF | – | |||||
Shutdown | OFF | – | – | – | LSE | Backup,RTC,GPIO (5 выводов) |
VBAT | OFF | – | – | – | LSE | Backup, RTC |
* – Можно отключить питание и выключить тактирование. | ||||||
** – SRAM1, SRAM2 и CCM SRAM могут быть отключены по отдельности. |
Основные показатели потребления представлены на рисунке 7.

Рис. 7. Потребление STM32G4 в различных режимах
Обзор средств разработки и отладки
Экосистема всех микроконтроллеров STM32 объединяет сами микроконтроллеры, аппаратные и программные средства разработки и отладки, а также документацию. Семейство STM32G4 не является исключением.
Для создания программ для STM32G4 можно использовать бесплатную среду STM32CubeIDE, а также многочисленные библиотеки промежуточного уровня.
Кроме того, для работы с STM32G4 предлагаются различные отладочные платы (рисунок 8).

Рис. 8. Отладочные платы с STM32G4
NUCLEO-G431KB – отладочная плата семейства Nucleo-32 на базе микроконтроллера STM32G431KB. Плата имеет минимальный набор компонентов, но может использоваться для построения прототипов совместно с платами расширения Arduino Uno V3. NUCLEO-G431KB имеет традиционный отладчик ST-LINK V2-1, доступный через разъем USB Micro-B.
NUCLEO-G431RB – отладочная плата семейства Nucleo-64 на базе микроконтроллера STM32G431RB. Плата может работать с платами расширения Arduino Uno V3 и ST morpho. NUCLEO-G431RB имеет традиционный отладчик ST-LINK V2-1, доступный через разъем USB Micro-B.
NUCLEO-G474RE – отладочная плата семейства Nucleo-64 на базе микроконтроллера STM32G474RE. Плата может работать с платами расширения Arduino Uno V3 и ST morpho. NUCLEO-G474RE имеет традиционный отладчик ST-LINK V2-1, доступный через разъем USB Micro-B.
B-G474E-DPOW1 Discovery kit – отладочная плата, которая, в отличие от плат Nucleo, имеет на борту некоторый набор функциональных блоков, в том числе повышающе-понижающий DC/DC-преобразователь, усилитель мощности класса D, светодиоды, джойстик, разъемы USB Type-C™ и USB Micro-B, штыри для подключения палат расширения (2×32), встроенный программатор STLINK-V3E.
B-G431B-ESC1 Discovery kit – отладочный набор, который представляет собой ESC-контроллер (Electronic Speed Controller), предназначенный для управления трехфазным бесколлекторным двигателем с помощью FOC-алгоритма или традиционного шестиступенчатого алгоритма. Набор состоит из двух плат, соединенных перемычкой. На первой размещается микроконтроллер STM32G431CB, драйвер L6387, силовые транзисторы STL180N6F7, а на второй – программатор и потенциометр. При необходимости плата отладчика может быть отсоединена.
Набор является готовым решением для дронов с питанием от 6S LiPo-батарей и током двигателя до 40 А.
STM32G474E-EVAL – отладочная и демонстрационная плата, построенная на базе микроконтроллера STM32G474QET6U. С помощью этой платы можно оценить возможности практически всех встроенных периферийных блоков: АЦП, компараторов, ОУ, ЦАП. На плате размещены трансиверы и разъемы для последовательных интерфейсов RS-232, RS-485, USB Type C, CAN 2.0 A/B. Плата снабжена пользовательскими кнопками, светодиодами, потенциометрами, а также цветным TFT-дисплеем с разрешением 240х320 и SPI-интерфейсом.
STM32G484E-EVAL – полностью соответствует по своим возможностям плате STM32G474E-EVAL и, кроме того, поддерживает функции криптографии благодаря использованию микроконтроллера STM32G484QET6U.
Заключение
В январе 2020 года компания ST объявила о продлении десятилетней гарантии выпуска микроконтроллеров со смешанными сигналами семейства STM32F3. Однако за 8 лет, прошедших с момента появления STM32F3, требования рынка изменились, и эти микроконтроллеры не всегда способны отвечать запросам современных приложений. По этой причине STMicroelectronics начал выпуск нового семейства микроконтроллеров со смешанными сигналами семейства STM32G4.
Микроконтроллеры STM32G4 производятся по современному техпроцессу 90 нм, который позволяет увеличить степень интеграции, расширить перечень встроенной периферии, увеличить быстродействие и снизить потребление. По сравнению с другими семействами общего назначения, новое семейство STM32G4 обладает самым богатым набором встроенной аналоговой периферии.
Высокая производительность и развитая аналоговая периферия делают микроконтроллеры STM32G4 чрезвычайно привлекательными для приложений, связанных с обработкой аналоговых сигналов в реальном времени. В качестве целевых приложений STM32G4 можно выделить бытовую и промышленную автоматику, автоматику зданий, электроприводы, источники питания, многофазные импульсные инверторы, корректоры коэффициента мощности, измерительные приборы, системы освещения так далее.
Благодаря высокой производительности микроконтроллеры STM32G4 можно рассматривать даже в качестве альтернативы для старых высокопроизводительных семейств, например, для STM32F2 – в приложениях, где не требуется Ethernet.
Основные характеристики STM32G4
Литература
- ST Longevity Commitment.
- STM32G4 mainstream series mixed signal MCU.
- AN4296 Application note. Use STM32F3/STM32G4 CCM SRAM with IAR™ EWARM, Keil® MDK-ARM and GNU-based toolchains.
- Reference manual. STM32G4 Series advanced Arm®-based 32-bit MCUs.
- UM2238 User manual STM32 Trusted Package Creator tool software description.
- AN4023 Application note STM32 secure firmware upgrade (SFU) overview.
- st.com.
Наши информационные каналы