Utilice un microcontrolador optimizado de 8 bits para simplificar el diseño de dispositivos con recursos limitados

Actualización: 25 de abril de 2024

Para los diseñadores de dispositivos con limitaciones de energía y espacio, como herramientas eléctricas, productos de higiene personal, juguetes, electrodomésticos y controles de iluminación, tradicionalmente ha sido suficiente una unidad de microcontrolador (MCU) de 8 bits. Sin embargo, a medida que las aplicaciones evolucionan, requieren mayor velocidad, opciones periféricas más potentes y herramientas de desarrollo de software más sólidas. Migrar a una alternativa de 16 o 32 bits puede ayudar, pero a menudo a costa de un tamaño de paquete mayor y más potencia.

Para abordar estos problemas, los diseñadores pueden aprovechar las MCU basadas en la arquitectura 8051 que aportan muchos de los beneficios de los procesadores de 16 y 32 bits al dominio de 8 bits. Lo hacen en un paquete tan pequeño como 2 x 2 milímetros (mm) y al mismo tiempo ofrecen un entorno de desarrollo moderno.

Este artículo describe brevemente la arquitectura 8051 y su idoneidad para aplicaciones con recursos limitados. Luego presenta una familia de MCU basadas en 8051 de Silicon Labs, describe los principales subsistemas y muestra cómo cada uno aborda desafíos críticos de diseño. El artículo concluye analizando el soporte de hardware y software.

¿Por qué utilizar la arquitectura 8051?

Al seleccionar una MCU para una aplicación con limitaciones de espacio, los procesadores de 8 bits, como el bien establecido 8051, ofrecen muchas ventajas, incluido un tamaño reducido, un bajo consumo de energía y un diseño simple. Sin embargo, muchos procesadores 8051 tienen periféricos relativamente simples, lo que limita su idoneidad para casos de uso específicos. Por ejemplo, los convertidores analógico-digital (ADC) de baja resolución son insuficientes para aplicaciones de alta precisión como los dispositivos médicos.

Los relojes relativamente lentos también pueden ser un problema. La MCU 8051 típica funciona a frecuencias de reloj de 8 megahercios (MHz) a 32 MHz, y los diseños más antiguos requieren múltiples ciclos de reloj para procesar instrucciones. Esta baja velocidad puede limitar la capacidad de las MCU de 8 bits para admitir operaciones en tiempo real, como el control preciso del motor.

Además, los entornos tradicionales de desarrollo de software para procesadores 8051 no están alineados con las expectativas de los desarrolladores de software modernos. Cuando se combina con las limitaciones inherentes de una arquitectura de 8 bits, esto puede provocar un proceso de codificación lento y frustrante.

Las limitaciones de los procesadores tradicionales de 8 bits pueden llevar a los desarrolladores a considerar la migración a MCU de 16 o 32 bits. Si bien estas MCU ofrecen una amplia potencia informática, periféricos de alto rendimiento y entornos de software modernos, también son relativamente grandes. Esto hace que sea más difícil integrarlos en diseños con limitaciones de espacio, lo que puede retrasar el desarrollo o aumentar el tamaño del diseño.

El mayor tamaño del código y el consumo de energía asociados con las MCU de 16 y 32 bits también pueden generar diseños subóptimos. Estos inconvenientes son particularmente problemáticos para las numerosas aplicaciones que no implican matemáticas complejas y, por tanto, no se benefician de las capacidades avanzadas de estos procesadores.

El equilibrio ideal de estas compensaciones puede no ser evidente al inicio de un proyecto, y cambiar los procesadores a mitad del diseño puede retrasar el desarrollo o comprometer el tamaño o la funcionalidad del producto. Por lo tanto, muchos diseños con limitaciones de espacio pueden beneficiarse de una MCU basada en 8051 más capaz que aporta muchas de las ventajas de los procesadores de 16 y 32 bits al dominio compacto y de bajo consumo de 8 bits.

EFM8BB50 aporta mayor funcionalidad a los MCU de 8 bits

Silicon Labs construyó el EFM8BB50 familia de MCU de 8 bits teniendo en cuenta estas consideraciones (Figura 1). Estas MCU ofrecen rendimiento mejorado, periféricos avanzados y un entorno de desarrollo de software moderno.

