Construcción de dispositivos inteligentes más efectivos: Parte 3: Rendimiento del procesador
Colaboración de Editores de DigiKey de América del Norte
2018-10-30
Nota del editor: Esta serie de tres partes trata de la construcción de dispositivos inteligentes más efectivos. La parte 1 analiza las técnicas de diseño de baja energía para equilibrar potencia y rendimiento. La parte 2 aborda los desafíos de la seguridad del usuario. La parte 3 (aquí) revisa las especificaciones de MCU requeridas para cumplir con los objetivos de diseño.
Los usuarios esperan que los dispositivos inteligentes sean altamente capaces y seguros, y tengan una vida de batería prolongada. Para ayudar a cumplir con estas expectativas, los desarrolladores ahora tienen a su disposición MCU que no solo proporcionan rendimiento de baja energía y memoria para satisfacer los requisitos de funciones inmediatas, sino que también permiten realizar actualizaciones seguras para mejorar funciones y arreglar errores.
Debido a que los MCU representan el núcleo de dispositivos de IoT y portátiles, al igual que otros productos inteligentes portátiles, es esencial contar con la mezcla correcta de alto rendimiento y baja energía para ejecutar aplicaciones de software cada vez más sofisticadas en productos de formato pequeño a la vez que se minimiza el consumo de batería. Junto con una seguridad garantizada, la vida útil larga y la facilidad de uso son esenciales para la experiencia del usuario.
Este artículo mostrará cómo satisfacer estos requisitos mediante una línea de MCU estándar bien respaldada de Maxim Integrated.
Definición de una buena experiencia del usuario
De muchas maneras, los requisitos de los usuarios no difieren esencialmente de aquellos que los desarrolladores han tratado de satisfacer en el pasado. Sin embargo, los diseñadores enfrentan una diferencia esencial en soluciones aceptables para nuevos productos inteligentes. Cada vez más, los usuarios esperan productos que sean compactos, ligeros y puedan llevar con comodidad o colocar discretamente en sus casas o negocios. Los usuarios tienden a aceptar más fácilmente un producto inteligente que no les exija una atención exagerada u operaciones molestas para usar, recargar y actualizar, y permanecer seguros a la vez.
Junto con una interacción sencilla, los usuarios esperan que los productos inteligentes mantengan un tamaño y una apariencia (incluido el “estilo”) bastante similares a los productos tradicionales que cumplen con funciones similares. Por ejemplo, los usuarios estarían más dispuestos a aceptar un dispositivo deportivo portátil que se asemeje más a un brazalete o reloj de pulsera que un dispositivo de apariencia extraña para usarlo en sus muñecas.
Por supuesto, aunque los productos pasen la prueba de facilidad de interacción y estilo, pueden fallar si no logran ofrecer suficiente valor al usuario. Un accesorio para la muñeca estilizado que ofrece poca información útil no es más que una muñequera cara. Se requiere un cierto nivel de inteligencia invisible para que la tecnología y el estilo encajen.
Para implementar esta inteligencia invisible, los desarrolladores necesitan adaptar las características de alto nivel como interacción cómoda, apariencia familiar e información de alto valor para que se traduzca en requisitos precisos adecuados para la aplicación.
Requisitos adicionales
Para el diseñador, satisfacer las expectativas del usuario para una interacción sencilla significa proporcionar un rendimiento suficiente para brindar rápidamente resultados de software de aplicaciones sofisticadas que funcionan en el producto inteligente. Estos requisitos operativos, a su vez, se traducen en una necesidad de procesadores capaces de ejecutar dicho software a la vez que se extrae información más útil de una cantidad creciente de modalidades de sensor.
Al obtener esta información, estos dispositivos ganarán acceso a información privilegiada que requiere sólidos mecanismos de seguridad para proporcionar protección sin socavar el rendimiento de la aplicación.
Además de esas necesidades inmediatas, los dispositivos inteligentes necesitan nuevos tipos de ataques en forma de actualizaciones de software que funcionan de manera invisible sin molestar al usuario. Al mismo tiempo, los diseños necesitan incorporar funciones de ahorro de energía eficaces capaces de prolongar la vida de la batería sin molestar al usuario con baterías voluminosas o ciclos de recarga frecuentes.
Los distintos requisitos que se necesitan para asegurar la facilidad de uso son desafiantes en sí, pero su dificultad aumenta por la necesidad de satisfacer las expectativas estéticas del usuario para los productos inteligentes. Una batería voluminosa, un espacio excesivo o una interfaz de usuario extraña pueden eliminar el interés del usuario antes de que ni siquiera intente interactuar con el producto.
Al incluir la inteligencia en un diseño, los desarrolladores necesitan encontrar un equilibrio entre los extremos de forma versus función. Para lograr este equilibrio, los desarrolladores deben, además, calificar sus alternativas de solución, al enfocarse en opciones capaces de resolver conflictos tradicionales entre alto rendimiento y baja energía, entre una funcionalidad amplia y el espacio, y entre flexibilidad y seguridad.
Otro factor es el costo. La rápida evolución de IoT y de los productos portátiles e inteligentes, significa que el desarrollador debe proporcionar el hardware que pueda admitir requisitos futuros, junto con actualizaciones de software. Al planificar mejoras de funciones futuras, los desarrolladores deben equilibrar el costo incremental del dispositivo que podría necesitarse para agregar potencia y almacenamiento adicionales a sus diseños originales.
La mejor oportunidad que tienen los desarrolladores de hallar una solución para estos requisitos amplios radica en la MCU en el centro de los diseños de productos inteligentes incrustados. A pesar de que las MCU de 8 y 16 bits siguen siendo populares, a medida que los usuarios aumentan sus expectativas, los productos inteligentes deben proporcionarles rendimiento y funcionalidad mayores. Como resultado, las MCU de 32 bits también se han vuelto populares para los diseños de sistemas de productos inteligentes. Por ejemplo, en comparación con las MCU de 8 o 16 bits, las MCU de 32 bits pueden realizar operaciones fundamentales tales como agregar 32 bits en menos ciclos de instrucciones que esos MCU más antiguos (Lista 1).
Copy anl PSW, #0E7H ;Register Bank 0 mov a, r0 ;load X low byte into acc add a, r4 ;add Y low byte mov r0, a ;save result mov a, rl ;load X next byte into acc addc a, r5 ;add Y next byte with carry mov rl, a ;save result mov a, r2 ;load X next byte into acc addc a, r6 ;add Y next byte mov r2, a ;save result mov a, r3 ;load X high byte into acc addc a, r7 ;add Y high byte with carry mov r3, a mov C, OV ret(A) mov a, r0 add rl mov r0, a ret(B)
Lista 1: Para realizar una adición de 32 bits, una MCU de 8 bits necesita un número considerablemente mayor de ciclos (A) en comparación con la cantidad de ciclos (B) de una MCU de 32 bits para la misma operación. (Fuente del código: Maxim Integrated)
La necesidad de MCU de 32 bits de alto rendimiento se vuelve incluso más relevante cuando los diseñadores combinan secuencias de datos de sensores múltiples en algoritmos de fusión de sensores. Entre sus otras funciones, los algoritmos de fusión de sensores se usan para generar la orientación precisa y la información de ubicación interior que los usuarios esperan cada vez más de sus productos móviles y portátiles. En este ambiente, las capacidades de las MCU avanzadas, tales como la familia de MCU Darwin de Maxim Integrated se vuelven esenciales para proporcionar la inteligencia invisible esperada.
Inteligencia invisible esperada
Las MCU Darwin están diseñadas específicamente para admitir los requisitos de los nuevos productos inteligentes. Con una combinación de funcionamiento de baja energía y un conjunto completo de capacidades integrales, la familia incluye lasMAX32620, MAX32625 y MAX32630.
Basadas en el Arm® Cortex®-M4 de 32 bits con unidad de punto flotante (FPU), las MCU Darwin combinan un soporte completo para un funcionamiento de baja energía con bloques especializados para manejo periférico, supervisión de energía y criptografía (Figura 1). Las variantes seguras como laMAX32631 amplían el respaldo de seguridad mediante una unidad de protección de confianza (TPU) integrada, capaz de respaldar privacidad, integridad y autenticidad en cada interacción entre el producto inteligente y los hosts externos.

