Microcontrollori ad alte prestazioni della serie STM32G4

La serie STM32G4 è stata introdotta nel giugno 2019 come un aggiornamento della serie F3, offrendo prestazioni e capacità analogico-digitali migliorate. Presenta miglioramenti in termini di prestazioni, periferiche e sicurezza.

Informazioni su STM32G4

Il microcontrollore ad alte prestazioni STM32G4 è una creazione unica di nuova generazione di ST, con prestazioni eccezionali adatte ad applicazioni come il controllo del motore, le apparecchiature industriali, l’alimentazione digitale, il controllo di fascia alta e altro ancora. Vanta un core Cortex-M4 da 170 MHz con unità a virgola mobile integrata, unità di moltiplicazione-accumulo a istruzione singola, Cordic (calcolo di funzioni trigonometriche basato su hardware), comparatori ad alta velocità, amplificatori operazionali ad alta velocità, ADC ad alta velocità, DAC ad alta velocità, supporto CAN FD, aggiornabilità online, supporto per la sicurezza AES e delle informazioni, USB Type-C PD3.0 integrato e combina alte prestazioni con caratteristiche di basso consumo energetico.

Architettura di STM32G4

La nuova architettura di STM32G4 deriva dal DNA generale di STM32F3 ma incorpora funzionalità innovative e ottimizzate per soddisfare le esigenze specifiche di vari mercati. Ad esempio, l’inclusione di un acceleratore matematico migliora significativamente le prestazioni nelle applicazioni di controllo vettoriale del motore (FOC). CAN FD supporta notevolmente le applicazioni di alimentazione digitale in ambienti industriali. Integrando più componenti analogici e digitali sul die, STM32G4 può creare alimentatori più densi e potenti per i data center e soddisfare prodotti di consumo convenienti che richiedono soluzioni di alimentazione digitale. STM32G4 apre anche la strada a progetti futuri, come l’ascesa dei dispositivi in carburo di silicio (SiC) o nitruro di gallio (GaN) nel settore automobilistico, che richiedono timer più precisi per adattarsi a frequenze di commutazione più elevate. Con i suoi timer ad alta risoluzione a 12 canali, STM32G4 può pilotare progetti che coinvolgono tali componenti, consentendo lo sviluppo di prodotti elettronici all’avanguardia.

Specifiche di STM32G4

I dispositivi STM32G431x6/x8/xB sono basati sul core RISC a 32 bit Arm® Cortex®-M4 ad alte prestazioni, che operano a frequenze fino a 170 MHz. Il core Cortex-M4 include un’unità a virgola mobile a precisione singola (FPU) e supporta tutte le istruzioni e i tipi di dati di elaborazione dei dati a precisione singola Arm.

Questi dispositivi forniscono due ADC veloci a 12 bit (5 MSPS), quattro comparatori, tre amplificatori operazionali, quattro canali DAC (due esterni e due interni), un buffer di riferimento di tensione interno, un RTC a basso consumo, un timer a 32 bit di uso generale, due timer PWM a 16 bit dedicati al controllo del motore, sette timer a 16 bit di uso generale e un timer a basso consumo a 16 bit.

en.obn stm32g4 series ss2024
(Credito immagine: ST)

Il microcontrollore STM32G4 nel package LQFP64 (Arm® Cortex®-M4 a 170 MHz) include:

  • STM32G431RBT6: 128 KB di Flash e 32 KB di SRAM;
  • STM32G491RET6: 512 KB di Flash e 96 KB di SRAM;
  • STM32G474RET6: 512 KB di Flash e 128 KB di SRAM;
  • Completamente compatibile con STM32G473RET6 (512 KB di Flash e 128 KB di SRAM).
  • 1 LED utente;
  • 1 pulsante utente e 1 pulsante di reset;
  • Oscillatore a cristallo LSE da 32,768 kHz;
  • Oscillatore HSE da 24 MHz;
  • Connettori della scheda di circuito:
  • USB con Micro AB;
  • Connettore di debug MIPI®;
  • Connettore di espansione ARDUINO® Uno V3;
  • Header pin di estensione ST morpho per l’accesso completo a tutti gli I/O STM32G4;
  • Opzioni di alimentazione flessibili: ST-LINK, USB VBUS o alimentazione esterna;
  • Debugger/programmatore STLINK-V3E con funzionalità di re-enumerazione USB: ampio spazio di archiviazione, porta COM virtuale e porta di debug;
  • Il pacchetto software STM32CubeG4 MCU fornisce una libreria software completa e gratuita ed esempi;
  • Supporto per vari ambienti di sviluppo integrati (IDE), tra cui MDK-ARM e STM32CubeIDE.

