Inicio Artículos NXP ofrece un ecosistema de desarrollo Arm® Cortex®-M33

NXP ofrece un ecosistema de desarrollo Arm® Cortex®-M33

Autor: Rolf Horn – Applications Engineer, DigiKey Electronics

Los procesadores de núcleo Arm® Cortex®-M33 son una familia de microcontroladores (MCU) de bajo consumo y alto rendimiento que ofrecen funciones mejoradas de seguridad y procesamiento de señal digital. Son adecuados para un amplio rango de IoT y aplicaciones integradas, pero diseñar productos con estos MCU puede ser un reto, especialmente para los desarrolladores que no están familiarizados con la arquitectura Arm. NXP Semiconductors, uno de los principales proveedores de microcontroladores basados en Arm, pretende facilitar ese reto con su plataforma de desarrollo MCUXpresso.

El procesador de computación por conjunto de instrucciones reducidas (RISC) de Arm domina en segmentos de mercado como los teléfonos inteligentes y la electrónica de consumo, donde el bajo consumo y el alto rendimiento son cruciales.

Los procesadores Cortex-M33 están diseñados para ser energéticamente eficientes y ofrecen modos de bajo consumo que reducen el consumo de corriente activa y en reposo, y pueden impulsar una amplia gama de aplicaciones como el control industrial, el hogar inteligente, los dispositivos wearables y el IoT. Ofrecen a los desarrolladores un alto grado de flexibilidad y escalabilidad, pero también requieren una cuidadosa optimización para lograr el equilibrio ideal entre rendimiento, consumo de energía y huella.

Las MCU Cortex-M33 admiten la interfaz binaria de aplicaciones integradas (EABI) de Arm, que garantiza la compatibilidad binaria con otros procesadores Cortex-M, lo que les permite ejecutar el código Cortex-M existente sin modificaciones. Esta compatibilidad proporciona acceso a las herramientas, bibliotecas y middleware de software existentes.

Cartera MCX de NXP

NXP es uno de los principales fabricantes de MCU basadas en Arm, incluidos productos de propósito general y específicos para la industria del automóvil. Ha posicionado su cartera MCX como la base de los dispositivos de borde de bajo consumo en los mercados industriales y de IoT, con una mayor escalabilidad y capacidades de producto innovadoras.

Las MCU MCX comprenden dos líneas de productos distintas:

  • La serie MCX N de MCU industriales y de IoT con núcleos duales Cortex-M33 que funcionan a 150 MHz e incorporan la unidad de procesamiento neuronal (NPU) eIQ® Neutron de la Empresa para la aceleración del aprendizaje automático (ML). Estas MCU de alto rendimiento y bajo consumo incorporan periféricos y aceleradores inteligentes que proporcionan funciones multitarea y un rendimiento eficiente.
  • La serie MCX A Essential, una línea de productos de MCU Cortex-M33 de núcleo único optimizada para proporcionar funcionalidad crítica para aplicaciones en las que las capacidades analógicas avanzadas, como convertidores de datos de alta precisión, las limitaciones de costos y la rapidez de comercialización son consideraciones clave.

Este artículo se centrará en las MCU MCX A (Figura 1) y sus herramientas de desarrollo. La serie MCX A es compatible con una amplia gama de aplicaciones en diversos mercados, como comunicaciones industriales, medidores inteligentes, automatización y control, sensores y dispositivos de baja potencia y alimentados por batería. Con un núcleo y unos periféricos comunes, los desarrolladores pueden beneficiarse de un desarrollo de software simplificado, una migración más sencilla y actualizaciones.

Imagen del microcontrolador MCX Serie A de NXPFigura 1: Representación del microcontrolador de la serie MCX A de NXP. (Fuente de la imagen: NXP)

Cada dispositivo de la serie MCX A incluye una selección de periféricos inteligentes capaces de funcionar de forma independiente de la CPU, lo que le permite funcionar a una frecuencia más baja y con un consumo de energía reducido. Estos periféricos permiten a los diseñadores utilizar un encapsulado más pequeño, simplificar el diseño de la placa y reducir los costes de la lista de materiales (BOM) del sistema.

Los periféricos incluidos son:

  • Comunicaciones seriales con búferes integrados, rango de recogida de datos programable y DMA
  • Convertidores de analógico a digital (ADC) de señal mixta
  • Convertidores de analógico a digital (DAC)
  • Amplificador operacional con inteligencia incorporada para promediado y detección de picos
  • FlexPWM (modulador de ancho de impulsos) con control de tiempo muerto y codificador para aplicaciones de motor

Las MCU MCX A también incorporan una unidad de administración de alimentación (PMU) que permite el escalado dinámico de voltaje y frecuencia (DVFS), y el control de alimentación adaptable (APC) para optimizar el consumo de energía en función de la carga de trabajo y las condiciones de funcionamiento. Los dispositivos incluyen 64 KB o 128 KB de memoria Flash y 16 KB o 32 KB de SRAM; todos los datos de RAM pueden conservarse hasta el modo de pérdida de potencia profunda.

Un controlador de caché de bajo consumo (LPCAC) de 4 KB conectado al bus de código Cortex-M33 garantiza la disponibilidad de datos e instrucciones con una baja latencia. Se mejora la disponibilidad del bus para otros periféricos, ya que el rendimiento del procesador puede desacoplarse del rendimiento de la memoria del sistema. Esta función puede ayudar a los desarrolladores a conseguir el mejor rendimiento de E/S y procesamiento para aplicaciones de detección y control.

