Información general sobre la medición de la latencia de hardware de Touch Down
La latencia es una medida del retraso de tiempo experimentado en el sistema de digitalizador táctil. La latencia inherente de un sistema es uno de los parámetros más importantes del dispositivo táctil y siempre representa un equilibrio entre varias características importantes: niveles de ruido (SNR), sensibilidad, consumo de energía, vibración, etc.
El punto de partida para la medición de latencia es un estándar bien definido; es el momento en el que el dedo o el lápiz óptico (actuador) toca la pantalla por primera vez en un contacto determinado. El punto de conexión para la latencia de hardware táctil es el momento en que el sistema operativo host (por ejemplo, Windows 8) es consciente del mensaje del digitalizador táctil de destino (para los dispositivos USB es el momento en que se detecta la solicitud de interrupción masiva en un controlador USB dedicado para digitalizadores táctiles; normalmente, esta solicitud indica un informe HID entrante con información de contacto inicial). Para todos los propósitos prácticos, este punto de conexión es idéntico al del punto de conexión WndProc, que es el momento en que la aplicación host se da cuenta por primera vez del contacto (por ejemplo, a través de WM_INPUT y WM_POINTER mensajes para aplicaciones nativas, o a través de un mensaje Windows::UI::Input::P ointerPoint para aplicaciones de Microsoft Store).
Metodología
Este procedimiento se basa en la onda acústica/mecánica producida por el dedo tocando el digitalizador para medir esta latencia. Vale la pena señalar que incluso el contacto táctil más claro producirá una onda acústica/mecánica sustancial en la superficie del digitalizador, que puede ser claramente e inequívocamente (es decir, con SNR extremadamente alto, prácticamente cero falsos positivos y casi no falsos negativos) se detecta mediante incluso los micrófonos más sencillos fuera del estante.
La metodología se basa en el asunto de prueba tocando manualmente la pantalla táctil varias veces. Esto se debe a que la latencia es probabilística por naturaleza, debido a la incertidumbre inherente a la función de examen). Esto nos permite crear una función de distribución acumulativa empírica. Existen expectativas predecibles para esta función, lo que permite calcular la calidad de la medición general. Con estos datos, puede extraer parámetros básicos para la distribución.
Cada medida se ejecuta bastante simplemente: un sujeto de prueba toca el digitalizador con un dedo, creando la onda acústica/mecánica. Un retraso pequeño pero mensurable entre el contacto real y el momento en que la onda alcanza el micrófono en el digitalizador se graba. Después, el micrófono detecta la onda, amplificada y umbralizada adecuadamente, por lo que se convierte en un nivel lógico 0 o 1). Este valor lógico se introduce en la placa de microcontrolador (por ejemplo, AT90USBKEY2), que acepta este cambio con baja latencia (~μs) y lo transmite al dispositivo sometido a prueba con una latencia máxima de 1 ms, a través de un informe HID USB (1 ms es el período de sondeo mínimo para dispositivos USB de velocidad completa, como AT90USBKEY2).
En el host (es decir, el dispositivo sometido a prueba), se prevén dos eventos. La primera es la recepción de un informe HID de la placa de microcontrolador, lo que indica que tuvo lugar el contacto físico. El segundo es el informe HID del digitalizador táctil. La diferencia en el tiempo entre los dos informes representa la latencia de reducción táctil.
Hay dos incertidumbres en esta medición; se ha diseñado un método para reducir ambos. La primera incertidumbre es que hay un retraso de tiempo entre el contacto real y el momento en que la onda alcanza el micrófono (o para ser más específico, entre el contacto real y el tiempo lógico 1 se recibe en el microcontrolador). Esto se compensa agregando un paso adicional a la metodología: una calibración. Antes de comenzar las mediciones de latencia, se mide el tiempo que tarda la onda en propagarse desde la posición más lejana del digitalizador al micrófono (microcontrolador). Esta información se usa para proporcionar una estimación de errores absoluta para cada medida individual más adelante. En la mayoría de los casos, esto es inferior a 2 ms (dependiendo del tamaño de la pantalla y los materiales utilizados para la superficie del digitalizador).
La segunda incertidumbre es la latencia introducida por el canal USB entre el microcontrolador y el equipo host (el dispositivo sometido a prueba). Esto se trata mediante la introducción de una marca de tiempo de 48 bits a cada informe HID del microcontrolador. Esta marca de tiempo se establece cuando se ha detectado 1 lógico en el puerto de entrada del microcontrolador (con ~μs latencia entre este evento y la generación del valor de marca de tiempo). A continuación, los relojes del host (el equipo que se está probando) y el lado de destino (microcontrolador) se puede sincronizar para producir los resultados más precisos.
Esta metodología se puede automatizar completamente y es totalmente repetible; un robot podría utilizarse para inducir el toque en lugar de un participante humano. En su lugar, se recomienda la solución más sencilla, basándose en un participante humano y una medición natural, con una configuración más sencilla y cómoda. Los resultados observados indican una precisión coherente, que indica que se ha logrado un equilibrio entre la complejidad de la configuración y la precisión de la medición.
Requisitos de hardware
En esta sección se detallan los componentes de hardware necesarios. El propósito de la pieza de equipo se describe, pero los números de pieza reales no se proporcionan aquí (estos se proporcionarán más adelante en este documento.
Un micrófono: para detectar ondas acústicas en el digitalizador táctil. Se recomienda un micrófono piezoeléctrico pequeño y plano que se pueda pulsar fácilmente en la pantalla táctil.
Un amplificador acústico: para amplificar la señal del micrófono.
Un circuito de umbral: para distinguir el sonido táctil del ruido ambiental.
Una placa de microcontrolador con capacidad USB HID y capacidad de sondeo en al menos dos puertos de entrada con latencia ~μs.
Circuito de calibración: para medir la propagación de ondas acústicas, es decir, el tiempo entre el contacto táctil y el lógico 1 que se recibe en el microcontrolador.
En la sección siguiente se describe una implementación de la configuración de la medición de latencia de touch down.
Instrucciones detalladas
El dispositivo de hardware para realizar mediciones se presenta en la imagen siguiente. La caja tiene tres orificios: entrada del micrófono, entrada de placa metálica de calibración y salida micro USB del microcontrolador.
En la imagen siguiente se muestra el circuito para el micrófono, el amplificador acústico y el umbral. El comparador de microcontroladores se puede usar para aplicar el umbral.
La conexión de micrófono se muestra en la imagen siguiente. Tenga en cuenta que se usa un micrófono muy sencillo fuera del estante en esta configuración, suficiente para discriminar de forma confiable y precisa entre las pulsaciones y el ruido ambiental.
La entrada de placa de calibración entra en el otro agujero, como se muestra en la imagen siguiente.
La placa de microcontrolador usada es AT90USBKEY2.
Como se describe en la metodología, esta placa de microcontrolador se usa para detectar cambios en la salida del circuito de umbral, es decir, lógico 0 y 1 (lo mismo para calibración y placa metálica). Cuando se detecta una señal de audio con una magnitud que supera el umbral, se detecta ese cambio y se envía un informe HID al host para cada evento de este tipo. A medida que oscila la onda de sonido, el umbral se superará varias veces; para evitar el envío de un evento de cambio cada vez que se supera el umbral, la lógica del controlador debe omitir la señal de audio durante algún período de tiempo después de cada evento de cambio. Ese intervalo de tiempo debe ser lo suficientemente largo para que el resultado final sea solo un evento de cambio por pulsación de dedo. Las duraciones de más de 500 ms suelen funcionar. Como alternativa, se puede usar un multivibrator monoestable o se puede utilizar un circuito lógico adicional, colocado después del amplificador de audio y la entrada MCU. Para reutilizar la configuración recomendada (firmware + software), debe alimentar la salida del circuito de umbral de audio en el pin de entrada C0 y la salida del circuito de placa metálica a la entrada C1. La placa de microcontrolador y el circuito de umbral deben tener un suelo compartido (los terrenos deben estar conectados). La colocación de las patillas C0 y C1, así como el suelo, se muestra en las dos imágenes siguientes.
El área delimitación de rectángulo rojo (puerto C de la placa AT90USBKEY) de la imagen anterior se muestra acercada en la siguiente imagen, con patillas C0, C1 y tierra marcadas correctamente.
Para obtener más información sobre esta placa, visite el sitio web del fabricante y la guía del usuario del hardware para la placa.