Microcontroladores de la serie STM32G4 MCU de alto rendimiento

La serie STM32G4 se presentó en junio de 2019 como una actualización de la serie F3, ofreciendo un rendimiento mejorado y capacidades analógicas y digitales. Cuenta con mejoras en términos de rendimiento, periféricos y seguridad.

Acerca de STM32G4

El microcontrolador de alto rendimiento STM32G4 es una creación única de última generación de ST, que ofrece un rendimiento excepcional adecuado para aplicaciones como control de motores, equipos industriales, alimentación digital, control de alta gama y mucho más. Cuenta con un núcleo Cortex-M4 de 170 MHz con unidad de punto flotante integrada, unidad de multiplicación-acumulación de instrucción única, Cordic (cálculo de funciones trigonométricas basado en hardware), comparadores de alta velocidad, amplificadores operacionales de alta velocidad, ADC de alta velocidad, DAC de alta velocidad, compatibilidad con CAN FD, capacidad de actualización en línea, compatibilidad con AES y seguridad de la información, USB tipo C PD3.0 integrado, y combina un alto rendimiento con características de bajo consumo energético.

Arquitectura del STM32G4

La nueva arquitectura del STM32G4 se basa en el ADN general del STM32F3, pero incorpora características innovadoras y optimizadas para satisfacer las necesidades específicas de diversos mercados. Por ejemplo, la inclusión de un acelerador matemático mejora significativamente el rendimiento en aplicaciones de control de motores FOC (control orientado al campo). CAN FD es muy útil para aplicaciones de alimentación digital en entornos industriales. Al integrar más componentes analógicos y digitales en el chip, el STM32G4 puede crear fuentes de alimentación más densas y potentes para centros de servidores y satisfacer las necesidades de productos de consumo rentables que requieren soluciones de alimentación digital. El STM32G4 también marca el camino para futuros diseños, como el auge de los dispositivos de carburo de silicio (SiC) o nitruro de galio (GaN) en el sector de la automoción, que exigen temporizadores más precisos para adaptarse a frecuencias de conmutación más altas. Con sus temporizadores de alta resolución de 12 canales, el STM32G4 puede impulsar diseños que incorporen dichos componentes, lo que permite el desarrollo de productos electrónicos de vanguardia.

Especificaciones del STM32G4

Los dispositivos STM32G431x6/x8/xB se basan en el núcleo RISC Arm® Cortex®-M4 de 32 bits y alto rendimiento, que funciona a frecuencias de hasta 170 MHz. El núcleo Cortex-M4 incluye una unidad de coma flotante (FPU) de precisión simple y es compatible con todas las instrucciones y tipos de datos de procesamiento de datos de precisión simple de Arm.

Estos dispositivos proporcionan dos ADC rápidos de 12 bits (5 MSPS), cuatro comparadores, tres amplificadores operacionales, cuatro canales DAC (dos externos y dos internos), un búfer de referencia de voltaje interno, un RTC de bajo consumo, un temporizador de 32 bits de uso general, dos temporizadores PWM de 16 bits dedicados al control de motores, siete temporizadores de 16 bits de uso general y un temporizador de 16 bits de bajo consumo.

en.obn stm32g4 series ss2024
(Crédito de la imagen: ST)

El microcontrolador STM32G4 en el paquete LQFP64 (Arm® Cortex®-M4 a 170 MHz) incluye:

  • STM32G431RBT6: 128 KB de memoria Flash y 32 KB de SRAM;
  • STM32G491RET6: 512 KB de memoria Flash y 96 KB de SRAM;
  • STM32G474RET6: 512 KB de memoria Flash y 128 KB de SRAM;
  • Totalmente compatible con STM32G473RET6 (512 KB de memoria Flash y 128 KB de SRAM).
  • 1 LED de usuario;
  • 1 botón de usuario y 1 botón de reinicio;
  • Oscilador de cristal LSE de 32,768 kHz; 
  • Oscilador HSE de 24 MHz;
  • Conectores de placa de circuito:
  • USB con Micro AB;
  • Conector de depuración MIPI®;
  • Conector de expansión ARDUINO® Uno V3;
  • Conector de pines de extensión ST morpho para acceso completo a todas las E/S STM32G4;
  • Opciones de alimentación flexibles: ST-LINK, USB VBUS o alimentación externa;
  • Depurador/programador STLINK-V3E con función de renumeración USB: gran capacidad de almacenamiento, puerto COM virtual y puerto de depuración;
  • El paquete de software STM32CubeG4 MCU proporciona una completa biblioteca de software gratuito y ejemplos;
  • Compatibilidad con varios entornos de desarrollo integrados (IDE), incluidos MDK-ARM y STM32CubeIDE.

Bancos de memoria flash duales y área de almacenamiento seguro

