Cumpla los requisitos de las aplicaciones con mayor eficacia gracias a las MCU Arm® Cortex® altamente integradas
Colaboración de Editores de DigiKey de América del Norte
2024-06-04
Los desarrolladores se enfrentan a numerosos retos a la hora de satisfacer una gama cada vez más amplia de requisitos para productos inteligentes en aplicaciones que incluyen el consumo, la industria, las ciudades inteligentes y la sanidad. Cada aplicación tiene sus propios requisitos de rendimiento, seguridad, consumo ultrabajo, conectividad inalámbrica de largo alcance y costo. Con demasiada frecuencia, los desarrolladores se ven obligados a hacer concesiones con respecto a esos requisitos debido a la escasa adecuación entre la aplicación y las capacidades de las soluciones de unidades de microcontroladores (MCU) disponibles.
Este artículo presenta un conjunto de soluciones de procesador de STMicroelectronics que pueden ofrecer combinaciones adecuadas de rendimiento, duración de la batería, seguridad y conectividad inalámbrica que son fundamentales para el éxito del diseño en un amplio rango de aplicaciones.
Cumplimiento de estrictos requisitos de seguridad
Las MCU bootflash STM32H7R/S de STMicroelectronics (Figura 1) proporcionan las altas prestaciones, los gráficos, la seguridad y la reducida lista de materiales (BOM) que requieren muchos productos inteligentes para aplicaciones industriales, de electrónica de consumo, ciudades inteligentes y sanidad. Basadas en un procesador Arm® Cortex®-M7 de 600 megahercios (MHz) con una unidad de punto flotante (FPU) de doble precisión, estas MCU incorporan gráficos integrados, subsistemas de seguridad y un completo conjunto de periféricos e interfaces de conectividad.
Figura 1: Las MCU bootflash STM32H7R/S integran un Arm Cortex-M7 de alto rendimiento con un completo conjunto de periféricos, bloques funcionales y capacidades especializadas necesarias para ofrecer productos inteligentes seguros. (Fuente de la imagen: STMicroelectronics)
Además de la caché L1 del procesador, compuesta por 32 kilobytes (KBytes) de caché de instrucciones y 32 Kbytes de caché de datos, estas MCU incorporan 620 Kbytes de memoria estática de acceso aleatorio (SRAM), 64 Kbytes de flash integrada y múltiples interfaces para acceder a alta velocidad a memorias externas. Esta combinación de SRAM, flash integrada y acceso a memoria externa con capacidad de ejecución in situ (XiP) ofrece a los desarrolladores un alto grado de flexibilidad a la hora de implementar sistemas integrados seguros y de alto rendimiento.
Para garantizar la seguridad de las aplicaciones que se ejecutan en memoria externa, las MCU STM32H7S también integran tres motores de cifrado de memoria (MCE) que realizan el cifrado y descifrado sobre la marcha en memorias externas no volátiles o volátiles, con control de acceso programado a hasta cuatro regiones diferentes para cada MCE. Combinadas con funciones de seguridad adicionales basadas en hardware, como el análisis de potencia diferencial y la protección contra ataques de canal lateral, las MCU STM32H7S cuentan con la certificación SESIP y PSA Assurance de nivel 3.
Para garantizar un rendimiento fiable de las tareas de tiempo crítico, como las rutinas de servicio de interrupción, parte de la SRAM se asigna a la interfaz de memoria estrechamente acoplada (TCM) de la unidad de microcontrolador, lo que proporciona una memoria de estado de espera cero para instrucciones y datos críticos. Para garantizar la integridad del sistema, la MCU combina múltiples características de seguridad con su memoria flash integrada para permitir el arranque seguro y la comprobación de la integridad de las aplicaciones, proporcionando una raíz de confianza (RoT) para el software del sistema y de las aplicaciones que se ejecuta en la memoria dentro o fuera del chip. Cuando se combina con los mecanismos de protección basados en hardware adecuados, este uso de Flash embebido para almacenar el gestor de arranque de confianza proporciona ventajas significativas en flexibilidad en comparación con el uso de memoria de sólo lectura (ROM) en MCU tradicionales.
Varias vías para un arranque seguro
Para proporcionar la RoT esencial para la seguridad del sistema, el arranque seguro se basa en código inmutable de confianza que siempre se ejecuta inmediatamente después del reinicio del sistema. Este código verifica que solo el software de confianza se ejecuta en la siguiente fase de la secuencia de arranque del sistema. Con las MCU STM32H7R/S, los desarrolladores disponen de múltiples vías para lograr un arranque seguro al crear sistemas de confianza. Pueden utilizar firmware RoT prediseñado o controlar ellos mismos la secuencia de arranque (Figura 2).
Figura 2: Las MCU STM32H7R/S ofrecen múltiples rutas de arranque diseñadas para simplificar el desarrollo. (Fuente de la imagen: STMicroelectronics)
Tras el reinicio del sistema, todas las MCU STM32H7R/S comienzan la secuencia de arranque ejecutando los servicios seguros raíz de confianza (RSS) ubicados en la memoria Flash protegida del sistema. Los pasos posteriores de la secuencia de arranque dependen del tipo de unidad de microcontrolador y de la ruta de arranque elegida por el desarrollador. En cada ruta de arranque, las MCU STM32H7R/S utilizan su mecanismo de nivel de protección oculto (HDPL) para garantizar el aislamiento temporal de cada nivel de arranque. A medida que la secuencia de arranque pasa de un nivel de arranque al siguiente, el contador HDPL se incrementa y los recursos asociados con el nivel de arranque anterior se ocultan del nivel actual.
Mantenimiento de la RoT durante toda la secuencia de arranque.
En la ruta de arranque para sistemas de producción basados en STM32H7R, RSS se ejecuta inmediatamente al reiniciar el sistema. RSS ejecuta el firmware RoT inmutable (iRoT) del fabricante de equipamiento original (OEM) ubicado en la memoria Flash del usuario. Como el HDPL se incrementa en este siguiente nivel, el RSS permanece oculto para el firmware OEMiRoT, que se encarga del siguiente paso en la secuencia de arranque. Si la aplicación está diseñada para soportar firmware RoT actualizable (uRoT), el OEMiRoT ejecuta el firmware OEMuRoT desde la memoria externa. En la fase final de la secuencia de arranque, el firmware OEMiRoT (u OEMuRoT opcional) ejecuta el código de la aplicación. El HDPL garantiza que el RSS, el OEMiRoT y el OEMuRoT opcional queden ocultos para la aplicación.
Los sistemas de producción basados en STM32H7S pueden configurarse para seguir una ruta de arranque similar a la de los sistemas STM32H7R, dejando el control total del proceso de arranque en manos del desarrollador. Con las MCU STM32H7S, los desarrolladores también pueden elegir una ruta altamente segura que invoca el firmware STMicroelectronics iRoT (STiRoT) preconstruido ubicado en la memoria Flash protegida del sistema.
En la ruta de arranque habilitada para STiRoT, una rutina (iLoader) ubicada en la Flash integrada protegida, carga código para el siguiente nivel de arranque en la SRAM interna. A continuación, STiRoT comprueba la integridad y autenticidad de ese código antes de permitir su ejecución. Para rutas de arranque de una etapa, iLoader carga el código de la aplicación en SRAM. Para rutas de arranque en dos etapas, iLoader carga OEMuRoT desde la Flash externa a la SRAM.
Una vez en la SRAM interna, se comprueba la integridad y autenticidad del código de la aplicación (o firmware OEMuRoT) sin el riesgo de un ataque durante la verificación del código que reside en la memoria externa. Una vez validado, el OEMuRoT realiza las comprobaciones de integridad y autenticidad del código de la aplicación antes de su ejecución. Los desarrolladores pueden ampliar fácilmente esta ruta de arranque en dos etapas para validar las actualizaciones del código de las aplicaciones o incluso del firmware OEMuRoT (Figura 3).
Figura 3: Las MCU STM32H7S permiten la actualización segura y el arranque seguro mediante un proceso de varios pasos diseñado para garantizar la integridad y autenticidad del código en cada etapa del proceso. (Fuente de la imagen: STMicroelectronics)
Durante el funcionamiento normal en sistemas de producción, la Flash integrada en las MCU STM32H7R/S se encuentra en un estado cerrado, en el que se aprovisiona el firmware RoT y se aplica la entrada de arranque válida. Además, estas MCU ofrecen un total de cuatro PRODUCT_STATE diseñados para soportar todo el ciclo de vida del producto (Figura 4).
|
Figura 4: Las MCU STM32H7R/S funcionan en uno de los cuatro PRODUCT_STATE diseñados para soportar todo el ciclo de vida del producto. (Fuente de la imagen: STMicroelectronics)
Los desarrolladores pueden controlar el PRODUCT_STATE de tres maneras:
- Estado no volátil (NVSTATE), que pone la memoria Flash en estado abierto o cerrado.
- OEM proporcionado (OEM_PROVD), que define la estabilidad del área de protección oculta segura (HDP) que garantiza que el código ejecutado en esta área permanezca oculto tras el arranque.
- Método de autenticación de depuración (DBG_AUTH), que define el método utilizado para abrir la depuración del dispositivo.
Con estos cuatro estados, las MCU STM32H7R/S admiten los requisitos de seguridad de cada fase crítica del ciclo de vida del producto: desarrollo del producto, fabricación del producto e implantación en campo (Figura 5).
Figura 5: A medida que un producto pasa del desarrollo y la fabricación al campo, las MCU STM32H7R/S pueden proteger el código y los datos confidenciales en la Flash integrada, al tiempo que proporcionan acceso de depuración autenticado cuando es necesario. (Fuente de la imagen: STMicroelectronics)
En la práctica, la autenticación de depuración ofrece una potente función de seguridad diseñada para responder a los retos prácticos de la asistencia durante el ciclo de vida del producto. Para los sistemas de producción que funcionan en estado cerrado, los desarrolladores pueden utilizar un protocolo de autenticación que permita a un depurador seguro reabrir el acceso sin comprometer la RoT en una sesión de depuración restringida. En la depuración de regresión completa, la seguridad del código y los datos no está garantizada.
Satisfacer la necesidad de interfaces de usuario mejoradas en los productos inteligentes
Aunque la seguridad sigue siendo primordial, los productos inteligentes dependen de interfaces gráficas de usuario (GUI) cada vez más sofisticadas. Las MCU STM32H7R/S abordan este requisito mediante aceleradores gráficos integrados. Entre ellas se incluyen el acelerador Chrom-ART en las MCU STM32H7R3/S3 y la unidad de procesamiento gráfico (GPU) NeoChrom en las MCU STM32H7R7/S7. Mientras que el acelerador 2D Chrom-ART y la GPU 2.5D NeoChrom admiten múltiples formatos con operaciones de dibujo y blitting, la GPU NeoChrom admite las operaciones necesarias en el mapeado de texturas (Figura 6).
|
Figura 6: El acelerador gráfico Chrom-ART de las MCU STM32H7R3/S3 y la GPU NeoChrom de las MCU STM32H7R7/S7 proporcionan el rendimiento gráfico y la funcionalidad necesarios en las interfaces gráficas de usuario de los productos inteligentes. (Fuente de la imagen: STMicroelectronics)
Para evaluación y desarrollo, STMicroelectronics ofrece su placa de desarrollo NUCLEO-H7S3L8 STM32 Nucleo-144 para el STM32H7R3 y el STM32H7S78-DK Discovery Kit para el STM32H7S7.
Diseñada para el desarrollo rápido de prototipos, la placa Nucleo-144 incluye un depurador/programador ST-LINK integrado y ofrece LED, pulsadores y múltiples opciones de conectores de placa. El STM32H7S78-DK Discovery kit ofrece Wi-Fi, varios LED y pulsadores, un depurador/programador STLINK-V3EC a bordo y múltiples conectores de placa, incluidos dos para USB Type-C® y un conector Ethernet RJ45.
Para el desarrollo de software, STMicroelectronics ofrece su paquete STM32Cube MCU como parte de su ecosistema STM32Cube. Junto con los módulos de capa de abstracción de hardware (HAL), los paquetes de soporte para placa (BSP) y las interfaces de programación de aplicaciones (API) de nivel de registro de baja capa, el paquete MCU STM32Cube ofrece componentes de middleware, pilas de conectividad y código de muestra. Para el desarrollo de gráficos, la Empresa ofrece el marco gráfico X-CUBE-TOUCHGFX, que incluye:
- La herramienta TouchGFX Designer para el desarrollo y la simulación de aplicaciones gráficas
- Biblioteca gráfica acelerada por hardware TouchGFX Engine
- El generador TouchGFX, que es un complemento STM32CubeMX que permite a los desarrolladores configurar y generar la capa de abstracción TouchGFX utilizada por el motor TouchGFX para acceder al hardware y al sistema operativo subyacentes.
Prolongación de la vida útil de las baterías
El consumo mínimo de energía y la duración máxima de las baterías siguen siendo los principales controladores de diseño en muchos ámbitos de aplicación. Las MCU de la serie STM32U0 de STMicroelectronics están diseñadas para proporcionar el ahorro de energía y la mayor duración de la batería que requieren muchas aplicaciones básicas industriales, médicas, de medidores inteligentes y de consumo. Creada en torno a un procesadorARM Cortex-M0+ de 56 MHz y consumo ultrabajo, la serie STM32U0 MCU cuenta con tres familias diferentes para que los desarrolladores puedan elegir la configuración óptima de SRAM, Flash y periféricos necesaria para sus diseños.
La familia STM32U031 ofrece la configuración más compacta con 12 Kbytes de SRAM, hasta 64 Kbytes de memoria Flash, múltiples temporizadores, periféricos analógicos y opciones de conectividad (Figura 7).
Figura 7: Las tres familias de la MCU de la serie STM32U0 se basan en un conjunto cada vez mayor de características que se encuentran en la familia MCU STM32U031. (Fuente de la imagen: STMicroelectronics)
Ampliando las Características de la familia STM32U031, la familia STM32U073 añade un regulador LCD integrado, canales de conectividad adicionales y periféricos analógicos, al tiempo que ofrece 40 Kbytes de SRAM y hasta 256 Kbytes de memoria Flash. La familia STM32U083 amplía estas características añadiendo un acelerador de hardware conforme al estándar de encriptación avanzada (AES).
Además de una alta integración, todas las MCU de la serie STM32U0 consiguen un rendimiento de consumo ultrabajo. En modo de ejecución, sólo consumen 52 microamperios por megahercio (μA/MHz) mientras funcionan con su regulador interno de caída baja (LDO).
Los desarrolladores pueden elegir entre varios modos de bajo consumo, incluidos tres modos de parada, para minimizar el consumo de energía en aplicaciones alimentadas por pilas. Por ejemplo, en el modo de parada con menor consumo, las MCU STM32U031 consumen solo 630 nanoamperios (nA) con funcionamiento de Reloj en tiempo real (Reloj en tiempo real) o 515 nA sin él. En este mismo modo de parada, las MCU STM32U073 y STM32U083 requieren solo 825 nA con reloj en tiempo real o 695 nA sin él. No obstante, las tres familias de la serie STM32U0 que funcionan con un reloj despertador de 24 MHz pueden alcanzar el modo de ejecución desde este modo de funcionamiento de mínimo consumo en sólo 12.0 microsegundos (µs) en flash y 7.67 µs en SRAM.
A pesar de su consumo ultrabajo y gracias a su acelerador integrado de memoria adaptativa en tiempo real (ART), estas MCU alcanzan un rendimiento equivalente a la ejecución en estado de espera cero desde flash a una frecuencia de procesador de 56 MHz.
Como apoyo al desarrollo, STMicroelectronics ofrece su placa de evaluación NUCLEO-U031R8 basada en STM32U031, la placa de evaluación NUCLEO-U083RC basada en STM32U083 y el Discovery Kit basado en STM32U083C-DK STM32U083. Al igual que otros dispositivos de la familia STM32, el paquete MCU STM32Cube para el ecosistema STM32Cube de la empresa proporciona módulos HAL, BSP, API de baja capa, middleware, pilas de conectividad y código de muestra.
Conectividad inalámbrica de largo alcance
Los diseños eficientes con conectividad inalámbrica de largo alcance por debajo de los gigahercios (GHz) son esenciales en las aplicaciones de Internet de las cosas (IoT) para ciudades inteligentes, agricultura, medición remota, teledetección y sistemas industriales. Muchas de estas aplicaciones deben mantener unas comunicaciones fiables a pesar de las interferencias de fuentes ambientales como la red eléctrica o la maquinaria. Esto apunta al uso de una conectividad de red de área extensa (LoRaWAN) resistente a las interferencias.
El módulo STM32WL5MOCH6TR de STMicroelectronics ofrece una solución certificada LoRaWAN capaz de funcionar en Europa, Asia y América. Esta capacidad operativa multirregional reside en la compatibilidad del módulo de radio con las normas europeas de 868 MHz y norteamericanas de 915 MHz, que admiten una mayor potencia de salida. La compatibilidad del módulo con múltiples esquemas de modulación y su rango de frecuencia lineal de 150 a 960 MHz le permiten funcionar en todo el mundo con diversos protocolos de comunicaciones estándar y propios, como Sigfox, W-MBUS y mioty.
Basado en una arquitectura de doble núcleo que combina un Arm Cortex-M0+ y un Arm Cortex-M4, el módulo STM32WL5MOC combina su transceptor de radio flexible, hasta 64 Kbytes de SRAM y hasta 256 Kbytes de memoria flash con un completo subsistema de seguridad, temporizadores, periféricos analógicos, interfaces de conectividad, funciones de control y componentes pasivos para su fuente de alimentación de modo conmutada (SMPS) integrada. Además, el elemento seguro STSAFE-A100 de STMicroelectronics se incluye en la variante STM32WL5MOCH6STR (Figura 8).
Figura 8: El módulo STM32WL5MOC proporciona una solución inmediata para la conectividad por debajo de GHz, combinando su arquitectura de doble núcleo con una radio flexible, funciones de seguridad, múltiples bloques funcionales y componentes pasivos. (Fuente de la imagen: STMicroelectronics)
La amplia funcionalidad integrada del módulo STM32WL5MOC y la certificación LoRaWAN proporcionan a los diseñadores una solución de hardware drop-in optimizada para aplicaciones inalámbricas de largo alcance. STMicroelectronics acelera aún más el desarrollo con un completo conjunto de recursos que incluye la placa de expansión B-WL5M-SUBG1, que combina un módulo STM32WL5MOC, memoria Flash de 4 megabits (Mbit), memoria programable y borrable de solo lectura de 256 kilobits (Kbit), sensores de sistemas microelectromecánicos (MEMS) de STMicroelectronics, múltiples conectores de placa, LED y pulsadores. Para el desarrollo de software, el paquete STM32CubeWL MCU es compatible con las placas de la serie STM32WL como parte del ecosistema STM32Cube.
Conclusión:
Los productos inteligentes para aplicaciones de consumo, industriales, sanitarias y de otro tipo tienen unos niveles de seguridad, consumo de energía, conectividad y complejidad de diseño que rara vez coinciden con las capacidades de un solo microcontrolador. La serie de MCU STM32 ofrece a los diseñadores una amplia gama de opciones de procesamiento para satisfacer de forma óptima los distintos requisitos de diseño. Las placas y el software son compatibles con los procesadores y simplifican el desarrollo.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.