Los dispositivos MCX A funcionan a 48 MHz para la serie A14x y a 96 MHz para la serie A15x. MCX A utiliza un subsistema de alimentación LDO sin casquillo, que puede funcionar entre 1.7 V y 3.6 V. Los dispositivos presentan un bajo consumo de energía en varios modos:

  • 59 µA/MHz (3 V, a +25°C) en modo activo ejecutando Coremark desde la Flash interna
  • 6.5 µA Deep Sleep, 10 µs de activación con retención SRAM completa, 3 V a +25 °C
  • Menos de 400 nA en apagado profundo con activación de 2.78 ms

Los dispositivos MCX A incluyen un controlador de dispositivos USB de máxima velocidad con PHY integrado, lo que permite la conectividad con PC y otros dispositivos. Características del subsistema USB: programación dentro del sistema (ISP) a través de la ROM de inicio y actualización de los productos mediante la interfaz USB.

Dependiendo del modelo, los desarrolladores pueden aprovechar de 26 a 52 pines de entrada/salida de uso general (GPIO). Las interfaces de comunicación serial incluyen una I²C, dos SPI y tres UART. Se incluyen tres temporizadores de 32 bits que pueden generar pares PWM complementarios con inserción de banda muerta, junto con un temporizador de bajo consumo. La tensión de alimentación puede oscilar entre 1.71 y 3.6 V, y la temperatura de funcionamiento, entre -40 °C y +125 °C.

La MCXA143VLH de la serie A14x, por ejemplo, tiene un GPIO 52 pines y funciona hasta a 48 MHz, con 128 KB de memoria Flash y 32 KB de SRAM, en un encapsulado LQFP64. La MCXA152VFT de la serie 15x también tiene GPIO de 52 pines y funciona hasta 96 MHz, con 64 KB de memoria Flash y 16 KB de SRAM, en un encapsulado QFN48.

Aprovechar MCUXpresso

Estas MCU ofrecen un equilibrio entre costo, rendimiento y eficiencia energética. Al admitir más pines GPIO, los diseñadores pueden aprovechar paquetes más pequeños y diseños de placa más sencillos.

La serie aprovecha la MCUXpresso Developer Experience para facilitar el proceso de desarrollo con software, herramientas y aprovisionamiento seguro para acelerar los ciclos de diseño y ayudar a los desarrolladores a crear, depurar y optimizar aplicaciones. La plataforma MCUXpresso incluye:

  • MCUXpresso IDE: un entorno completo de desarrollo integrado que permite editar código, compilar, depurar y programar Flash.
  • MCUXpresso Config Tools: un conjunto de herramientas gráficas que ayudan a los desarrolladores a configurar los pines, relojes, periféricos y características de seguridad.
  • MCUXpresso SDK: un kit de desarrollo de software que proporciona una colección de controladores, middleware, bibliotecas y ejemplos.

Las placas de desarrollo de NXP para la serie MCX A, incluida la FRDM-MCXA153 (Figura 2), están diseñadas para la creación rápida de prototipos y el desarrollo de aplicaciones utilizando los microcontroladores A14x y A15x.

Imagen de la placa de desarrollo FRDM-MCXA153 de NXPFigura 2: La placa de desarrollo FRDM-MCXA153. (Fuente de la imagen: NXP)

Estas placas son compactas, lo que permite integrarlas fácilmente en prototipos de diseño. Las cabeceras estándar del sector proporcionan un acceso de E/S sencillo para una evaluación y creación de prototipos rápidas. Las opciones de expansión como la cabecera Arduino®, la cabecera FRDM, Pmod™ y mikroBUS™ permiten a los desarrolladores añadir fácilmente funcionalidades y componentes adicionales.

Otras características que facilitan el desarrollo son las interfaces serie de estándar abierto integradas, la memoria Flash externa y un depurador MCU-Enlace integrado con protocolo CMSIS-DAP. Los desarrolladores pueden elegir trabajar con MCUXpresso for Visual Studio Code o con el IDE MCUXpresso basado en Eclipse de NXP, o con los IDE de IAR y Keil que también ofrecen certificación de seguridad.

NXP también proporciona un repositorio de código de aplicación (ACH) con ejemplos de software de alto nivel, fragmentos de código y demos. Estos ejemplos se emparejan con el SDK y se puede acceder a ellos directamente desde los IDE de NXP o a través de la interfaz web de ACH.

Conclusión

Los microcontroladores de la serie MCX A de NXP ofrecen una solución de bajo coste y tamaño reducido para desarrolladores, con características esenciales y una arquitectura de alimentación innovadora que les permiten ser ideales para una amplia gama de aplicaciones integradas, como medidores inteligentes, automatización y control, y dispositivos de bajo consumo alimentados por batería/pila. Los microcontroladores, las placas de evaluación y la plataforma MCUXpresso de NXP pueden ayudar a los desarrolladores a aprovechar las funciones avanzadas de edición, compilación y depuración para innovar, optimizar y salir al mercado.

Fuente: https://www.digikey.es/es/articles/nxp-offers-an-arm-cortex-m33-development-ecosystem