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
- Portabilidad de plataforma par... La estandarización en una sola plataforma para microcontroladores encabeza la lista de los deseos en el sector, pero incluso con un núcleo común los diseñadores...
- GD32F303 / GD32F305 / GD32F307... Basado en el núcleo Cortex®-M4 de 120 MHz y compatible con la funcionalidad DSP rápida, Mecter presenta el GD32F303 / GD32F305 / GD32F307 de 32 bits MCU de prop...
- Microcontroladores PIC® de 8 b... Microchip ha presentado en el Embedded World 2014, una ampliación de su catálogo de microcontroladores PIC® de 8 bit con la familia PIC12(L)F157X, que incorpora...
- Microcontrolador Renesas serie... Renesas Electronics Corporation ha presentado el grupo de microcontroladores (MCU) RA8T1 basado en el procesador Arm® Cortex®-M85. Los dispositivos RA8T1 aborda...
- Microcontroladores PIC® PIC24F... Microchip anuncia la ampliación de su catálogo de microcontroladores PIC® de bajo consumo. Entre las características de la nueva famili...
- Controladores de pantalla táct... Microchip anuncia una nueva familia de controladores de pantalla táctil maXTouch®. La familia MXT1665T-A de controladores de pantalla táctil h...
- Microcontrolador Renesas R9A02... Mouser ya tiene en stock los microcontroladores (MCU, por sus siglas en inglés) de baja potencia R9A02G021 de Renesas Electronics. El R9A02G021, que ofrece a lo...
- Virtualización Segura en Micro... Green Hills Software acaba de anunciar la disponibilidad de µ-visor™, su hipervisor de virtualización para el micontrolador (MCU) Renesas RH850/UA2. µ-visor par...
- Microcontroladores de 32 bit P... Microchip anuncia una nueva serie dentro de su familia PIC32MZ de altas prestaciones formada por microcontroladores de 32 bit que integra una unidad de coma flo...
- Microcontroladores 16-bit de ... Renesas Electronics anuncia el lanzamiento del Grupo RL78/G1C de microcontroladores (MCUs), que son los primeros MCUs 16-bit en la industria que se ajustan a la...
- 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 ...
- Módulo de microcontrolador de ... Ante la expansión de IoT (Internet de las Cosas) más allá de la automatización del hogar, su mayor presencia en el control del hogar – como por ejemplo de siste...