Die STM32G4-Serie wurde im Juni 2019 als Upgrade der F3-Serie eingeführt und bietet verbesserte Leistung und Analog-Digital-Funktionen. Sie zeichnet sich durch Verbesserungen in Bezug auf Leistung, Peripheriegeräte und Sicherheit aus.
Über STM32G4
Der Hochleistungs-Mikrocontroller STM32G4 ist eine einzigartige Entwicklung der nächsten Generation von ST und zeichnet sich durch eine herausragende Leistung aus, die sich für Anwendungen wie Motorsteuerung, Industrieausrüstung, digitale Stromversorgung, High-End-Steuerung und vieles mehr eignet. Er verfügt über einen 170-MHz-Cortex-M4-Kern mit integrierter Gleitkommaeinheit, Single-Instruction-Multiply-Accumulate-Einheit, Cordic (hardwarebasierte trigonometrische Funktionsberechnung), Hochgeschwindigkeitskomparatoren, Hochgeschwindigkeitsoperationsverstärkern, Hochgeschwindigkeits-ADCs, Hochgeschwindigkeits-DACs, CAN-FD-Unterstützung, Online-Upgrade-Fähigkeit, AES- und Informationssicherheitsunterstützung, integriertes USB Typ C PD3.0 und kombiniert hohe Leistung mit geringem Stromverbrauch.
Architektur des STM32G4
Die neue Architektur des STM32G4 basiert auf der allgemeinen DNA des STM32F3, verfügt jedoch über innovative und optimierte Funktionen, um den spezifischen Anforderungen verschiedener Märkte gerecht zu werden. So verbessert beispielsweise die Integration eines mathematischen Beschleunigers die Leistung in FOC-Anwendungen (Field-Oriented Control) zur Motorsteuerung erheblich. CAN FD unterstützt in hohem Maße digitale Stromversorgungsanwendungen in industriellen Umgebungen. Durch die Integration von mehr analogen und digitalen Komponenten auf dem Chip kann der STM32G4 dichtere, leistungsstärkere Stromversorgungen für Serverzentren schaffen und kostengünstige Verbraucherprodukte bedienen, die digitale Stromversorgungslösungen erfordern. Der STM32G4 ebnet auch den Weg für zukünftige Designs, wie beispielsweise den Aufstieg von Siliziumkarbid- (SiC) oder Galliumnitrid- (GaN) Bauelementen im Automobilbereich, die präzisere Timer erfordern, um höhere Schaltfrequenzen zu bewältigen. Mit seinen 12-Kanal-Timern mit hoher Auflösung kann der STM32G4 Designs mit solchen Komponenten vorantreiben und so die Entwicklung modernster Elektronikprodukte ermöglichen.
Spezifikationen des STM32G4
Die STM32G431x6/x8/xB-Bausteine basieren auf dem leistungsstarken 32-Bit-RISC-Kern Arm® Cortex®-M4, der mit Frequenzen von bis zu 170 MHz arbeitet. Der Cortex-M4-Kern umfasst eine Gleitkommaeinheit (FPU) mit einfacher Genauigkeit und unterstützt alle Arm-Befehle und Datentypen für die Datenverarbeitung mit einfacher Genauigkeit.
Diese Bausteine bieten zwei schnelle 12-Bit-ADCs (5 MSPS), vier Komparatoren, drei Operationsverstärker, vier DAC-Kanäle (zwei externe und zwei interne), einen internen Spannungsreferenzpuffer, eine RTC mit geringem Stromverbrauch, einen universellen 32-Bit-Timer, zwei 16-Bit-PWM-Timer für die Motorsteuerung, sieben universelle 16-Bit-Timer und einen 16-Bit-Timer mit geringem Stromverbrauch.