Figura 1: Las MCU Darwin como la MAX32630 y su variante segura, la MAX32631, combinan un rendimiento de procesador de 32 bits con un conjunto integral de periféricos, interfaces y bloques especializados, incluidos los mecanismos de seguridad clave que respaldan la unidad de protección de unidad (TPU) en la MAX32631. (Fuente de la imagen: Maxim Integrated)
Los desarrolladores pueden aprovechar los periféricos e interfaces en serie digitales y analógicos múltiples de las MCU para simplificar el diseño de hardware para sistemas que usan sensores múltiples. Maxim Integrated demuestra su diseño simplificado con su kit de evaluación MAXREFDES100. El kit incluye una placa y diseño de referencia que muestra el uso de sensores múltiples, incluidos el sensor de temperatura corporal humana MAX30205, el front end análogo ECG (AFE) MAX30003, el oxímetro de pulso MAX30101 y otros que se usarían en dispositivos deportivos portátiles.
A pesar de que las interfaces flexibles son necesarias para capturar los datos más complejos, la arquitectura del conjunto de instrucciones de Darwin permite que esas MCU ejecuten rápidamente los algoritmos complejos que se requieren cada vez más para extraer información útil de datos. El conjunto de instrucciones combina instrucciones de 16 y 32 bits, lo que reduce el espacio del software de la aplicación mientras retiene la capacidad de la arquitectura de 32 bits para realizar más instrucciones por bytes. Junto con su FPU integrada, la arquitectura de CPU de Darwin incluye capacidades de procesamiento paralelo acumulado múltiple de hardware (MAC) de alta velocidad, así como de instrucciones únicas para datos múltiples (SIMD), que proporcionan capacidades de procesamiento de señal digital.
Esta combinación de instrucciones de punto flotante y DSP ayudan a que las MCU Darwin ejecuten más rápidamente los algoritmos intensivos de datos necesarios para colocar inteligencia en los productos de la próxima generación. Al mismo tiempo, las MCU integran memorias incorporadas en el chip que son lo suficientemente grandes como para almacenar algoritmos y otros códigos de aplicaciones, junto con un complemento creciente de software de nivel de sistema que incluye núcleos de tiempo real, pilas de comunicación y pilas de protocolo de seguridad. Entre los miembros de la familia de MCU Darwin, los desarrolladores pueden encontrar una mezcla de flash y SRAM más adecuados para sus aplicaciones. Las MCU MAX32630/MAX32631 ofrecen 2 Mbytes de flash y 512 Kbytes de SRAM, la MAX32620 ofrece 2 Mbytes de flash y 256 Kbytes de SRAM, y la MAX32625 ofrece 512 Kbytes de flash y 160 Kbytes de SRAM. Para simplificar el trabajo con estas memorias, las MCU Darwin son compatibles con un mapa de memoria constante que combina sus distintos tipos de memoria y registros mapeados de memoria en un solo espacio de dirección (Figura 2).