Una característica esencial de la MCU STM32G47x son los bancos de memoria flash duales. Básicamente, la MCU divide la memoria flash en dos áreas de almacenamiento físico con capacidades de lectura-escritura (RWW). Esto permite descargar, instalar y ejecutar nuevo firmware sin ninguna interferencia. El sistema funciona con un banco de memoria, mientras que el otro recibe el nuevo firmware. A continuación, el sistema puede intercambiar los bancos de memoria y pasar sin problemas a ejecutar el nuevo código. Los desarrolladores también pueden proteger la operación de descarga utilizando las nuevas funciones de seguridad disponibles en el STM32G4, como las áreas de almacenamiento seguro. Estas áreas de almacenamiento seguro pueden almacenar claves o partes de código para rutinas de software y ejecutarlas solo una vez después de un reinicio, lo que las hace invisibles para el código del usuario a partir de ese momento.

Un temporizador de alta resolución y tres temporizadores avanzados de control del motor

La serie STM32G4 es la primera en incluir temporizadores con resoluciones inferiores a 200 picosegundos en la arquitectura MCU de ST. Una ventaja notable es que el G4 puede controlar fuentes de alimentación de alta precisión en topologías resonantes LLC. Con siete bases de tiempo disponibles, los desarrolladores pueden combinarlas para obtener una modulación extremadamente precisa, y el temporizador también proporciona una modulación por ancho de pulso (PWM) muy flexible. El temporizador de alta resolución viene equipado con controladores de eventos, lo que facilita a los ingenieros la configuración y la activación de los temporizadores o su uso para generar interrupciones.

Características del STM32G4

Rendimiento robusto

El STM32G4, basado en el núcleo Arm® Cortex®-M4, es compatible con el conjunto de instrucciones FPU y DSP, con una frecuencia de núcleo de hasta 170 MHz. Esto supone una mejora significativa con respecto a la frecuencia de núcleo de 72 MHz de las series STM32F3 y STM32F1. Además, el STM32G4 introduce tres aceleradores de hardware: el acelerador ART (caché dinámica), CCM-SRAM (caché estática) y un acelerador de cálculos matemáticos.

En términos de rendimiento computacional, el STM32G4 es comparable a la serie STM32F4. Como miembro del dominio de los microcontroladores de «señal mixta», el STM32G4 ofrece características novedosas y optimizadas para aplicaciones tanto digitales como analógicas. Su núcleo Cortex-M4 funciona a una frecuencia máxima de 170 MHz, con 213 DMIPS y una puntuación CoreMark de hasta 550. La arquitectura del producto incorpora numerosas mejoras de optimización para aumentar la comodidad y las capacidades de desarrollo durante el proceso de diseño.

STM32G4 Features
STM32G4 Features

Periféricos analógicos-digitales integrados avanzados

Una de las características más destacadas del STM32G4 es su amplio conjunto de periféricos analógicos integrados, que incluyen ADC, DAC, amplificadores operacionales y comparadores. La serie STM32G4 ofrece hasta 25 periféricos analógicos en su MCU de mayor configuración.

Funciones optimizadas

Además de sus abundantes periféricos analógicos, el STM32G4 también integra funciones optimizadas para el procesamiento de señales. Por ejemplo, los convertidores analógico-digitales incluyen compensación de ganancia y offset en el hardware, lo que reduce la carga de la CPU y mejora el rendimiento. Del mismo modo, el sistema puede gestionar de forma automática y continua hasta ocho excepciones de hardware. Cuando el sistema muestrea señales más allá de su ventana de vigilancia, normalmente se diseña una rutina para remuestrear la señal y evaluar si se trata de un fallo o de un problema sistémico. Gracias al alto nivel de integración de hardware del STM32G4, los desarrolladores pueden gestionar los eventos excepcionales de forma más eficiente.

Bajo consumo energético

Cuando una MCU universal se enfrenta a requisitos de baja potencia, los modos dinámicos de eficiencia energética del STM32G4 reducen el consumo de energía en más del doble en comparación con los DSP de la competencia con un rendimiento similar.

Integración de sistemas en chip

Con paquetes más pequeños y menos componentes externos, el STM32G4 integra todas las funciones analógicas en el chip, lo que reduce el tamaño de la placa PCB y los costes de la lista de materiales (BOM).

Nuevos aceleradores matemáticos

El STM32G4 es el primer STM32 que cuenta con dos aceleradores matemáticos: uno para cálculos trigonométricos (Coordinate Rotation Digital Computer o CORDIC) y otro para funciones de filtrado digital (Filter Mathematical Accelerator o FMAC). CORDIC es especialmente ventajoso para operaciones vectoriales, comúnmente utilizadas en el control orientado al campo (FOC) del control de motores. También proporciona aceleración por hardware para funciones trigonométricas que se encuentran con frecuencia en el control de motores, la metrología, el procesamiento de señales y otras aplicaciones. Por otro lado, FMAC se puede utilizar para generar compensadores de tres polos y tres ceros (3p3z) (potencia digital), moduladores Sigma-Delta y modeladores de ruido en el procesamiento de señales. También admite la implementación de dos filtros digitales primarios en el procesamiento de señales: filtros de respuesta impulsional finita (FIR) y de respuesta impulsional infinita (IIR).