Der STM32G4-Mikrocontroller im LQFP64-Gehäuse (Arm® Cortex®-M4 mit 170 MHz) umfasst:
- STM32G431RBT6: 128 KB Flash und 32 KB SRAM;
- STM32G491RET6: 512 KB Flash und 96 KB SRAM;
- STM32G474RET6: 512 KB Flash und 128 KB SRAM;
- Vollständig kompatibel mit STM32G473RET6 (512 KB Flash und 128 KB SRAM).
- 1 Benutzer-LED;
- 1 Benutzer-Taste und 1 Reset-Taste;
- 32,768-kHz-LSE-Quarzoszillator;
- 24 MHz HSE-Oszillator;
- Leiterplattenanschlüsse:
- USB mit Micro AB;
- MIPI®-Debugging-Anschluss;
- ARDUINO® Uno V3-Erweiterungsanschluss;
- ST-Morpho-Erweiterungsstiftleiste für vollständigen Zugriff auf alle STM32G4-I/Os;
- Flexible Stromversorgungsoptionen: ST-LINK, USB VBUS oder externe Stromversorgung;
- STLINK-V3E Debugger/Programmiergerät mit USB-Re-Enumeration-Funktion: großer Speicher, virtueller COM-Port und Debug-Port;
- Das STM32CubeG4 MCU-Softwarepaket bietet eine umfassende kostenlose Softwarebibliothek und Beispiele;
- Unterstützung für verschiedene integrierte Entwicklungsumgebungen (IDEs), darunter MDK-ARM und STM32CubeIDE.
Doppelte Flash-Speicherbänke und sicherer Speicherbereich
Ein wesentliches Merkmal der STM32G47x-MCU sind zwei Flash-Speicherbänke. Im Wesentlichen unterteilt die MCU den Flash-Speicher in zwei physische Speicherbereiche mit Lese-/Schreibzugriff (RWW). Dies ermöglicht das Herunterladen, Installieren und Ausführen neuer Firmware ohne jegliche Beeinträchtigung. Das System arbeitet mit einer Speicherbank, während die andere die neue Firmware empfängt. Anschließend kann das System die Speicherbänke austauschen und nahtlos zum Ausführen des neuen Codes übergehen. Entwickler können den Download-Vorgang auch mit neuen Sicherheitsfunktionen des STM32G4 schützen, beispielsweise mit sicheren Speicherbereichen. In diesen sicheren Speicherbereichen können Schlüssel oder Teile des Codes für Software-Routinen gespeichert und nach einem Reset nur einmal ausgeführt werden, sodass sie danach für den Benutzercode unsichtbar sind.
Ein hochauflösender Timer und drei fortschrittliche Motorsteuerungs-Timer
Die STM32G4-Serie ist die erste, die Timer mit einer Auflösung von weniger als 200 Pikosekunden in die ST-MCU-Architektur integriert. Ein bemerkenswerter Vorteil ist, dass der G4 hochpräzise Stromversorgungen in LLC-Resonanz-Topologien ansteuern kann. Mit sieben verfügbaren Zeitbasen können Entwickler diese für eine extrem feine Modulation kombinieren, und der Timer bietet außerdem eine hochflexible Pulsweitenmodulation (PWM). Der hochauflösende Timer ist mit Ereignisbehandlungsroutinen ausgestattet, die es Ingenieuren erleichtern, Timer zu konfigurieren und aufzurufen oder sie zur Erzeugung von Interrupts zu verwenden.
Merkmale des STM32G4
Robuste Leistung
Der STM32G4 basiert auf dem Arm® Cortex®-M4-Kern und unterstützt den FPU- und DSP-Befehlssatz mit einer Kernfrequenz von bis zu 170 MHz. Dies ist eine deutliche Verbesserung gegenüber der Kernfrequenz von 72 MHz der Serien STM32F3 und STM32F1. Darüber hinaus verfügt der STM32G4 über drei Hardware-Beschleuniger: ART-Beschleuniger (dynamischer Cache), CCM-SRAM (statischer Cache) und einen mathematischen Berechnungsbeschleuniger.
In Bezug auf den Rechendurchsatz ist der STM32G4 mit der STM32F4-Serie vergleichbar. Als Mitglied der „Mixed-Signal”-Mikrocontroller-Familie bietet der STM32G4 neuartige und optimierte Funktionen für digitale und analoge Anwendungen. Sein Cortex-M4-Kern arbeitet mit einer maximalen Frequenz von 170 MHz, 213 DMIPS und einem CoreMark-Wert von bis zu 550. Die Produktarchitektur umfasst zahlreiche Optimierungen, um den Komfort und die Entwicklungsmöglichkeiten während des Designprozesses zu verbessern.

