Uso de microcontroladores escalables para lograr flexibilidad de diseño
Colaboración de Editores de DigiKey de América del Norte
2024-05-15
A medida que características avanzadas como la inteligencia artificial (IA) y las interfaces hombre-máquina (HMI) complejas y ricas en gráficos se hacen más comunes en las aplicaciones, los diseñadores de productos buscan unidades de microcontroladores (MCU) más potentes. Sin embargo, también se pide a los diseñadores que creen productos de costo optimizado que prescindan de estas características llamativas. Estas presiones competitivas hacen que sea imprescindible elegir una unidad de microcontrolador que pueda adaptarse fácilmente a los distintos requisitos del mercado.
La creciente velocidad de la innovación se suma a esta presión. Los requisitos de las aplicaciones pueden cambiar inesperadamente, por lo que es esencial disponer de fácil acceso a MCU alternativas. También hay que tener en cuenta la protección del futuro y la reutilización. Los elementos de diseño pueden reutilizarse en otros proyectos, lo que permite ahorrar tiempo y dinero.
Una forma de afrontar estos retos es elegir una familia de microcontroladores con una amplia gama de opciones. El STM32H7 de STMicroelectronics es un buen ejemplo. Abarca desde MCU de 32 bits básicas y de valor optimizado hasta MCU de doble núcleo con un amplio conjunto de funciones.
En este artículo se destacan los criterios que deben tenerse en cuenta a la hora de seleccionar una familia de microcontroladores, utilizando como ejemplo las características de la familia STM32H7. También presenta las placas de desarrollo y las herramientas disponibles para los MCU STM32H7 y explica cómo poner en marcha proyectos utilizando esta infraestructura.
Factores que hacen que una familia de microcontroladores sea flexible y escalable
Hay que tener en cuenta muchos factores a la hora de buscar una familia de microcontroladores flexible. Disponer de opciones en una amplia gama de niveles de rendimiento y potencia es especialmente importante. La familia de MCU preferida debe incluir opciones con un amplio rango de velocidades de reloj y núcleos optimizados para diferentes objetivos. Por ejemplo, Arm® Cortex®-M4 para bajo consumo y Arm Cortex-M7 para alto rendimiento.
La familia debería incluir MCU con capacidades de procesamiento básicas y opciones con capacidades ampliadas. Muchas aplicaciones requieren protección de datos y comunicaciones seguras. Características como el cifrado basado en hardware, el arranque seguro y los aceleradores criptográficos son esenciales para estos casos de uso. Del mismo modo, un procesador de señal digital (DSP) y las instrucciones de coma flotante son fundamentales para las aplicaciones con gran cantidad de datos.
La familia de microcontroladores también debería ofrecer un amplio rango de tamaños de RAM y memoria Flash para adaptarse a todo tipo de aplicaciones, desde las más sencillas hasta las que requieren amplios marcos de software o almacenamiento de datos. Las MCU deben disponer de interfaces de memoria externa para aplicaciones que superen las capacidades de la memoria interna, a fin de proporcionar la escalabilidad necesaria.
Por último, las familias de MCU con más opciones de periféricos pueden manejar una mayor variedad de aplicaciones. Es esencial asegurarse de que la familia de microcontroladores incluya opciones con E/S avanzadas como USB, Ethernet, Bluetooth y Wi-Fi, ya que estas interfaces pueden ser difíciles de añadir como actualizaciones en diseños posteriores. Lo ideal es que la familia seleccionada ofrezca compatibilidad con el pin en toda su gama de productos para permitir actualizaciones o reducciones de hardware sin grandes rediseños de la placa de circuito impreso (PC).
Las herramientas de desarrollo deben ser compatibles con toda la familia de microcontroladores desde el punto de vista del software. Para acelerar el desarrollo, debe existir una interfaz de programación de aplicaciones de software (API) coherente y un sólido conjunto de bibliotecas, middleware y un sistema operativo en tiempo real (RTOS).
STM32H7: un ejemplo de versatilidad
La serie STM32H7 de STMicroelectronics es un ejemplo de familia de microcontroladores que cumple estos criterios. Como se ilustra en la Tabla 1, es altamente escalable, con una gama construida en torno al Arm Cortex-M7 que abarca MCU básicos y avanzados. La serie consta de cuatro líneas, cada una de ellas optimizada para distintas aplicaciones.
|
Tabla 1: Principales características de las cuatro líneas de la serie STM32H7. (Fuente de la tabla: Autor, utilizando material fuente de STMicroelectronics)
La Value Line está disponible a velocidades de 280 a 550 megahercios (MHz) y cuenta con 128 kilobytes (Kbytes) de memoria Flash integrada y RAM de 1 megabyte (Mbyte). Es compatible con una gran variedad de interfaces de comunicación y extensiones de memoria externa, lo que proporciona una solución rentable para sistemas orientados al rendimiento. La STM32H750VBT6 es una de estas unidades de microcontrolador y se presenta en un formato 100-LQFP de 14 x 14 milímetros (mm).
La línea mononúcleo también funciona a velocidades de 280 a 550 MHz. Proporciona hasta 2 Mbytes de memoria Flash y hasta 1.4 Mbytes de RAM, para aplicaciones que exigen interfaces de usuario sofisticadas y control en tiempo real. Un ejemplo es el STM32H743IIK6, que se presenta en un encapsulado 201-UFBGA de 10 x 10 mm.
La línea Dual-Core cuenta con un núcleo secundario ARM® Cortex®-M4 optimizado para una mayor eficiencia. Una fuente de alimentación de modo conmutado (SMPS) integrada mejora la eficiencia energética. Otros periféricos avanzados son TFT-LCD, MIPI-DSI y un códec JPEG por hardware. Un ejemplo típico es el STM32H747AII6, que se presenta en un encapsulado 169-UFBGA de 7 x 7 mm.
La línea BootFlash destaca por su alto rendimiento, alcanzando velocidades de hasta 600 MHz. Está diseñado para facilitar las aplicaciones de ejecución in situ (XiP) en tiempo real y está equipado con 64 Kbytes de flash de arranque junto a 620 Kbytes de RAM. Además, algunos modelos de esta línea incorporan una GPU NeoChrom opcional para mejorar la aceleración gráfica. Esta línea se caracteriza por el STM32H7R3Z8J6 con su encapsulado 144-UFBGA de 10 x 10 mm.
Ventajas de la compatibilidad con las familias STM32F4 y STM32F7
El STM32H7 forma parte de una gama más amplia de MCU de STMicroelectronics y es compatible con el pin/clavija de sus familias hermanas STM32F4 y STM32F7 para los paquetes más comunes. Todas estas MCU se basan en núcleos Cortex-M de Arm y comparten periféricos y disposiciones de pines GPIO similares. Los puntos en común facilitan a los diseñadores la migración entre las MCU sin cambios significativos en su hardware. Esta compatibilidad puede reducir el tiempo y los costes de desarrollo al actualizar un producto o diseñar otros nuevos basados en las distintas capacidades de cada familia.
Además, todas las MCU son compatibles con el mismo ecosistema de desarrollo de software, incluido el STM32CubeMX para la configuración y la generación de código de inicialización, y el STM32CubeIDE para el desarrollo y la depuración. Esta compatibilidad garantiza que los componentes de software, el middleware y el código de las aplicaciones puedan reutilizarse en todos los proyectos de cualquiera de las dos familias, lo que acelera aún más los ciclos de desarrollo.
Primeros pasos con las MCU de la Serie STM32H7
Empezar a utilizar las MCU STM32H7 implica unos cuantos pasos clave y el uso eficaz de placas y herramientas de desarrollo. La siguiente guía paso a paso le mostrará cómo empezar a desarrollar con estos potentes microcontroladores.
1) Elija una placa de desarrollo
Ideales para la exploración inicial, los Discovery Kit vienen con un depurador/programador integrado y suelen incorporar varios LED de usuario, teclas, sensores y opciones de conectividad. Las placas Nucleo, como la NUCLEO-F767ZI (Figura 1), son un buen equilibrio entre flexibilidad y asequibilidad. Son compatibles con Arduino Uno para facilitar su ampliación y disponen de una interfaz STLINK para su uso con depuradores/programadores.
Figura 1: La placa de desarrollo NUCLEO-F767ZI es un punto de partida sencillo, pero flexible para la experimentación. (Fuente de la imagen: STMicroelectronics)
Las placas de evaluación ofrecen el conjunto más completo de periféricos y opciones de conectividad para explorar todas las funciones. Por ejemplo, los Discovery Kit como el STM32H745I-DISCO (Figura 2) y el STM32H750B-DK permiten evaluar rápidamente varias interfaces con características como:
- 4.3 pulgadas (pulg.) Interfaz RGB LCD con panel táctil
- Ethernet conforme a IEEE-802.3-2002
- Alimentación por cable Ethernet (PoE)
- USB OTG FS
- Códec de audio SAI
- Micrófonos digitales ST-MEMS
- Memoria Flash NOR Quad-SPI 2 × 512 Mbit
- SDRAM de 128 Mbit
- 4 gigabytes (Gbytes) de eMMC en placa
- 2 × CAN FD
- Compatible con escudos Arduino
- Depurador/programador STLINK-V3E integrado con capacidad de reenumeración USB: almacenamiento masivo, puerto COM virtual y puerto de depuración
Figura 2: La placa de evaluación STM32H745I-DISCO ofrece un rico conjunto de recursos de hardware. (Fuente de la imagen: STMicroelectronics)
2. Configuración de herramientas de software
STMicroelectronics ofrece un entorno completo de desarrollo integrado (IDE) para sus MCU (figura 3). Incluye un compilador, un depurador y un configurador para la generación del código de inicialización y la configuración de los periféricos.
Figura 3: Se muestra una captura de pantalla del entorno completo de desarrollo integrado (IDE) STM32H7. (Fuente de la imagen: STMicroelectronics)
3. Aprender y experimentar
A continuación, conviene leer la documentación. Un excelente punto de partida es el manual de usuario de la placa de desarrollo y el correspondiente manual de referencia del STM32H7. Estos documentos proporcionan información vital sobre arquitecturas de unidades de microcontrolador, configuración de periféricos, Pin-Mux y características de hardware.
Experimentar con proyectos de ejemplo es una forma eficaz de aprender las herramientas. STMicroelectronics ofrece una serie de proyectos de ejemplo para varias MCU STM32. Estos ejemplos pueden ser un buen punto de partida para comprender cómo utilizar las distintas características de la unidad de microcontrolador.
Por último, la comunidad de desarrolladores puede proporcionar apoyo adicional. La participación en recursos como la Comunidad ST, tutoriales y videos puede proporcionar soluciones a problemas comunes e inspiración para posibles proyectos.
4. Desarrollo y depuración
El entorno completo de desarrollo integrado (IDE) proporciona todo lo necesario para empezar a escribir, compilar y depurar código. El configurador del entorno completo de desarrollo integrado (IDE) puede utilizarse para inicializar los periféricos y configurar el middleware. La interfaz depurador/programador STLINK integrada en la placa de desarrollo permite depurar en tiempo real. Los problemas pueden identificarse utilizando puntos de interrupción, observando variables y recorriendo el código.
5. Ampliar un proyecto
Las placas de expansión pueden añadir funciones como conectividad o sensores a las placas Discovery y Nucleo. Una vez establecida la funcionalidad deseada mediante placas de desarrollo, puede diseñarse una placa de PC personalizada utilizando como referencia los esquemas de la placa de desarrollo. Un ejemplo de placa personalizada es la plataforma de cámara OpenMV4 CAM H7 (Figura 4) de Seeed Technology Co., Ltd., que utiliza un STM32H743 de un solo núcleo. Ltd. Utiliza el STM32H743 de un solo núcleo.
Figura 4: La OpenMV4 CAM H7 está pensada para sistemas de visión. (Fuente de la imagen: Seeed Technology Co. Ltd.)
Otro ejemplo es el ABX00051 Nicla Vision (Figura 5) de Arduino, que utiliza el STM32H747 de doble núcleo.
Figura 5: El ABX00051 Nicla Vision ayuda a los desarrolladores a evaluar distintos sensores de imagen. (Fuente de la imagen: Arduino)
Conclusión:
La selección de la unidad de microcontrolador en el diseño de un producto es fundamental, dadas las demandas contrapuestas de características avanzadas y optimización de costes. La serie STM32H7 de STMicroelectronics es un potente ejemplo de cómo la elección de la familia de MCU adecuada puede proporcionar una solución escalable y flexible que satisfaga las necesidades actuales y futuras.
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.




