Partilhar via


Visão geral da medição da latência de hardware touch down

Latência é uma medida de atraso de tempo experimentado no sistema de digitalizador de toque. A latência inerente de um sistema é um dos parâmetros mais importantes do dispositivo touch e sempre representa uma compensação entre vários recursos importantes: níveis de ruído (SNR), sensibilidade, consumo de energia, tremulação e assim por diante.

O ponto de partida para a medição de latência é um padrão bem definido; é o momento em que o dedo ou a caneta (atuador) toca na tela pela primeira vez em um determinado contato. O ponto final para reduzir a latência de hardware é o momento em que o sistema operacional host (por exemplo, Windows 8) se torna ciente da mensagem do digitalizador de toque de destino (para dispositivos USB, este é o momento em que a solicitação de interrupção em massa é detectada em um controlador USB dedicado para digitalizadores de toque; geralmente, essa solicitação indica um relatório HID de entrada com informações de contato iniciais.) Para todas as finalidades práticas, esse ponto de extremidade é idêntico ao do ponto de extremidade WndProc, que é o momento em que o aplicativo host se torna ciente do contato pela primeira vez (por exemplo, por meio de mensagens de WM_INPUT e WM_POINTER para aplicativos nativos ou por meio de uma mensagem Windows::UI::Input::P ointerPoint para aplicativos da Microsoft Store).

Metodologia

Este procedimento se baseia na onda acústica/mecânica produzida pelo dedo tocando o digitalizador para medir essa latência. Vale a pena observar que mesmo o menor contato de toque produzirá uma onda acústica/mecânica substancial na superfície do digitalizador, que pode ser detectada de forma clara e inequívoca (ou seja, com SNR extremamente alto, praticamente zero falsos positivos e quase nenhum falso negativo) ser detectado usando até mesmo os microfones off-the-shelf mais simples.

A metodologia depende do assunto de teste tocar manualmente na tela touch várias vezes. Isso ocorre porque a latência é probabilística por natureza – devido à incerteza inerente à função de verificação). Isso nos permite criar uma função de distribuição cumulativa empírica. Existem expectativas previsíveis para essa função, permitindo estimar a qualidade da medida geral. Usando esses dados, você pode extrair parâmetros básicos para a distribuição.

Cada medida é executada de forma bastante simples: uma entidade de teste toca o digitalizador com um dedo, criando a onda acústica/mecânica. Um pequeno, mas mensurável atraso entre o contato real e o momento em que a onda atinge o microfone no digitalizador é gravado. Em seguida, a onda é detectada pelo microfone, amplificada e limitada adequadamente, portanto, está sendo convertida em nível lógico 0 ou 1). Esse valor lógico é alimentado na placa microcontrolador (por exemplo, um AT90USBKEY2), que aceita essa alteração com baixa latência (~μs) e a transmite para o dispositivo em teste com no máximo 1ms de latência, por meio de um relatório USB HID (1ms é o período mínimo de sondagem para dispositivos USB de velocidade total, como o AT90USBKEY2).

No lado do host (ou seja, o dispositivo em teste), dois eventos estão sendo antecipados. A primeira é a recepção de um relatório HID da placa microcontrolador, indicando que o contato físico ocorreu. O segundo é o relatório HID do digitalizador de toque. A diferença de tempo entre os dois relatórios representa a latência de retoque.

Há duas incertezas nesta medida; um método foi criado para reduzir ambos. A primeira incerteza é que há um atraso de tempo entre o contato real e a hora em que a onda atinge o microfone (ou para ser mais específica, entre o contato real e o tempo lógico 1 é recebido no microcontrolador). Isso é compensado pela adição de uma etapa adicional à metodologia – uma calibragem. Antes de iniciar medidas de latência, o tempo necessário para a onda se propagar da posição mais distante no digitalizador para o microfone (microcontrolador) é medido. Essas informações são usadas para fornecer uma estimativa de erro absoluta para cada medida individual posteriormente. Na maioria dos casos, isso está abaixo de 2ms (dependendo do tamanho da tela e dos materiais usados para a superfície do digitalizador).