Doppie Banche di Memoria Flash e Area di Archiviazione Sicura

Una caratteristica essenziale del MCU STM32G47x è la presenza di doppie banche di memoria flash. In sostanza, il MCU divide la memoria flash in due aree di archiviazione fisiche con capacità di lettura-scrittura (RWW). Ciò consente di scaricare, installare ed eseguire nuovi firmware senza interferenze. Il sistema opera su una banca di memoria, mentre l’altra riceve il nuovo firmware. Il sistema può quindi scambiare le banche di memoria e passare senza problemi all’esecuzione del nuovo codice. Gli sviluppatori possono anche proteggere l’operazione di download utilizzando nuove funzionalità di sicurezza disponibili su STM32G4, come le aree di archiviazione sicura. Queste aree di archiviazione sicura possono memorizzare chiavi o parti di codice per routine software ed eseguirle solo una volta dopo un reset, rendendole invisibili al codice utente in seguito.

Un Timer ad Alta Risoluzione e Tre Timer Avanzati per il Controllo Motore

La serie STM32G4 è la prima a includere timer con risoluzioni inferiori a 200 picosecondi nell’architettura MCU ST. Un vantaggio notevole è che il G4 può pilotare alimentatori di alta precisione in topologie risonanti LLC. Con sette basi temporali disponibili, gli sviluppatori possono combinarle per una modulazione estremamente fine e il timer fornisce anche una modulazione di larghezza di impulso (PWM) altamente flessibile. Il timer ad alta risoluzione è dotato di gestori di eventi, rendendo più facile per gli ingegneri configurare e invocare i timer o utilizzarli per generare interruzioni.

Caratteristiche di STM32G4

Prestazioni Robuste

L’STM32G4, basato sul core Arm® Cortex®-M4, supporta il set di istruzioni FPU e DSP, con una frequenza del core fino a 170 MHz. Questo è un miglioramento significativo rispetto alla frequenza del core di 72 MHz delle serie STM32F3 e STM32F1. Inoltre, l’STM32G4 introduce tre acceleratori hardware: acceleratore ART (cache dinamica), CCM-SRAM (cache statica) e un acceleratore di calcolo matematico.

In termini di throughput computazionale, l’STM32G4 è paragonabile alla serie STM32F4. Come membro del dominio dei microcontroller “mixed-signal”, l’STM32G4 fornisce funzionalità nuove e ottimizzate sia per applicazioni digitali che analogiche. Il suo core Cortex-M4 opera a una frequenza massima di 170 MHz, con 213 DMIPS e un punteggio CoreMark fino a 550. L’architettura del prodotto incorpora numerosi miglioramenti di ottimizzazione per migliorare la comodità e le capacità di sviluppo durante il processo di progettazione.

STM32G4 Features
STM32G4 Features

Ricchi Periferici Analogico-Digitali Integrati

Una delle caratteristiche distintive dell’STM32G4 è il suo ricco set di periferiche analogiche integrate, tra cui ADC, DAC, amplificatori operazionali e comparatori. La serie STM32G4 offre fino a 25 periferiche analogiche nella configurazione MCU più elevata.

Funzioni ottimizzate