Umfangreiche integrierte Analog-Digital-Peripheriegeräte
Eines der herausragenden Merkmale des STM32G4 ist seine umfangreiche Auswahl an integrierten analogen Peripheriegeräten, darunter ADCs, DACs, Operationsverstärker und Komparatoren. Die STM32G4-Serie bietet in ihrer höchsten MCU-Konfiguration bis zu 25 analoge Peripheriegeräte.
Optimierte Funktionen
Zusätzlich zu seinen zahlreichen analogen Peripheriegeräten integriert der STM32G4 auch optimierte Funktionen für die Signalverarbeitung. So verfügen beispielsweise die Analog-Digital-Wandler über eine Hardware-basierte Verstärkungs- und Offset-Kompensation, wodurch die CPU-Auslastung reduziert und die Leistung verbessert wird. Ebenso kann das System automatisch und kontinuierlich bis zu acht Mal Hardware-Ausnahmen verarbeiten. Wenn das System Signale außerhalb seines Watchdog-Fensters abtastet, wird in der Regel eine Routine entwickelt, um das Signal erneut abzutasten und zu beurteilen, ob es sich um einen Fehler oder ein systemisches Problem handelt. Aufgrund der hohen Hardware-Integration im STM32G4 können Entwickler Ausnahmeereignisse effizienter verwalten.
Geringer Stromverbrauch
Wenn eine universelle MCU mit geringen Leistungsanforderungen konfrontiert ist, reduzieren die dynamischen Energieeffizienzmodi des STM32G4 den Stromverbrauch um mehr als das Doppelte im Vergleich zu konkurrierenden DSPs mit ähnlicher Leistung.
On-Chip-Systemintegration
Mit kleineren Gehäusen und weniger externen Komponenten integriert der STM32G4 alle analogen Funktionen auf dem Chip, wodurch die Größe der Leiterplatte und die Kosten für die Stückliste (BOM) reduziert werden.
Neue mathematische Beschleuniger
Der STM32G4 ist der erste STM32 mit zwei mathematischen Beschleunigern: einem für trigonometrische Berechnungen (Coordinate Rotation Digital Computer oder CORDIC) und einem für digitale Filterfunktionen (Filter Mathematical Accelerator oder FMAC). CORDIC ist besonders vorteilhaft für Vektoroperationen, die häufig in der feldorientierten Regelung (FOC) der Motorsteuerung verwendet werden. Es bietet auch Hardwarebeschleunigung für trigonometrische Funktionen, die häufig in der Motorsteuerung, Messtechnik, Signalverarbeitung und anderen Anwendungen vorkommen. FMAC hingegen kann zur Erzeugung von Dreipol-Dreipunkt-Kompensatoren (3p3z) (digitale Leistung), Sigma-Delta-Modulatoren und Rauschformern in der Signalverarbeitung verwendet werden. Außerdem unterstützt er die Implementierung von zwei primären digitalen Filtern in der Signalverarbeitung: Filter mit endlicher Impulsantwort (FIR) und Filter mit unendlicher Impulsantwort (IIR).
Neue mathematische Beschleuniger
Der STM32G4 ist der erste STM32 mit zwei mathematischen Beschleunigern: einem für trigonometrische Berechnungen (Coordinate Rotation Digital Computer oder CORDIC) und einem für digitale Filterfunktionen (Filter Mathematical Accelerator oder FMAC). CORDIC ist besonders vorteilhaft für Vektoroperationen, die häufig in der feldorientierten Regelung (FOC) der Motorsteuerung verwendet werden. Es bietet auch Hardwarebeschleunigung für trigonometrische Funktionen, die häufig in der Motorsteuerung, Messtechnik, Signalverarbeitung und anderen Anwendungen vorkommen. FMAC hingegen kann zur Erzeugung von Dreipol-Dreipunkt-Kompensatoren (3p3z) (digitale Leistung), Sigma-Delta-Modulatoren und Rauschformern in der Signalverarbeitung verwendet werden. Außerdem unterstützt er die Implementierung von zwei primären digitalen Filtern in der Signalverarbeitung: Finite Impulse Response (FIR)- und Infinite Impulse Response (IIR)-Filter.
Anwendungen von STM32G4
Der STM32G4 basiert auf der Arm Cortex-M4-Architektur und ist für gängige MCU-Anwendungen konzipiert. Er wurde in erster Linie für die Motorsteuerung, Industrieanlagen, Messgeräte, High-End-Consumer-Anwendungen und digitale Stromversorgung entwickelt und bietet eine Kombination aus digitaler und analoger Signalverarbeitung, um den Anforderungen der Anwender gerecht zu werden. Zu den Zielmärkten gehört die digitale Energieumwandlung, darunter kabelloses Laden, Telekommunikationsstromversorgung, Motorantriebe, LED-Steuerung, Schweißmaschinen, industrielle Anwendungen, USV-Systeme, Leistungsfaktorkorrektur, Server, Rechenzentren, Photovoltaik-Wechselrichter und vieles mehr.

