Серия STM32G4 была представлена в июне 2019 года как обновление серии F3, предлагая улучшенную производительность и аналого-цифровые возможности. Она отличается улучшенными характеристиками в плане производительности, периферийных устройств и безопасности.
О STM32G4
Высокопроизводительный микроконтроллер STM32G4 — это уникальное творение ST нового поколения, отличающееся выдающейся производительностью, подходящей для таких применений, как управление двигателями, промышленное оборудование, цифровое питание, высокопроизводительное управление и многое другое. Он оснащен ядром Cortex-M4 с тактовой частотой 170 МГц со встроенным блоком с плавающей запятой, блоком умножения-аккумуляции с одной инструкцией, Cordic (аппаратное вычисление тригонометрических функций), высокоскоростными компараторами, высокоскоростными операционными усилителями, высокоскоростными АЦП, высокоскоростными ЦАП, поддержкой CAN FD, возможностью онлайн-обновления, поддержкой AES и информационной безопасности, встроенным USB Type-C PD3.0 и сочетает в себе высокую производительность с низким энергопотреблением.
Архитектура STM32G4
Новая архитектура STM32G4 основана на общей ДНК STM32F3, но включает в себя инновационные и оптимизированные функции для удовлетворения специфических потребностей различных рынков. Например, включение математического ускорителя значительно повышает производительность в приложениях FOC (Field-Oriented Control) для управления двигателями. CAN FD в значительной степени поддерживает цифровые энергетические приложения в промышленных условиях. Благодаря интеграции большего количества аналоговых и цифровых компонентов на кристалле, STM32G4 может создавать более плотные и мощные источники питания для серверных центров и удовлетворять потребности экономичных потребительских продуктов, требующих цифровых энергетических решений. STM32G4 также прокладывает путь для будущих разработок, таких как рост популярности устройств на основе карбида кремния (SiC) или нитрида галлия (GaN) в автомобильном секторе, которые требуют более точных таймеров для работы с более высокими частотами переключения. Благодаря 12-канальным таймерам высокого разрешения STM32G4 может управлять конструкциями, включающими такие компоненты, что позволяет разрабатывать передовые электронные продукты.
Технические характеристики STM32G4
Устройства STM32G431x6/x8/xB основаны на высокопроизводительном 32-разрядном RISC-ядре Arm® Cortex®-M4, работающем на частоте до 170 МГц. Ядро Cortex-M4 включает в себя блок с плавающей запятой одинарной точности (FPU) и поддерживает все инструкции и типы данных Arm одинарной точности.
Эти устройства оснащены двумя быстрыми 12-разрядными АЦП (5 МГц), четыре компаратора, три операционных усилителя, четыре канала ЦАП (два внешних и два внутренних), внутренний буфер опорного напряжения, RTC с низким энергопотреблением, универсальный 32-разрядный таймер, два 16-разрядных таймера ШИМ, предназначенных для управления двигателем, семь универсальных 16-разрядных таймеров и 16-разрядный таймер с низким энергопотреблением.