Figura 1: Se muestra un diagrama de bloques de la MCU EFM8BB50. (Fuente de la imagen: Silicon Labs)

El corazón de la MCU es el núcleo CIP-51 8051, una implementación de Silicon Labs de la arquitectura 8051 optimizada para un mayor rendimiento, un menor consumo de energía y una funcionalidad mejorada. La actuación es especialmente destacable. En el EFM8BB50, el núcleo alcanza velocidades de hasta 50 MHz y el 70% de las instrucciones se ejecutan en uno o dos ciclos de reloj. Esto proporciona a las MCU un rendimiento considerablemente mayor que el de los procesadores tradicionales de 8 bits, lo que proporciona a los desarrolladores margen para aplicaciones más complejas.

Las MCU también destacan por sus diminutas dimensiones. Las variantes de 16 pines de la familia, como el EFM8BB50F16G-A-QFN16, están disponibles en paquetes tan pequeños como 2.5 mm x 2.5 mm. Las versiones de 12 pines como el EFM8BB50F16G-A-QFN12 son aún más pequeños, con tamaños de paquete de hasta 2 mm x 2 mm.

A pesar de sus pequeñas dimensiones, las MCU EFM8BB50 cuentan con una impresionante variedad de características, que incluyen:

  • Un ADC de 12 bits, esencial para aplicaciones que requieren datos precisos del sensor
  • Un sensor de temperatura integrado que permite a la MCU monitorear su temperatura interna o la temperatura ambiente sin la necesidad de componentes externos
  • Un conjunto de contadores programables (PCA) de tres canales con modulación de ancho de pulso (PWM) que puede generar señales PWM para control de salida variable en aplicaciones como control de motores y atenuación de LED.
  • Un motor PWM de tres canales con inserción de tiempo muerto (DTI) para mayor control de la electrónica de potencia, como controladores de motor o convertidores de potencia.

Otras entradas/salidas (E/S) incluyen una variedad de interfaces de comunicaciones en serie, un conjunto de temporizadores de 8 y 16 bits y cuatro unidades lógicas configurables. Todos los pines de la familia MCU tienen capacidad de 5 voltios y las E/S digitales se pueden asignar de manera flexible para aprovechar al máximo el número limitado de pines.

Gestión avanzada de energía

El EFM8BB50 incorpora varias funciones de gestión de energía para optimizar el consumo de energía y prolongar la vida útil de la batería. Estos comienzan con múltiples modos de energía, incluido un modo inactivo que reduce la velocidad del reloj central mientras mantiene activos los periféricos. El modo de parada va más allá al detener el núcleo y la mayoría de los periféricos, preservando al mismo tiempo la RAM y el contenido del registro. Algunos periféricos se pueden configurar para reactivar el núcleo desde el modo de parada, beneficiando a las aplicaciones controladas por eventos que permanecen predominantemente en un estado de bajo consumo.

Las opciones de sincronización flexible ayudan aún más a la conservación de energía. Un oscilador interno de precisión elimina la necesidad de osciladores de cristal externos en muchos escenarios, lo que reduce el consumo general de energía. La MCU también admite la activación del reloj, que desactiva selectivamente los relojes de varios periféricos, lo que permite a los desarrolladores apagar los que no están en uso.

Los periféricos también están diseñados teniendo en cuenta la eficiencia energética. En particular, la unidad lógica configurable (CLU) puede realizar funciones lógicas simples de forma independiente, lo que reduce la necesidad de que el núcleo se active desde los modos de bajo consumo para tareas simples. Además, el UART de baja energía (LEUART) puede funcionar en modos de potencia en los que el oscilador primario está desactivado, lo que permite la comunicación en serie en estados de baja potencia.

Apoyar el desarrollo de software intuitivo

Los desarrolladores pueden crear software para la familia EFM8BB50 en Simplicity Studio Suite de Silicon Labs. Este entorno se utiliza para el EFM8BB8 de 50 bits, los MCU de 32 bits de la empresa y sus sistemas inalámbricos en chip (SoC). Como resultado, los desarrolladores obtienen un entorno moderno con las características que esperarían de procesadores más potentes. Por ejemplo, ofrece un perfilador de energía que proporciona perfiles de energía del código en tiempo real (Figura 2).