Zweige von STM32G4

STM32G4x1 und STM32G4x3 sind auf allgemeine Anwendungen und Motorsteuerungsanwendungen ausgerichtet.
STM32G4x1 ist die Basisserie mit einer Einstiegskonfiguration aus analogen Peripheriegeräten und einer einzigen Flash-Speicherbank. Die unterstützten Flash-Speichergrößen reichen von 32 KB bis 512 KB.
STM32G4x3 ist die erweiterte Serie, die im Vergleich zu den Basisgeräten mehr analoge Peripheriegeräte sowie zwei Flash-Speicherbänke bietet. Auch die Flash-Speichergrößen wurden auf 128 KB bis 512 KB erhöht, wodurch sich diese Serie für anspruchsvollere Anwendungen eignet.
STM32G4x4 zielt auf bestimmte Märkte wie digitale Energieversorgung ab und ist die hochauflösende Serie. Zusätzlich zu den umfangreichen analogen Peripheriegeräten und Speicherressourcen, die in der erweiterten Serie verfügbar sind, umfasst die STM32G4x4-Serie auch hochauflösende Timer, einen komplexen Wellenformgenerator und einen Ereignis-Handler, wodurch sie sich besonders für digitale Energieversorgungsanwendungen wie digitale Schaltnetzteile, Beleuchtung, Schweißen, Solarenergie und drahtloses Laden eignet.
STM32G4-Entwicklungsumgebung
Der STM32G4 baut weiterhin auf dem STM32- und ARM Cortex-M4-Ökosystem auf und bietet Hardware-Ressourcen wie:
- NUCLEO-Entwicklungsboards für STM32G4-MCU-Unterstützung.
- Voll ausgestattete Evaluierungsboards: STM32G474E-EVAL und STM32G484E-EVAL mit integrierter Verschlüsselung und Beschleunigungsmessern.
- Entwicklungswerkzeuge für die Motorsteuerung aus einer Hand: Nucleo-Entwicklungsboard speziell für die Motorsteuerung (P-NUCLEO-IHM03).
- Discovery-Kits: B-G474E-DPOW1*, B-G431B-ESC1*.
Mit diesen Tools und Ressourcen können Entwickler Anwendungen mit der STM32G4-Mikrocontroller-Familie effizient erforschen und entwickeln.

Zu den STM32G4-Softwaretools gehören: STM32CubeMX, IDEs für Kompilierung und Debugging sowie STM32-Programmierwerkzeuge.

STM32G4-Entwicklungsboard-Projekt – LED zum Leuchten bringen
Das STM32G431-Entwicklungsboard verfügt über eine Benutzertaste und eine LED-Leuchte. Gemäß dem Schaltplan ist LD2 mit PA5 verbunden. Wenn Sie die LED zum Leuchten bringen möchten, sollte PA5 auf hohem Pegel sein. Die Benutzertaste B1 ist mit PC13 verbunden und hat beim Drücken einen hohen Pegel.

MCU-Selektor
Das in diesem Beispiel verwendete Chipmodell ist: STM32G431RBT6; 128 KB Flash und 32 KB SRAM, mit einer Betriebsfrequenz von bis zu 170 MHz.

Uhrkonfiguration


GPIO-Pin-Konfiguration


Projektleiter


Konfiguration der LED- und Tasten-Pins

Tastenfunktion
/*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;
}
Hauptfunktion:
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);
}
}




