Aumento de la integración en HMI embebidos
Los diseños de HMI en sistemas embebidos están evolucionando con rapidez mientras disminuye el coste que representa la fabricación de interfaces más modernos y elegantes. Algunas aplicaciones ya combinan interfaces táctiles como teclas, cursores, pantallas táctiles y respuesta háptica, con potentes visualizadores gráficos que utilizan la última generación de microcontroladores que integran controladores de visualizadores gráficos con periféricos para implementar controladores táctiles capacitivos y pantallas táctiles, así como USB, en un único chip. Los nuevos microcontroladores prometen combinar un menor coste de sistema y un mayor número de opciones para un nivel superior de integración del sistema. Sin embargo, aunque permiten que los diseñadores disminuyan el coste de hardware del sistema, de la fabricación y de inventario, el aumento de la complejidad para el desarrollo del software puede influir sobre el plazo de comercialización y exige una integración robusta del sensado táctil y de otras funciones de interface humano dentro de un único microcontrolador.
Pensemos en primer lugar cuál es el origen de estos aspectos a considerar. Tomemos por ejemplo el sensado táctil capacitivo. Cuando se presentaron por primera vez las teclas con sensado táctil, los diseñadores pronto se dieron cuenta de que no resulta tan sencillo como implementar los tradicionales botones de pulsación. Las teclas táctiles han de manejarse de la misma forma que los sensores analógicos. El ruido radiado o ruido que puede conducirse desde las fuentes del entorno como electrodomésticos, lámparas fluorescentes compactas, fuentes de alimentación, teléfonos móviles y motores, exigen una gestión cuidadosa. Para lograr teclas robustas y funcionales se deben aplicar técnicas de software como detección de contornos, filtrado, filtros antirrebotes y de pendiente de salida (slew rate), así como un buen trazado para la adquisición de señal. Actualmente, la necesidad de regenerar un LCD segmentado o gráfico cuando se recibe la entrada de usuario se debe añadir a este sistema de interface humano. La recreación de construcciones gráficas, como formas geométricas o texto, en un visualizador TFT u OLED, ha necesitado históricamente el ancho de banda de un procesador. Hay que tener en cuenta además las aplicaciones de interface humano que incorporan entradas de pantalla táctil además del visualizador gráfico y de las teclas táctiles, como en el termostato de la Figura 1. Finalmente, generalmente se necesitará asimismo un interface de comunicación como USB.
El reto, por tanto, es permitir el proceso en tiempo real de las entradas de usuario derivadas de las teclas táctiles, un sensor de pantalla táctil y comunicación de datos USB, así como la actualización del visualizador. La solución pertenece a dos categorías fundamentales para el hardware y el software subyacentes.
Implementación del hardware
Hay microcontroladores que combinan un controlador LCD y periféricos de sensado táctil en un único chip pero generalmente el controlador LCD gestiona un visualizador segmentado en lugar de un LCD gráfico.
La última generación de microcontroladores, como el PIC24FJ256DA210, mostrado en la Figura 2, lleva la integración a un nuevo nivel gracias a la combinación de un controlador de visualizador gráfico, un periférico USB 2.0 On-The-Go y un periférico analógico especial que puede se puede utilizar para sensado táctil. Como soporte a visualizadores gráficos, el PIC24FJ256DA210 incorpora una tabla de consulta de colores, una gran memoria RAM de 96KB, una unidad de proceso gráfico (graphics processing unit, GPU) y un interface directo a visualizadores STN, TFT y OLED. La gran RAM integrada permite almacenar datos gráficos de 256 colores con 8 bit por píxel para obtener un visualizador 320x240 QVGA dentro de la RAM integrada en el chip. Las paletas de color, utilizadas en la tabla de consulta de colores, también pueden conmutarse para utilizar diferentes conjuntos de rectángulos, texto ASCII y descompresión de imagen tipo PNG para su recreación mediante un simple comando. Esto reduce la utilización de la CPU al 0%.
La Figura 2 también muestra el periférico analógico de Unidad de Medida del Tiempo de Carga (Charge Time Measurement Unit, CTMU). El sensado táctil capacitivo es una de muchas aplicaciones que ofrece el periférico CTMU. El CTMU proporciona una fuente de corriente constante con un temporizador que puede utilizarse para cargar un panel sensor. La tensión del panel puede medirse con el convertidor A/D. Cuando el usuario coloca un dedo sobre el panel, el cambio de capacidad en el panel sensor se registra como un cambio de tensión por el convertidor A/D. En su implementación más sencilla, cada canal del convertidor A/D puede conectarse a una entrada de tecla táctil. Con 24 canales de convertidor A/D, el PIC24FJ256DA210 proporciona suficientes canales táctiles capacitivos para cubrir las necesidades de la mayoría de aplicaciones.
Es preciso añadir otra consideración relativa al hardware. Si la aplicación tiene una entrada de pantalla táctil resistiva y teclas táctiles, para funciones de acceso rápido a menú el LCD gráfico se sobrecarga con un sensor de pantalla táctil resistiva. Si el controlador de pantalla táctil se integra en el microcontrolador principal, las salidas del sensor de pantalla táctil, que generalmente tienen 4 o 5 hilos, pueden conectarse a los canales analógicos del microcontrolador. En este caso, el recurso del convertidor A/D en el microcontrolador se comparte entre las funciones de teclas táctiles y la función de pantalla táctil. Las medidas del convertidor A/D se emplean para estimar las coordinadas XY detectadas en la pantalla táctil.
Implementación del software
Generalmente, el firmware para los controladores de visualizadores gráficos y el sensado táctil capacitivo estarán disponibles como bibliotecas separadas. Para una integración efectiva de esas bibliotecas se requiere una rutina principal que funcione básicamente como un Sistema Operativo en Tiempo Real (Real-Time Operating System, RTOS) para establecer las prioridades y la frecuencia de servicio de cada tarea. Para tareas que compartan recursos de hardware comunes, la rutina principal también necesita establecer un mecanismo para una actualización no destructiva del control y de los registradores de datos para el recurso compartido, con anterioridad a la conmutación entre tareas. En el ejemplo anterior, tanto los sensores de pantalla táctil como las teclas táctiles alimentan el convertidor A/D. La velocidad de muestreo del convertidor A/D, los canales a muestrear y el número de muestras necesarias, difieren en función del sensor de pantalla táctil y de las teclas. Por tanto es necesario que la rutina principal guarde esos parámetros antes de conmutar entre dos tareas.
Dado que el usuario puede, en cualquier momento, proporcionar una entrada tanto por medio de la pantalla táctil como de las teclas táctiles, es posible que la rutina principal necesite establecer una división temporal para permitir el barrido de ambos sensores con la frecuencia suficiente. Es posible que el visualizador necesite actualizaciones periódicas si, por ejemplo, la aplicación está recreando gráficos animados en la pantalla.
Si el visualizador sólo se actualiza cuando el usuario realiza las selecciones de menú, entonces no hay contención de los recursos de la CPU entre el sensado táctil y las funciones de controlador de visualizador. Como dispositivo de ejemplo (PIC24FJ256DA210) cuenta con un hardware dedicado para aceleración gráfica, por lo que división de tiempo entre funciones táctiles y gráficas deja de ser un problema. En este dispositivo, la recreación de una caja, una línea o texto ASCII requiere tan sólo un comando generado por la CPU. Hay disponible un proyecto de demostración que muestra la integración entre las teclas táctiles, el sensor de pantalla táctil y el visualizador gráfico utilizando las bibliotecas de software subyacentes, se puede descargar gratuitamente con la biblioteca mTouch™ Capacitive-Touch y se puede ejecutar en la tarjeta de desarrollo del PIC24FJ256DA210 mostrada en la Figura 3.
Hay otras funciones que pueden integrarse en un solo chip junto con el sensado táctil. Por ejemplo, el periférico CTMU se puede utilizar para medir la temperatura, en instrumentación médica, medida del tiempo y otras funciones. En una aplicación como un termostato es posible utilizar el periférico CTMU para medir la temperatura, así como para el sensado táctil, utilizando para ello un diodo externo. Dado que la medida de temperatura sólo se ha de realizar con poca frecuencia, es posible compartir este periférico para realizar estas dos funciones.
Comunicaciones USB
La integración de USB y el sensado táctil es relativamente sencilla si se siguen unas reglas sencillas. Cuando la aplicación se conecta a un host USB atraviesa una fase de enumeración durante la cual el ancho de banda del CPU debe dedicarse a fondo para realizar la función USB. Las funciones de sensado táctil deben reinicializarse en un par de minutos una vez completada la fase de enumeración. Cuando la enumeración está completa, las funciones USB consumen una cantidad muy pequeña de ancho de banda de la CPU, generalmente menos del 2%. En este punto, la rutina principal puede optar por atender la función de receptor USB periódicamente, cada milisegundo aproximadamente, o bien conmutar a un método más controlado por interrupciones.
Muchas aplicaciones con interfaces táctiles han empezado a incorporar una respuesta háptica. La integración háptica en una aplicación es más que un reto de tipo mecánico. La respuesta háptica exige generalmente un sencillo periférico de Modulación de Anchura de Pulso (Pulse Width Modulation, PWM) para controlar un pequeño vibrador o motor. Es previsible que, en algunas aplicaciones, el periférico PWM integrado también se utilice para dirigir un altavoz de audio. En tales casos, una integración efectiva puede exigir la disponibilidad de bases de tiempos independientes para el canal PWM que está controlando el motor háptico y para el que controla el altavoz de audio.
Conclusión
Si bien la integración en un solo chip del visualizador gráfico y las funciones de sensado táctil permite disminuir el coste del sistema, la complejidad del software puede representar un factor real para el plazo de comercialización. La implementación se ve simplificada si se selecciona una plataforma de microcontrolador con soporte a bibliotecas de gráficos, USB y software de sensadoi táctil que hayan sido diseñadas y prpobadas para ser interoperativas y en las cuales se haya demostrado una integración robusta.
Autor: Rishi Vasuki, Director de Marketing de Producto,
División de Arquitectura de Microcontroladores Avanzados, Microchip Technology.
Articulos Electrónica Relacionados
- Microcontroladores MCX de NXP ... Mouser Electronics, Inc ya distribuye los microcontroladores (MCU) industriales y de IoT MCX de NXP Semiconductors. Estos MCU nuevos son microcontroladores de a...
- Microcontroladores Infineon XM... Infineon Technologies presenta su nueva familia de microcontroladores XMC4000 de 32 bits, que utiliza el procesador ARM® Cortex™-M4. En el diseño de esta famili...
- Microcontroladores de 8 bits c... LAPIS Semiconductor Co., Ltd., empresa del Grupo ROHM, ha desarrollado recientemente microcontroladores de 8 bits equipados con un circuito oscilador que propor...
- Controlador externo MCP2517FD ... Microchip anuncia la disponibilidad del primer controlador externo del mercado para CAN Flexible Data Rate (CAN FD). El MCP2517FD ofrece a los diseñadore...
- Microcontrolador ARM® Cortex®-... RS Components (RS) y Allied Electronics (Allied), marcas comerciales de Electrocomponents plc presenta nuevas opciones para desarrollar proyectos de automatizac...
- Controladores DEPA, Digitally ... Microchip presenta sus controladores Digitally Enhanced Power Analogue (DEPA) más recientes: el MCP19118 y el MCP19119 (MCP19118/9). Ambos proporcionan un contr...
- Familia de microcontroladores ... Cada vez más hay más productos de uso diario conectados a la nube, desde teléfonos móviles y vehículos hasta termostatos y electrodomésticos inteligentes. Este ...
- Hacia la energía solar descone... El coste de la energía solar está cayendo hasta tal punto que ha dejado de ser la barrera de entrada que solía ser para numerosas aplicaciones desconectadas de ...
- MCU de 32 Bit Bolster para alt... Renesas Electronics Europe presenta un microcontrolador de ayuda al desarrollo de aplicaciones basadas en el contacto en el hogar, la construcción, autom...
- Controladores para motores int... Microchip Technology ha presentado una nueva familia de drivers para motores integrados y basados en DSC (Digital Signal Controller) dsPIC® con el fin de implem...
- Dispositivos Microchip CEC1736... Ante la evolución de las normas tecnológicas y de ciberseguridad, Microchip Technology facilita el acceso a las soluciones de seguridad embebidas con sus dispos...
- MCU Maxim MAX32652 de ultra ba... Mouser Electronics, Inc. está distribuyendo el microcontrolador MAX32652 de ultra-baja potencia de Maxim Integrated. Ofreciendo a los diseñadores ...