Figura 2: Simplicity Studio incluye un generador de perfiles de energía que proporciona perfiles de energía del código en tiempo real. (Fuente de la imagen: Silicon Labs)

Las herramientas se basan en un entorno de desarrollo integrado (IDE) con editores de código, compiladores, depuradores y un motor de interfaz de usuario (UI) estándar de la industria para desarrollar interfaces modernas y responsivas. Este entorno de desarrollo proporciona acceso a recursos web y SDK específicos del dispositivo, así como a herramientas de configuración de software y hardware especializadas.

Simplicity Studio también es compatible con Silicon Labs Secure Vault. Secure Vault, un conjunto de seguridad altamente avanzado con certificación PSA Nivel 3, permite a los diseñadores reforzar los dispositivos de Internet de las cosas (IoT) y proteger su superficie de ataque contra amenazas cibernéticas en aumento, mientras se alinea con las regulaciones de ciberseguridad en evolución.

Cómo empezar rápidamente con los kits de evaluación

Los desarrolladores interesados ​​en experimentar con el EFM8BB50 pueden considerar el kit Explorer BB50-EK2702A que se muestra en la Figura 3. Este kit de formato pequeño está alineado con las dimensiones de la placa de pruebas para una fácil conexión a sistemas prototipo y hardware de laboratorio. Cuenta con una interfaz USB, un depurador SEGGER J-Link integrado, un LED y un botón para la interacción del usuario. El kit es totalmente compatible con Simplicity Studio Suite y se puede utilizar con la utilidad Energy Profiler. Se proporcionan ejemplos de software para cada periférico y demostraciones que ejercitan el LED, el botón y el UART.

Figura 3: Se muestra el kit Explorer BB50-EK2702A. (Fuente de la imagen: Silicon Labs)

El kit incluye una toma mikroBUS y un conector Qwiic. Este soporte adicional de hardware permite a los desarrolladores crear y crear prototipos de aplicaciones rápidamente utilizando placas disponibles en el mercado de varios proveedores.

Los desarrolladores interesados ​​en un punto de partida más completo pueden utilizar el kit profesional BB50-PK5208A que se muestra en la Figura 4. Diseñado para evaluaciones y pruebas en profundidad, este kit contiene sensores y periféricos que demuestran muchas de las capacidades de la MCU.

Figura 4: Se muestra el kit profesional BB50-PK5208A para evaluaciones y pruebas en profundidad. (Fuente de la imagen: Silicon Labs)

El Pro Kit incluye conectividad USB, una memoria de consumo ultrabajo de 128 x 128 píxeles LCD, un joystick analógico de ocho direcciones, un LED y un botón pulsador de usuario. También cuenta con el sensor de temperatura y humedad relativa Si7021 de Silicon Labs y múltiples fuentes de alimentación, incluido USB y una batería de tipo botón.

Para expansión, la placa ofrece un conector de 20 mm y 2.54 pines. También proporciona almohadillas de conexión para acceso directo a los pines de E/S. Al igual que el Explorer Kit, el Pro Kit es compatible con Energy Profiler y se entrega con ejemplos de software para cada periférico.

Opciones del depurador EFM8BB50

Silicon Labs ofrece múltiples depuradores para respaldar sus MCU. Para la depuración de uso general, la empresa ofrece DEBUGADPTR1-USB, un adaptador de depuración USB de 8 bits con un conector simple de 10 pines.

Hay capacidades más especializadas disponibles en el depurador de enlace Simplicity SI-DBG1015A. Esto se conecta a la interfaz Mini Simplicity incluida en ambos kits mencionados anteriormente. Además de su funcionalidad básica, Simplicity Link ofrece capacidades adicionales, incluido un depurador SEGGER J-Link, una interfaz de seguimiento de paquetes, un puerto COM virtual y terminales de conexión para sondear fácilmente señales individuales.

Conclusión

Las MCU 8051 modernas, como la EFM8BB50, incorporan funciones típicamente asociadas con dispositivos de 16 y 32 bits al dominio de 8 bits. Con sus rápidas velocidades de reloj, periféricos de alto rendimiento y un robusto entorno de desarrollo de software, esta familia de MCU ofrece a los desarrolladores la combinación adecuada de capacidades para un número cada vez mayor de aplicaciones donde el espacio y la energía son limitados pero se requiere mayor rendimiento y flexibilidad.