Partager via


Vue d’ensemble de la mesure de la latence matérielle de la touche Tactile

La latence est une mesure du délai rencontré dans le système du numériseur tactile. La latence inhérente d’un système est l’un des paramètres les plus importants de l’appareil tactile et représente toujours un compromis entre plusieurs fonctionnalités importantes : niveaux de bruit (SNR), sensibilité, consommation d’énergie, gigue, etc.

Le point de départ de la mesure de latence est une norme bien définie ; c’est le moment où le doigt ou le stylet (actionneur) touche l’écran pour la première fois dans un contact donné. Le point de terminaison de la latence matérielle de touche est le moment où le système d’exploitation hôte (par exemple, Windows 8) prend connaissance du message du numériseur tactile cible (pour les appareils USB, c’est le moment où la demande d’interruption en bloc est détectée sur un contrôleur USB dédié pour les numériseurs tactiles ; généralement, cette demande indique un rapport HID entrant avec les informations de contact initiales.) À toutes fins pratiques, ce point de terminaison est identique à celui du point de terminaison WndProc, qui est le moment où l’application hôte prend pour la première fois connaissance d’un contact (par exemple, par le biais de messages WM_INPUT et WM_POINTER pour les applications natives, ou via un message Windows::UI::Input::P ointerPoint pour les applications du Microsoft Store).

Méthodologie

Cette procédure s’appuie sur l’onde acoustique/mécanique produite par le doigt qui touche le numériseur pour mesurer cette latence. Il est à noter que même le moindre contact tactile produit une onde acoustique/mécanique importante sur la surface du numériseur, ce qui peut clairement et sans ambiguïté (c’est-à-dire, avec un SNR extrêmement élevé, pratiquement zéro faux positifs et presque aucun faux négatifs) être détecté à l’aide même des microphones les plus simples.

La méthodologie repose sur le fait que le sujet de test touche manuellement l’écran tactile plusieurs fois. En effet, la latence est de nature probabiliste en raison de l’incertitude inhérente à la fonction d’analyse). Cela nous permet de créer une fonction de distribution cumulative empirique. Il existe des attentes prévisibles pour cette fonction, ce qui permet d’estimer la qualité de la mesure globale. À l’aide de ces données, vous pouvez extraire les paramètres de base de la distribution.

Chaque mesure est exécutée assez simplement : un sujet d’essai touche le numériseur avec un doigt, créant ainsi l’onde acoustique/mécanique. Un délai faible mais mesurable entre le contact réel et le moment où l’onde atteint le microphone sur le numériseur est enregistré. L’onde est ensuite détectée par le microphone, amplifiée et seuilée de manière appropriée, ce qui la convertit en niveau logique 0 ou 1). Cette valeur logique est transmise à la carte de microcontrôleur (par exemple, un AT90USBKEY2), qui accepte cette modification avec une faible latence (~μs) et la transmet à l’appareil testé avec une latence maximale de 1 ms, via un rapport HID USB (1 ms est la période d’interrogation minimale pour les périphériques USB à pleine vitesse tels que l’AT90USBKEY2).

Du côté de l’hôte (autrement dit, l’appareil en cours de test), deux événements sont anticipés. La première est la réception d’un rapport HID à partir de la carte du microcontrôleur, indiquant qu’un contact physique a eu lieu. Le deuxième est le rapport HID du numériseur tactile. La différence de temps entre les deux rapports représente la latence de la touche.

Cette mesure comporte deux incertitudes; une méthode a été conçue pour réduire les deux. La première incertitude est qu’il existe un délai entre le contact réel et le moment où l’onde atteint le microphone (ou, pour être plus précis, entre le contact réel et l’heure de réception logique 1 sur le microcontrôleur). Cela est compensé par l’ajout d’une étape supplémentaire à la méthodologie : un étalonnage. Avant de commencer les mesures de latence, le temps nécessaire à la propagation de l’onde à partir de la position la plus éloignée du numériseur vers le microphone (microcontrôleur) est mesuré. Ces informations sont utilisées pour fournir une estimation absolue des erreurs pour chaque mesure individuelle ultérieurement. Dans la plupart des cas, cette valeur est inférieure à 2 ms (en fonction de la taille de l’écran et des matériaux utilisés pour la surface du numériseur).

La deuxième incertitude est la latence introduite par le canal USB entre le microcontrôleur et l’ordinateur hôte (l’appareil testé). Pour ce faire, vous introduisez un horodatage 48 bits à chaque rapport HID à partir du microcontrôleur. Ce timestamp est défini lorsque la logique 1 a été détectée sur le port d’entrée du microcontrôleur (avec une latence ~μs entre cet événement et la génération de la valeur d’horodatage). Ensuite, les horloges de l’hôte (l’ordinateur testé) et du côté cible (microcontrôleur) peuvent être synchronisées pour obtenir les résultats les plus précis.