Figura 2: Las MCU Darwin usan un solo espacio de dirección que contiene sus distintos tipos de memoria, así como registros mapeados de memoria para sus bloques funcionales. (Fuente de la imagen: Maxim Integrated)
Los desarrolladores pueden, además, ampliar el flash disponible para lograr compatibilidad con conjuntos de códigos o bibliotecas de sistemas muy extensos. Las MCU son compatibles con las operaciones de ejecución en el lugar (XIP), que permiten a la CPU ejecutar códigos directamente desde el flash externo. Maxim Integrated demuestra este enfoque en su diseño de referencia de MAXREFDES100, el cual incluye el dispositivo flash S25FS256SAGNFI001del semiconductor Cypress de 32 Mbytes.
Con su memoria amplia y sus capacidades de procesamiento, las MCU Darwin aún satisfacen las necesidades de los desarrolladores por un consumo de baja energía. Las MCU MAX32630/MAX32631, que son compatibles con la memoria integrada más grande entre las mencionadas aquí, pueden retener sus 512 Kbytes de SRAM con tan poco como 3.4 microvatios (µW). En su modo completamente activo, siguen consumiendo solo 130 µW/MHz. Además, pueden proporcionar un punto medio entre los dos, al consumir 30 µW/MHz en un modo especial que utiliza la unidad de manejo periférico (PMU) integrada que habilita las operaciones periféricas, mientras que el núcleo de la CPU se mantiene en un estado de inactividad de muy baja energía.
La capacidad de las MCU Darwin para operar los periféricos mientras el procesador está inactivo permite a los desarrolladores reducir la energía al limitar el tiempo que la CPU necesita permanecer en modo activo. En lugar de utilizar una CPU totalmente activa para sondear los sensores y transmitir los resultados a un host, los desarrolladores pueden usar las instrucciones de la MCU Darwin de Esperar para interrumpir, Esperar por evento e Inactividad en salida para minimizar el ciclo de servicio activo y, de esta manera, reducir la energía del sistema general (Figura 3).