Микроконтроллер STM32G4 в корпусе LQFP64 (Arm® Cortex®-M4 с тактовой частотой 170 МГц) включает:
- STM32G431RBT6: 128 КБ флэш-памяти и 32 КБ SRAM;
- STM32G491RET6: 512 КБ Flash и 96 КБ SRAM;
- STM32G474RET6: 512 КБ Flash и 128 КБ SRAM;
- Полная совместимость с STM32G473RET6 (512 КБ Flash и 128 КБ SRAM).
- 1 светодиод пользователя;
- 1 пользовательская кнопка и 1 кнопка сброса;
- Кварцевый генератор LSE 32,768 кГц;
- Генератор HSE 24 МГц;
- Разъемы печатной платы:
- USB с Micro AB;
- разъем отладки MIPI®;
- разъем расширения ARDUINO® Uno V3;
- Разъем расширения ST morpho для полного доступа ко всем входам/выходам STM32G4;
- Гибкие варианты питания: ST-LINK, USB VBUS или внешнее питание;
- Отладчик/программатор STLINK-V3E с функцией повторной пересборки USB: большой объем памяти, виртуальный COM-порт и отладочный порт;
- Пакет программного обеспечения STM32CubeG4 MCU предоставляет обширную бесплатную библиотеку программного обеспечения и примеры;
- Поддержка различных интегрированных сред разработки (IDE), включая MDK-ARM и STM32CubeIDE.
Двойные банки флэш-памяти и защищенная область хранения
Важной особенностью микроконтроллера STM32G47x является наличие двух банков флэш-памяти. По сути, микроконтроллер делит флэш-память на две физические области хранения с возможностью чтения и записи (RWW). Это позволяет загружать, устанавливать и запускать новое прошивка без каких-либо помех. Система работает на одном банке памяти, а другой принимает новую прошивку. Затем система может поменять банки памяти и плавно перейти к запуску нового кода. Разработчики также могут защитить процесс загрузки с помощью новых функций безопасности, доступных в STM32G4, таких как защищенные области хранения. В этих защищенных областях хранения можно хранить ключи или части кода для программных подпрограмм и запускать их только один раз после сброса, после чего они становятся невидимыми для пользовательского кода.
Таймер высокого разрешения и три усовершенствованных таймера управления двигателем
Серия STM32G4 — первая серия микроконтроллеров ST, в которой используются таймеры с разрешением менее 200 пикосекунд. Одним из заметных преимуществ является то, что G4 может управлять высокоточными источниками питания в резонансных топологиях LLC. Имея в распоряжении семь временных баз, разработчики могут комбинировать их для чрезвычайно точной модуляции, а таймер также обеспечивает высокогибкую широтно-импульсную модуляцию (PWM). Таймер с высоким разрешением оснащен обработчиками событий, что упрощает инженерам настройку и вызов таймеров или их использование для генерации прерываний.
Особенности STM32G4
Надежная работа
STM32G4, основанный на ядре Arm® Cortex®-M4, поддерживает набор инструкций FPU и DSP с частотой ядра до 170 МГц. Это значительное улучшение по сравнению с частотой ядра 72 МГц в сериях STM32F3 и STM32F1. Кроме того, STM32G4 оснащен тремя аппаратными ускорителями: ускорителем ART (динамический кэш), CCM-SRAM (статический кэш) и ускорителем математических вычислений.
С точки зрения вычислительной производительности STM32G4 сопоставим с серией STM32F4. Как представитель области микроконтроллеров «смешанного сигнала», STM32G4 предоставляет новые и оптимизированные функции как для цифровых, так и для аналоговых приложений. Его ядро Cortex-M4 работает на максимальной частоте 170 МГц, с 213 DMIPS и результатом CoreMark до 550. Архитектура продукта включает в себя множество оптимизационных улучшений, повышающих удобство и возможности разработки в процессе проектирования.

Богатый набор встроенных аналого-цифровых периферийных устройств
Одной из отличительных особенностей STM32G4 является богатый набор встроенных аналоговых периферийных устройств, включая АЦП, ЦАП, операционные усилители и компараторы. Серия STM32G4 предлагает до 25 аналоговых периферийных устройств в своей максимальной конфигурации MCU.
Оптимизированные функции
В дополнение к обильным аналоговым периферийным устройствам, STM32G4 также интегрирует оптимизированные функции для обработки сигналов. Например, аналого-цифровые преобразователи включают в себя аппаратную компенсацию усиления и смещения, что снижает нагрузку на ЦП и повышает производительность. Аналогичным образом, система может автоматически и непрерывно обрабатывать аппаратные исключения до восьми раз. Когда система отбирает сигналы за пределами окна сторожевого таймера, обычно разрабатывается процедура повторной выборки сигнала для оценки, является ли это неисправностью или системной проблемой. Благодаря высокому уровню аппаратной интеграции в STM32G4 разработчики могут более эффективно управлять исключительными событиями.
Низкое энергопотребление
Когда универсальный микроконтроллер сталкивается с низкими требованиями к энергопотреблению, динамические режимы энергоэффективности STM32G4 снижают энергопотребление более чем в два раза по сравнению с конкурентными DSP с аналогичной производительностью.
Интеграция систем на кристалле
Благодаря меньшим размерам корпуса и меньшему количеству внешних компонентов, STM32G4 объединяет все аналоговые функции в одном чипе, что позволяет уменьшить размер печатной платы и сократить расходы на комплектующие (BOM).
Новые математические ускорители
STM32G4 — первая серия микроконтроллеров STM32, оснащенная двумя математическими ускорителями: одним для тригонометрических вычислений (цифровой компьютер для поворота координат, CORDIC) и другим для цифровых функций фильтрации (математический ускоритель фильтрации, FMAC). CORDIC особенно полезен для векторных операций, которые часто используются в полевом управлении двигателем (FOC). Он также обеспечивает аппаратное ускорение тригонометрических функций, часто встречающихся в управлении двигателем, метрологии, обработке сигналов и других приложениях. С другой стороны, FMAC может использоваться для генерации трехполюсных трехнулевых (3p3z) компенсаторов (цифровая мощность), сигма-дельта-модуляторов и формирователей шума в обработке сигналов. Он также поддерживает реализацию двух основных цифровых фильтров в обработке сигналов: фильтров с конечным импульсным откликом (FIR) и фильтров с бесконечным импульсным откликом (IIR).
Новые математические ускорители
STM32G4 — первая серия микроконтроллеров STM32, оснащенная двумя математическими ускорителями: одним для тригонометрических вычислений (цифровой компьютер для поворота координат, CORDIC) и другим для цифровых функций фильтрации (математический ускоритель фильтрации, FMAC). CORDIC особенно полезен для векторных операций, которые часто используются в полевом управлении двигателем (FOC). Он также обеспечивает аппаратное ускорение тригонометрических функций, часто встречающихся в управлении двигателем, метрологии, обработке сигналов и других приложениях. С другой стороны, FMAC может использоваться для генерации трехполюсных трехнулевых (3p3z) компенсаторов (цифровая мощность), сигма-дельта-модуляторов и формирователей шума в обработке сигналов. Он также поддерживает реализацию двух основных цифровых фильтров в обработке сигналов: фильтров с конечным импульсным откликом (FIR) и фильтров с бесконечным импульсным откликом (IIR).
Применение STM32G4
STM32G4, как продукт на базе архитектуры Arm Cortex-M4, предназначен для основных применений микроконтроллеров. Он в первую очередь разработан для управления двигателями, промышленного оборудования, измерительных приборов, высокотехнологичных потребительских приложений и цифрового питания, предлагая сочетание цифровой и аналоговой обработки сигналов для удовлетворения потребностей пользователей. Целевые рынки включают цифровое преобразование энергии, в том числе беспроводную зарядку, телекоммуникационное питание, приводы двигателей, управление светодиодами, сварочные аппараты, промышленные приложения, системы бесперебойного питания, коррекцию коэффициента мощности, серверы, центры обработки данных, фотоэлектрические инверторы и многое другое.