Oltre alle sue abbondanti periferiche analogiche, l’STM32G4 integra anche funzioni ottimizzate per l’elaborazione del segnale. Ad esempio, i convertitori analogico-digitali includono la compensazione del guadagno e dell’offset nell’hardware, riducendo il carico della CPU e migliorando le prestazioni. Allo stesso modo, il sistema può gestire automaticamente e continuamente le eccezioni hardware fino a otto volte. Quando il sistema campiona segnali al di fuori della finestra del watchdog, viene in genere progettata una routine per ricampionare il segnale per valutare se si tratta di un guasto o di un problema sistemico. Grazie all’elevato livello di integrazione hardware nell’STM32G4, gli sviluppatori possono gestire gli eventi eccezionali in modo più efficiente.

Basso consumo energetico

Quando un MCU universale deve affrontare requisiti di bassa potenza, le modalità di efficienza energetica dinamica dell’STM32G4 riducono il consumo energetico di più di due volte rispetto ai DSP competitivi con prestazioni simili.

Integrazione di sistema su chip

Con package più piccoli e meno componenti esterni, l’STM32G4 integra tutte le funzioni analogiche su chip, riducendo le dimensioni del PCB a livello di scheda e i costi del Bill of Materials (BOM).

Nuovi acceleratori matematici

L’STM32G4 è il primo STM32 a presentare due acceleratori matematici: uno per i calcoli trigonometrici (Coordinate Rotation Digital Computer o CORDIC) e un altro per le funzioni di filtraggio digitale (Filter Mathematical Accelerator o FMAC). CORDIC è particolarmente vantaggioso per le operazioni vettoriali, comunemente utilizzate nel controllo orientato al campo (FOC) dei motori. Fornisce inoltre l’accelerazione hardware per le funzioni trigonometriche frequentemente riscontrate nel controllo dei motori, nella metrologia, nell’elaborazione del segnale e in altre applicazioni. D’altra parte, FMAC può essere utilizzato per generare compensatori tre poli tre zeri (3p3z) (alimentazione digitale), modulatori Sigma-Delta e modellatori di rumore nell’elaborazione del segnale. Supporta inoltre l’implementazione di due filtri digitali primari nell’elaborazione del segnale: filtri a risposta finita all’impulso (FIR) e filtri a risposta infinita all’impulso (IIR).

Nuovi acceleratori matematici

L’STM32G4 è il primo STM32 a presentare due acceleratori matematici: uno per i calcoli trigonometrici (Coordinate Rotation Digital Computer o CORDIC) e un altro per le funzioni di filtraggio digitale (Filter Mathematical Accelerator o FMAC). CORDIC è particolarmente vantaggioso per le operazioni vettoriali, comunemente utilizzate nel controllo orientato al campo (FOC) dei motori. Fornisce inoltre l’accelerazione hardware per le funzioni trigonometriche frequentemente riscontrate nel controllo dei motori, nella metrologia, nell’elaborazione del segnale e in altre applicazioni. D’altra parte, FMAC può essere utilizzato per generare compensatori tre poli tre zeri (3p3z) (alimentazione digitale), modulatori Sigma-Delta e modellatori di rumore nell’elaborazione del segnale. Supporta inoltre l’implementazione di due filtri digitali primari nell’elaborazione del segnale: filtri a risposta finita all’impulso (FIR) e filtri a risposta infinita all’impulso (IIR).

Applicazioni di STM32G4

L’STM32G4, come prodotto basato sull’architettura Arm Cortex-M4, si rivolge alle applicazioni MCU mainstream. È progettato principalmente per il controllo dei motori, le apparecchiature industriali, gli strumenti di misura, le applicazioni consumer di fascia alta e l’alimentazione digitale, offrendo una combinazione di elaborazione del segnale digitale e analogico per soddisfare le esigenze degli utenti. I mercati di riferimento includono la conversione di potenza digitale, che comprende la ricarica wireless, l’alimentazione delle telecomunicazioni, il controllo del motore, il controllo dei LED, le macchine per saldare, le applicazioni industriali, i sistemi UPS, la correzione del fattore di potenza, i server, i data center, gli inverter fotovoltaici e altro ancora.

STM32G4 Applications
STM32G4 Applications

Rami di STM32G4

STM32G4 Series Model
STM32G4 Series Model

STM32G4x1 e STM32G4x3 sono progettati per applicazioni di controllo generale e motori.