Figura 3: En un dispositivo portátil u otro sistema de sensor, los desarrolladores pueden reducir dramáticamente la energía maximizando el tiempo que la CPU pasa en un estado de inactividad de baja energía, al activarse solo durante el tiempo necesario para obtener datos del sensor y transmitir los resultados a un host. (Fuente de la imagen: Maxim Integrated)
Con su tiempo de actividad de 5 µs, estas MCU reducen la cantidad de energía que desperdician normalmente MCU más lentas al pasar del modo inactivo al activo. Junto con sus estados inactivos de retención de SRAM, estos dispositivos pueden rápidamente continuar con el procesamiento sin demoras largas y energía desperdiciada por los estados de guardado y restauración mediante memorias externas no volátiles. Como resultado, los ingenieros pueden desarrollar aplicaciones conscientes de la energía y muy eficientes.
Para admitir el desarrollo de estas aplicaciones, Maxim proporciona el desarrollo de software de firmware (SDK) de MAX326XX, que incluye controladores periféricos, controladores de compatibilidad de placa y aplicaciones de muestra (Figura 4).

Figura 4: El desarrollo de software de firmware (SDK) de MAX326XX de Maxim Integrated ayuda a los desarrolladores de software de aplicaciones con aplicaciones de muestra del uso de los controladores de placa y periféricos de SDK integrados en la API estándar de interfaz de software de microcontrolador Arm Cortex (CMSIS). (Fuente de la imagen: Maxim Integrated)
Las bibliotecas de la placa y periféricos de SDK de firmware de MAX326XX están integradas en la API estándar de interfaz de software de microcontrolador Arm Cortex (CMSIS). A su vez, el software de la aplicación generalmente interactúa con las bibliotecas de placa y periféricos, pero puede interacturar directamente con el CMSIS para alcanzar el hardware subyacente de ser necesario.
Conclusión
Los usuarios esperan que los dispositivos portátiles, dispositivos de IoT y otros dispositivos inteligentes brinden aplicaciones sofisticadas en sistemas que interactúen fácilmente, sean cómodos de usar y ofrezcan un valor considerable. Para satisfacer estas demandas, los desarrolladores necesitan MCU que combinen una amplia funcionalidad, procesamiento de alto rendimiento y un funcionamiento de baja energía.
Diseñada específicamente para satisfacer estos requisitos, la familia de MCU Darwin de Maxim Integrated permite a los desarrolladores crear más fácilmente dispositivos con inteligencia invisible necesaria para satisfacer las expectativas de los usuarios de productos inteligentes.
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.