Ветви STM32G4

STM32G4x1 и STM32G4x3 предназначены для общего применения и управления двигателями.
STM32G4x1 — это базовая серия с начальной конфигурацией аналоговых периферийных устройств и одним банком флэш-памяти. Поддерживаемый объем флэш-памяти составляет от 32 КБ до 512 КБ.
STM32G4x3 — это усовершенствованная серия, предлагающая больше аналоговых периферийных устройств по сравнению с базовыми устройствами, а также два банков флэш-памяти. Размеры флэш-памяти также увеличены и варьируются от 128 КБ до 512 КБ, что делает ее подходящей для более сложных приложений.
STM32G4x4 ориентирована на конкретные рынки, такие как цифровое энергоснабжение, и представляет собой серию с высоким разрешением. В дополнение к богатому набору аналоговых периферийных устройств и ресурсов памяти, доступных в усовершенствованной серии, серия STM32G4x4 также включает таймеры с высоким разрешением, сложный генератор сигналов и обработчик событий, что делает ее особенно подходящей для цифровых энергетических приложений, таких как цифровые импульсные источники питания, освещение, сварка, солнечная энергия и беспроводная зарядка.
Экосистема разработки STM32G4
STM32G4 продолжает развивать экосистему STM32 и ARM Cortex-M4, предлагая такие аппаратные ресурсы, как:
- платы разработки NUCLEO для поддержки микроконтроллеров STM32G4.
- Полнофункциональные оценочные платы: STM32G474E-EVAL и STM32G484E-EVAL с встроенным шифрованием и акселерометрами.
- Комплексные инструменты для разработки систем управления двигателями: специальная плата разработчика Nucleo для управления двигателями (P-NUCLEO-IHM03).
- Наборы для изучения: B-G474E-DPOW1*, B-G431B-ESC1*.
Эти инструменты и ресурсы позволяют разработчикам эффективно исследовать и разрабатывать приложения с использованием семейства микроконтроллеров STM32G4.

Программные инструменты STM32G4 включают: STM32CubeMX, IDE для компиляции и отладки, а также инструменты программирования STM32.

Проект разработки платы STM32G4 — подсветка светодиодом
Плата разработчика STM32G431 имеет пользовательскую кнопку и светодиод. Согласно схеме, LD2 подключен к PA5. Чтобы светодиод загорелся, PA5 должен быть в высоком состоянии. Пользовательская кнопка B1 подключена к PC13 и находится в высоком состоянии, когда нажата.

Селектор MCU
В данном примере используется микросхема STM32G431RBT6 с 128 КБ флэш-памяти и 32 КБ SRAM, рабочая частота до 170 МГц.

Настройка часов


Конфигурация выводов GPIO


Руководитель проекта


Конфигурация светодиодных и кнопочных контактов

Функция кнопки
/*Get key value*/
uint8_t Get_KeyVal(void)
{
uint8_t static stat=0;
if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==1 && stat==0)//Determine whether the button is pressed
{
HAL_Delay(20);//Delay debounce
stat=1;
if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin))return 1;
}
else if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==0)
{
stat=0;
}
return 0;
}
Основная функция:
uint8_t key;
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
key=Get_KeyVal();
if(key)
{
HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
}
}