STM32G4x1 è la serie base, con una configurazione di livello base di periferiche analogiche e una singola banca di memoria flash. Le dimensioni della memoria flash supportate variano da 32KB a 512KB.

STM32G4x3 è la serie migliorata, che offre più periferiche analogiche rispetto ai dispositivi base, insieme a due banche di memoria flash. Anche le dimensioni della memoria flash sono aumentate, variando da 128KB a 512KB, rendendola adatta ad applicazioni più avanzate.

STM32G4x4 è rivolto a mercati specifici come l’alimentazione digitale ed è la serie ad alta risoluzione. Oltre al ricco set di periferiche analogiche e risorse di memoria disponibili nella serie migliorata, la serie STM32G4x4 include anche timer ad alta risoluzione, un generatore di forme d’onda complesso e un gestore di eventi, rendendola particolarmente adatta per applicazioni di alimentazione digitale come alimentatori a commutazione digitale, illuminazione, saldatura, energia solare e ricarica wireless.

Ecosistema di sviluppo STM32G4

STM32G4 continua a sviluppare l’ecosistema STM32 e ARM Cortex-M4, offrendo risorse hardware come:

  • Schede di sviluppo NUCLEO per il supporto MCU STM32G4.
  • Schede di valutazione complete: STM32G474E-EVAL e STM32G484E-EVAL, con crittografia e accelerometri integrati.
  • Strumenti di sviluppo dedicati al controllo motori one-stop: Scheda di sviluppo dedicata al controllo motori Nucleo (P-NUCLEO-IHM03).
  • Kit di scoperta: B-G474E-DPOW1*, B-G431B-ESC1*.

Questi strumenti e risorse consentono agli sviluppatori di esplorare e sviluppare in modo efficiente applicazioni con la famiglia di microcontrollori STM32G4.

STM32G4 Hardware Tools
STM32G4 Hardware Tools

Gli strumenti software STM32G4 includono: STM32CubeMX, compilazione e debug IDE e strumenti di programmazione STM32.

STM32G4 Software Tools
STM32G4 Software Tools

Progetto della scheda di sviluppo STM32G4 - Accensione del LED

La scheda di sviluppo STM32G431 ha un pulsante utente e una luce LED. Secondo lo schema elettrico, LD2 è collegato a PA5. Se si desidera accendere il LED, PA5 dovrebbe essere a livello alto. Il pulsante utente B1 è collegato a PC13 ed è a livello alto quando premuto.

STM32G431 Development Board Schematic Diagram
STM32G431 Development Board Schematic Diagram

Selettore MCU

Il modello di chip utilizzato in questo esempio è: STM32G431RBT6; 128KB di flash e 32KB di SRAM, con una frequenza operativa fino a 170MHz.

MCUMPU Selector-STM32G4 Series STM32G431RB STM32CubeMX
MCUMPU Selector-STM32G4 Series STM32G431RB STM32CubeMX

Configurazione dell'orologio

Clock Configuration-High Speed Clock(HSE) CrystalCeramic Resonator STM32CubeMX
Clock Configuration-High Speed Clock(HSE) CrystalCeramic Resonator STM32CubeMX
Clock Configuration Input frequency STM32CubeMX
Clock Configuration-Input frequency STM32CubeMX

Configurazione del pin GPIO

GPIO Setting-Pins Configuration (PA5) STM32CubeMX
GPIO Setting-Pins Configuration (PA5) STM32CubeMX
GPIO Setting-Pins Configuration (PC13) STM32CubeMX
GPIO Setting-Pins Configuration (PC13) STM32CubeMX

Project Manager

Project Manager-Project Settings STM32CubeMX
Project Manager-Project Settings STM32CubeMX
Project Manager-Code Generator STM32CubeMX
Project Manager-Code Generator STM32CubeMX

Configurazione dei pin LED e pulsante

LED and Button Pin Configuration STM32CubeMX
LED and Button Pin Configuration STM32CubeMX

Funzione pulsante

				
					/*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;
}
				
			

Funzione principale:

				
					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);
     }
   }
				
			

Condividi con:

Torna in alto

Preventivo immediato

Instant Quote