Cette méthodologie peut être entièrement automatisée et est entièrement reproductible; un robot pourrait être utilisé pour induire le toucher au lieu d’un participant humain. Au lieu de cela, la solution la plus simple, s’appuyant sur un participant humain et la mesure naturelle, avec une configuration plus simple et plus pratique est recommandée. Les résultats observés indiquent une précision cohérente, ce qui indique qu’un équilibre a été atteint entre la complexité de la configuration et la précision de la mesure.

Configuration matérielle requise

Cette section détaille les composants matériels requis. L’objectif d’une pièce d’équipement est décrit, mais les numéros de pièces réels ne sont pas fournis ici (ils seront fournis plus loin dans le présent document.

  • Microphone pour détecter les ondes acoustiques sur le numériseur tactile. Un micro piézoélectrique petit et plat qui peut facilement être tapé sur l’écran tactile est recommandé.

  • Un amplificateur acoustique pour amplifier le signal du microphone.

  • Circuit de seuil pour distinguer le son tactile du bruit de l’environnement.

  • Carte de microcontrôleur avec fonctionnalité USB HID et capacité d’interrogation sur au moins deux ports d’entrée avec une latence ~μs.

  • Circuit d’étalonnage : pour mesurer la propagation des ondes acoustiques, c’est-à-dire le temps entre le contact et la réception logique 1 sur le microcontrôleur.

La section suivante décrit une implémentation de la configuration de la mesure de latence de la touche.

Instructions détaillées

L’appareil matériel pour effectuer des mesures est présenté dans l’image suivante. La boîte a trois trous : entrée microphone, entrée de plaque métallique d’étalonnage et sortie micro USB microcontrôleur.

carte de circuits imprimés pour la latence matérielle de la touche

L’image suivante montre le circuit du microphone, de l’amplificateur acoustique et du seuilur. Le comparateur de microcontrôleur peut être utilisé pour appliquer le seuil.

diagramme de circuit pour la latence matérielle de la prise en charge

La connexion de microphone est illustrée dans l’image suivante. Notez qu’un microphone prêt à l’emploi très simple est utilisé dans cette configuration, suffisant pour établir une distinction fiable et précise entre les robinets et le bruit de l’environnement.

carte de circuits imprimés avec une pièce jointe au microphone

L’entrée de plaque d’étalonnage passe dans l’autre trou, comme illustré dans l’image suivante.

plaque d’étalonnage connectée au circuit imprimé

La carte de microcontrôleur utilisée est AT90USBKEY2.

Comme décrit dans la méthodologie, cette carte de microcontrôleur est utilisée pour détecter les changements sur la sortie du circuit de seuil, à savoir les logiques 0 et 1 (les mêmes pour l’étalonnage et la plaque métallique). Lorsqu’un signal audio est détecté avec une magnitude dépassant le seuil, ce changement est détecté et un rapport HID est envoyé à l’hôte pour chaque événement de ce type. Lorsque l’onde sonore oscille, le seuil sera dépassé plusieurs fois ; afin d’éviter d’envoyer un événement de modification à chaque dépassement du seuil, la logique du contrôleur doit ignorer le signal audio pendant un certain temps après chaque événement de modification. Cet intervalle de temps doit être suffisamment long pour que le résultat final ne soit qu’un seul événement de modification par appui sur le doigt. Les durées supérieures à 500 ms fonctionnent généralement. Vous pouvez également utiliser un multivibrateur mono-stable ou un circuit logique supplémentaire, placé après l’amplificateur audio et l’entrée MCU. Pour réutiliser la configuration recommandée (microprogramme + logiciel), vous devez alimenter la sortie du circuit de seuil audio dans la broche d’entrée C0 et la sortie du circuit de plaque métallique à l’entrée C1. La carte de microcontrôleur et le circuit de seuil doivent avoir un sol partagé (les terrains doivent être connectés). La position des broches C0 et C1 ainsi que du sol est illustrée dans les deux images suivantes.

port c de la carte de circuit imprimé

La zone délimitée du rectangle rouge (port C de la carte AT90USBKEY) de l’image précédente est affichée avec zoom avant dans l’image suivante, avec les broches C0, C1 et ground marquées de manière appropriée.

Épingles c0, c1 et ground mises en surbrillance

Pour plus d’informations sur cette carte, consultez le site web du fabricant et le guide de l’utilisateur du matériel pour la carte.