Nuevos aceleradores matemáticos

El STM32G4 es el primer STM32 que cuenta con dos aceleradores matemáticos: uno para cálculos trigonométricos (Coordinate Rotation Digital Computer o CORDIC) y otro para funciones de filtrado digital (Filter Mathematical Accelerator o FMAC). CORDIC es especialmente ventajoso para operaciones vectoriales, comúnmente utilizadas en el control orientado al campo (FOC) del control de motores. También proporciona aceleración por hardware para funciones trigonométricas que se encuentran con frecuencia en el control de motores, la metrología, el procesamiento de señales y otras aplicaciones. Por otro lado, FMAC se puede utilizar para generar compensadores de tres polos y tres ceros (3p3z) (potencia digital), moduladores Sigma-Delta y modeladores de ruido en el procesamiento de señales. También admite la implementación de dos filtros digitales primarios en el procesamiento de señales: filtros de respuesta impulsional finita (FIR) y de respuesta impulsional infinita (IIR).

Aplicaciones del STM32G4

El STM32G4, como producto basado en la arquitectura Arm Cortex-M4, está destinado a aplicaciones MCU convencionales. Está diseñado principalmente para el control de motores, equipos industriales, instrumentos de medición, aplicaciones de consumo de alta gama y alimentación digital, y ofrece una combinación de procesamiento de señales digitales y analógicas para satisfacer las necesidades de los usuarios. Los mercados objetivo incluyen la conversión de energía digital, que abarca la carga inalámbrica, la energía para telecomunicaciones, el accionamiento de motores, el control de LED, las máquinas de soldadura, las aplicaciones industriales, los sistemas UPS, la corrección del factor de potencia, los servidores, los centros de datos, los inversores fotovoltaicos y mucho más.

STM32G4 Applications
STM32G4 Applications

Ramas de STM32G4

STM32G4 Series Model
STM32G4 Series Model

STM32G4x1 y STM32G4x3 están orientados a aplicaciones generales y de control de motores.

STM32G4x1 es la serie básica, con una configuración de nivel básico de periféricos analógicos y un único banco de memoria flash. Los tamaños de memoria flash compatibles van desde 32 KB hasta 512 KB.

STM32G4x3 es la serie mejorada, que ofrece más periféricos analógicos en comparación con los dispositivos básicos, junto con bancos de memoria flash duales. Los tamaños de memoria flash también se han aumentado, oscilando entre 128 KB y 512 KB, lo que la hace adecuada para aplicaciones más avanzadas.

STM32G4x4 se dirige a mercados específicos, como la energía digital, y es la serie de alta resolución. Además del amplio conjunto de periféricos analógicos y recursos de memoria disponibles en la serie mejorada, la serie STM32G4x4 también incluye temporizadores de alta resolución, un generador de formas de onda complejas y un controlador de eventos, lo que la hace especialmente adecuada para aplicaciones de energía digital como fuentes de alimentación conmutadas digitales, iluminación, soldadura, energía solar y carga inalámbrica.

Ecosistema de desarrollo STM32G4

El STM32G4 sigue basándose en el ecosistema STM32 y ARM Cortex-M4, y ofrece recursos de hardware como:

  • Placas de desarrollo NUCLEO para compatibilidad con MCU STM32G4.
  • Placas de evaluación con todas las funciones: STM32G474E-EVAL y STM32G484E-EVAL, con cifrado y acelerómetros integrados.
  • Herramientas de desarrollo integrales para el control de motores: placa de desarrollo dedicada al control de motores Nucleo (P-NUCLEO-IHM03).
  • Kits de descubrimiento: B-G474E-DPOW1*, B-G431B-ESC1*.

Estas herramientas y recursos permiten a los desarrolladores explorar y desarrollar aplicaciones de forma eficiente con la familia de microcontroladores STM32G4.

STM32G4 Hardware Tools
STM32G4 Hardware Tools

Las herramientas de software STM32G4 incluyen: STM32CubeMX, compilación y depuración de IDE, y herramientas de programación STM32.

STM32G4 Software Tools
STM32G4 Software Tools

Proyecto de placa de desarrollo STM32G4: iluminación LED

La placa de desarrollo STM32G431 tiene un botón de usuario y una luz LED. Según el diagrama esquemático, LD2 está conectado a PA5. Si desea encender el LED, PA5 debe estar en nivel alto. El botón de usuario B1 está conectado a PC13 y está en nivel alto cuando se pulsa.

STM32G431 Development Board Schematic Diagram
STM32G431 Development Board Schematic Diagram

Selector MCU

El modelo de chip utilizado en este ejemplo es: STM32G431RBT6; 128 KB de memoria flash y 32 KB de SRAM, con una frecuencia de funcionamiento de hasta 170 MHz.

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

Configuración del reloj

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

Configuración de pines 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

Gerente de proyectos

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

Configuración de los pines LED y botones

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

Función del botón

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

Función principal:

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

Compartir en:

Scroll al inicio

Cotización