A segunda incerteza é a latência introduzida pelo canal USB entre o microcontrolador e o computador host (o dispositivo em teste). Isso é tratado introduzindo um carimbo de data/hora de 48 bits em cada relatório HID do microcontrolador. Esse carimbo de data/hora é definido quando o lógico 1 foi detectado na porta de entrada do microcontrolador (com latência ~μs entre esse evento e a geração do valor do carimbo de data/hora). Em seguida, os relógios no host (o computador que está sendo testado) e o lado de destino (microcontrolador) podem ser sincronizados para produzir os resultados mais precisos.

Essa metodologia pode ser totalmente automatizada e totalmente repetível; um robô pode ser usado para induzir o toque em vez de um participante humano. Em vez disso, a solução mais simples, contando com um participante humano e uma medida natural, com configuração mais simples e conveniente, é recomendada. Os resultados observados indicam precisão consistente, o que indica que um equilíbrio foi alcançado entre a complexidade da instalação e a precisão da medida.

Requisitos de hardware

Esta seção detalha os componentes de hardware necessários. A finalidade do equipamento é descrita, mas os números reais de parte não são fornecidos aqui (estes serão fornecidos posteriormente neste artigo.

  • Um microfone – para detectar ondas acústicas no digitalizador de toque. Um microfone piezoelétrico pequeno e simples que pode ser facilmente gravado na tela touch é recomendado.

  • Um amplificador acústico para amplificar o sinal do microfone.

  • Um circuito de limitação – para distinguir o som de toque do ruído ambiental.

  • Uma placa microcontrolador com capacidade de USB HID e capacidade de sondagem em pelo menos duas portas de entrada com latência ~μs.

  • Circuito de calibragem – para medir a propagação de ondas acústicas, ou seja, o tempo entre o toque que ocorre e o lógico 1 sendo recebido no microcontrolador.

A próxima seção discute uma implementação da configuração de medição de latência de retoque.

Instruções detalhadas

O dispositivo de hardware para executar medidas é apresentado na imagem a seguir. A caixa tem três furos: entrada de microfone, entrada de placa de metal de calibragem e saída microcontrolador micro USB.

placa de circuito para reduzir a latência de hardware

A próxima imagem mostra o circuito do microfone, do amplificador acústico e do thresholder. O comparador do microcontrolador pode ser usado para aplicar o limite.

diagrama de circuito para reduzir a latência de hardware

A conexão de microfone é mostrada na imagem a seguir. Observe que um microfone off-the-shelf muito simples está sendo usado nesta configuração, suficiente para discriminar de forma confiável e precisa entre toques e ruídos ambientais.

placa de circuito com anexo de microfone

A entrada da placa de calibragem vai para o outro orifício, conforme mostrado na imagem a seguir.

placa de calibragem conectada à placa de circuito

A placa microcontrolador usada é AT90USBKEY2.

Conforme descrito na metodologia, essa placa microcontrolador é usada para detectar alterações na saída do circuito de limitação, ou seja, lógica 0 e 1 (a mesma para calibragem e placa metálica). Quando um sinal de áudio é detectado com uma magnitude que excede o limite, essa alteração é detectada e um relatório HID é enviado ao host para cada evento desse tipo. À medida que a onda sonora oscila, o limite será excedido várias vezes; para evitar o envio de um evento de alteração sempre que o limite for excedido, a lógica do controlador deve ignorar o sinal de áudio por algum período de tempo após cada evento de alteração. Esse intervalo de tempo deve ser longo o suficiente para que o resultado final seja apenas um evento de alteração por toque de dedo. Durações maiores que 500 ms geralmente funcionam. Como alternativa, um multivibrador mono estáveis pode ser usado ou um circuito lógico adicional pode ser usado, colocado após a entrada do amplificador de áudio e do MCU. Para reutilizar a configuração recomendada (firmware + software), você deve alimentar a saída do circuito de limitação de áudio no pino de entrada C0 e a saída do circuito de placas metálicas para a entrada C1. A placa do microcontrolador e o circuito de limitação devem ter um terreno compartilhado (os motivos devem ser conectados). O posicionamento dos pinos C0 e C1, bem como o solo, é mostrado nas duas imagens a seguir.

porta c da placa de circuito

A área delineada do retângulo vermelho (porta C da placa AT90USBKEY) da imagem anterior é mostrada ampliada na imagem a seguir, com os pinos C0, C1 e terra marcados adequadamente.

pins c0, c1 e ground realçados

Para obter mais informações sobre este quadro, visite o site do fabricante e o guia do usuário de hardware para o quadro.