Comment mesurer la latence de panoramique tactile
Cette rubrique fournit des instructions et des procédures d’installation détaillées pour mesurer la latence de panoramique tactile conformément à la certification matérielle pour Windows 8.1. Il suppose que le lecteur est familiarisé avec les écrans tactiles, qu’il comprend le concept de latence de l’écran tactile et qu’il a une compréhension de base de l’ingénierie électrique et logicielle.
Vue d’ensemble
La latence est une mesure du délai rencontré dans le système du numériseur tactile. La latence de touche est le temps entre le doigt ou le stylet (actionneur) qui touche l’écran et le système d’exploitation hôte recevant le contact (généralement via un rapport HID). La latence de panoramique est légèrement plus compliquée, car le contact se déplace le long d’un chemin continu, mais les rapports arrivent dans des intervalles de temps discrets. Par conséquent, la latence de panoramique est définie uniquement en termes d’intervalles de temps discrets pour lesquels les données tactiles signalées sont disponibles. La mesure de la latence de panoramique est ensuite réduite à la connaissance du délai entre le moment où le contact se produit réellement et le moment où le système d’exploitation reçoit l’événement tactile.
Méthodologie
Cette rubrique décrit la configuration et les procédures permettant de mesurer la latence panoramique d’un périphérique matériel tactile à l’aide d’un moteur d’étape et d’un sélecteur de photo. Le moteur à pas entraîne un bras mécanique pour conduire un actionneur qui simule un doigt humain. L’actionneur dessine un cercle sur l’appareil testé et le circuit d’interruption photo détecte quand l’actionneur se trouve à un certain point de contrôle. Ces informations sont envoyées à l’ordinateur hôte à l’aide d’un microcontrôleur et l’application de test calcule la latence en fonction du moment où l’appareil signale un événement tactile et du moment où l’actionneur prend réellement contact. Le diagramme suivant illustre le concept global.
Configuration matérielle requise
Cette section décrit les composants matériels requis pour mesurer la latence de panoramique.
Moteur d’étape et photo-interrupteur
L’outil de mesure se compose d’un moteur à pas, d’un photo-interrupteur, d’un bras pivotant et d’un actionneur, ainsi que d’une boîte de contrôle, qui est visible en arrière-plan de la figure suivante.
La zone de contrôle a trois commutateurs de contrôle et un commutateur d’alimentation.
Moteur : pour activer et désactiver le bras moteur d’étape.
Étalonner : non utilisé pour la latence de panoramique , désactivez-le. (Utilisé pour la latence de chargement uniquement.)
Mode : basculez entre Tach (fait référence au photo-interrupteur utilisé pour la mesure de latence panoramique) et Mic (microphone utilisé pour la mesure de latence tactile).
Pour la mesure de la latence de panoramique, les paramètres initiaux doivent être les suivants :
Nom de commutateur | State |
---|---|
Power |
Désactivé |
Motricité |
Désactivé |
Calibrer |
Désactivé |
Mode |
Tachymètre |
Mettez sous tension la zone de contrôle après avoir branché l’USB à l’ordinateur. Le branchement usb après l’alimentation de la boîte de contrôle peut entraîner un état imprévisible du microcontrôleur.
Paramètres du moteur pas à pas
Le moteur pas à pas peut être programmé pour fonctionner de différentes manières. Par défaut, le moteur pas à pas est programmé pour s’exécuter en mode d’étalonnage automatisé. (Ce mode est expliqué plus en détail dans la section « Mode d’étalonnage automatisé » plus loin dans le document.) Le mode d’étalonnage automatisé est conçu pour réduire les erreurs d’étalonnage et les variations de latence par étalonnage manuel.
Pendant les phases d’acquisition et de collecte, le moteur fonctionne à une vitesse constante de 0,75 tours par seconde. Les paramètres de moteur pas à pas utilisés pour les étapes d’acquisition et de collecte sont les suivants :
AC (accélération) = 0,167
DE (décélération) = 0,167
VE (vélocité) = 0,75
En utilisant ces paramètres, le moteur d’étape tourne une fois toutes les 1,33 secondes.
Longueur du bras
La vitesse angulaire diffère selon le rayon du bras. Par exemple, si le rayon du cercle est d’environ 5 cm, la vitesse est d’environ 25 cm par seconde. Pour normaliser la procédure d’essai, la longueur du bras doit avoir un rayon de 5 cm pour atteindre la vitesse de 25 cm par seconde. Une tolérance de ±1 est autorisée, c’est-à-dire de 24 à 26 cm par seconde.
Dans le cas d’une tablette plus petite d’une taille d’affichage allant jusqu’à 10 pouces de diagonale, le rayon recommandé est de 3 cm au lieu de 5 cm.
Positionnement du bras
Dans l’idéal, vous devez couvrir autant de zones de l’écran que possible en exécutant le test plusieurs fois dans différentes parties de l’écran. La latence dans n’importe quelle partie du numériseur est censée être égale ou inférieure à la latence cible (15 ms).
Appareil de test avec un clavier : si vous utilisez une tablette, vous aurez besoin d’un clavier externe pour effectuer les procédures de test.
Placer l’appareil de test sur une surface non glissante : placez l’appareil de test de manière à ce qu’il ne se déplace pas pendant le test. Pour un petit appareil, une solution simple consiste à le placer sur un pavé antidérapant, comme illustré dans la figure ci-dessous. Une autre méthode consiste à avoir une accolade pour maintenir l’appareil fermement en place.
Niveau de l’appareil de test : l’actionneur est conçu pour réduire l’effet du nivellement afin que le nivellement ne soit pas obligé d’être parfait. Toutefois, vous devez vous assurer que la surface de l’actionneur (environ 9 mm de diamètre) touche l’appareil uniformément et ne se tient pas sur un bord.
Fermez tous les processus inutiles à partir de l’appareil de test : étant donné que vous mesurez les performances du système, fermez tous les processus inutiles de l’appareil de test.
Configuration logicielle requise
Le logiciel requis doit être installé et configuré par le contrôleur de logo et le client. S’il s’exécute en tant que autonome, copiez stepmotor.exe, wlklogannotation.dll et WTTLog.dll dans un dossier local.
Procédure de test pour l’outil Triex RA
La procédure de test se compose de trois étapes : étalonnage, acquisition et collecte. Toutefois, avant de commencer le test, vous devez mettre à niveau l’appareil. Le point de nivellement consiste à l’aligner sur le niveau du moteur tournant en cercles. S’il n’est pas correctement nivelé, l’actionneur n’établit pas de bons contacts avec le numériseur et les cercles dessinés par le moteur d’étape deviendront irréguliers et affecteront considérablement les nombres de latence à la fin. Des méthodes de vérification sont incluses pour échouer le test si l’appareil n’est pas correctement a nivelé ou aligné.
Étalonnage
Lorsque vous démarrez stepmotor.exe, un écran vide s’affiche. Appuyez sur la touche espace pour démarrer l’étalonnage. L’objectif de l’étalonnage est de localiser la position signalée d’un contact à l’intérieur d’une estimation d’erreur tolérable lorsque le photo-interrompeur est signalé. Étant donné que les résultats de l’étalonnage peuvent grandement affecter les nombres de latence, il est important de bien étalonner.
Paramétrage
Connectez le microcontrôleur à l’ordinateur.
Activez le commutateur d’alimentation de la zone de contrôle.
Nom de commutateur State Power
Activé
Motricité
Désactivé
Calibrer
Désactivé
Mode
Tachymètre
Assurez-vous que le commutateur moteur est désactivé.
Assurez-vous que le photo-interrupteur ne signale pas (la lumière de l’interrompeur photo est éteinte). L’emplacement du disque doit être positionné environ 2 à 3 mm au-delà du faisceau de signal de l’interrompateur photo.
Il y a deux raisons à ce positionnement. Tout d’abord, lorsque vous allumez le moteur, le bras du moteur va giguer légèrement. Quand c’est le cas, vous ne voulez pas qu’il traverse le faisceau et donc faire le signal de l’interruption photo. Deuxièmement, lorsque vous exécutez un script d’étalonnage automatisé, il s’agit de la position où la boucle démarre et vous souhaitez vous assurer que la fin de la boucle (au début de l’étalonnage) s’aligne correctement pour se trouver sous le photo-interrupteur. Si vous effectuez un calibrage manuel, il s’agit toujours d’une bonne position pour commencer, donc vous n’avez rien à changer.
Ne déplacez pas ou ne baissez pas le bras tant que vous n’entrez pas dans la phase d’étalonnage.
Exécutez stepmotor.exe. Si vous exécutez le programme via le contrôleur Windows HLK, sélectionnez la machine et le test de latence panoramique pour démarrer le test.
Le message texte suivant s’affiche :
Appuyez sur la barre d’espace pour démarrer le processus d’étalonnage.
Appuyez sur la barre d’espace. Le mot ÉTALONNAGE s’affiche à l’écran.
Abaissez l’actionneur sur la surface de l’écran.
Étapes de test (automatisées)
Allumez le moteur. Le moteur pas à pas s’exécute en mode étalonnage neuf fois.
À la fin du mode d’étalonnage, il s’arrête pendant cinq secondes. Suivez les instructions de la section Acquisition de cette rubrique.
Étapes de test (manuelles)
Tournez lentement le bras dans la même direction que celle dans laquelle le moteur se déplacera lorsqu’il sera allumé.
Réduisez la vitesse presque au point d’un arrêt complet lorsque l’aiguille (ou le trou) passe à travers le photo-interrupteur. (Notez que la vitesse maximale ne doit pas dépasser 1 % de la vitesse d’acquisition/de collecte; autrement dit, si la vitesse d’acquisition/de collecte est de 25 cm/s, la vitesse d’étalonnage lorsque l’emplacement passe à travers l’interruption photo doit être inférieure à 0,25 cm/s.)
Tournez soigneusement le bras pour passer à travers l’interruption de photo.
Répétez les étapes 1 à 2 au moins six fois.
Lorsque le signal est interrompu, vous devriez voir le photo-interrupteur clignoter et la fenêtre de test signale l’emplacement exact de l’écran où l’actionneur effectue un contact. Voici un exemple de résultat :
Touch Pointer Update count=0, x=508,y=110 Touch Pointer Update count=1, x=512,y=113
Résultats attendus
Si l’étalonnage est effectué avec succès, aucun message d’erreur ne s’affiche.
Achat
Pendant l’étape d’acquisition, la vélocité du moteur de marche et la forme du cercle sont calculées.
Paramétrage
Assurez-vous que l’emplacement est placé aussi loin que possible du photo-interrupteur.
Étapes de test
Appuyez sur la barre d’espace et allumez le commutateur Moteur en même temps. Le texte à l’écran doit passer à ACQUISITION.
Laissez l’appareil s’exécuter pendant environ dix boucles.
Appuyez de nouveau sur la barre d’espace pour passer en mode COLLECTION.
Résultats attendus
L’écran affiche que le mode COLLECTION est actif et affiche les données d’acquisition. Elle affiche une liste de temps et de vélocité calculées pour chaque boucle. Les premières boucles peuvent être ignorées si le moteur de l’étape a gigue et a montré de mauvais résultats. Voici un exemple de texte :
[4]: t: 1.333 [s] v: 25.456 [cm/s]
Cela vous indique les informations suivantes :
[loop number]: t:<loop time in seconds> [s] v:<velocity> [cm/s]
Collection
La collecte de données représente l’étape finale du test.
Paramétrage
Assurez-vous que le mot COLLECTION s’affiche en haut de l’écran. Si le mot ÉTALONNAGE reste après avoir appuyé sur la barre d’espace, une erreur s’est produite. Vous devrez réexécuter le test.
Étapes de test
Laissez le moteur tourner environ dix boucles.
Appuyez sur la barre d’espace pour terminer le test.
Désactivez le commutateur Moteur.
Résultats attendus
Vous verrez des résultats de réussite ou d’échec.
Procédure de test pour l’outil RA ITRI
La procédure d’exécution de l’outil de latence panoramique tactile sur l’outil ITRI RA est légèrement différente de l’exécution du test avec l’outil Triex RA. Le test lui-même reste le même et contient le même ensemble d’étapes d’étalonnage, d’acquisition et de collecte. Les étapes d’exécution du test avec ITRI sont les suivantes :
Châssis RA
Notez que dans le cas de l’outil ITRI RA, le commutateur d’étalonnage a trois positions : on, off et home, qui est la position centrale.
Pour commencer, les commutateurs doivent être les suivants :
Nom de commutateur State Avancé
Activé
Motricité
Désactivé
Calibrer
Désactivé (désactivé)
Mode
Mouvement panoramique
Supprimez le système en remplaçant les commutateurs suivants et en laissant le moteur pivoter le bras de 45 degrés. Lorsque vous avez terminé, mettez le moteur sur DÉSACTIVÉ.
Nom de commutateur State Avancé
Activé
Motricité
Désactivé
Calibrer
Accueil (centre)
Mode
Mouvement panoramique (haut)
Placez le doigt de test sur l’appareil et appuyez sur la barre d’espace pour entrer dans la phase d’étalonnage. Les commutateurs sont désormais les suivants :
Nom de commutateur State Avancé
Activé
Motricité
Activé
Calibrer
Activé (supérieur)
Mode
Mouvement panoramique (haut)
Laissez le test s’exécuter au-delà du nombre de 17, puis désactivez Moteur et désactivez le commutateur Étalonner sur (position la plus basse) :
Nom de commutateur State Avancé
Activé
Motricité
Désactivé
Calibrer
Désactivé (inférieur)
Mode
Mouvement panoramique (haut)
Appuyez sur la barre d’espace et réactivez le moteur pour la phase d’acquisition.
Une fois que l’écran affiche une valeur de comptage supérieure à 1999, appuyez sur la barre d’espace. L’affichage d’essai affiche l’heure du cercle du moteur et la vitesse. Attendez que les informations de contact soient collectées pendant la phase De collecte pendant environ dix boucles, puis appuyez sur la barre d’espace. À ce stade, le système est terminé. Appuyez de nouveau sur la barre d’espace et éteignez le moteur.
Analyse et rapport
Analyse
En cas d’échecs d’étalonnage ou d’acquisition, le test échoue et vous pouvez afficher les détails de l’échec dans le rapport. Vous verrez une erreur telle que la suivante :
Warning multiple touch devices present.
Calibration failed: x11err=3.71 y11err=1.14 x22err=9.14 y22err=1.71
Acquisition failed: Circles are showing variations in pixel= 9.70
[135] 581 451 739 602 [199556137598] > 18 48
Rapport
La réussite ou l’échec est signalée par le biais de Windows HLK. Si vous exécutez le test manuellement, vous pouvez ouvrir le fichier TabletDigitizerOPK.wtl dans WTT ou dans le Bloc-notes. La latence moyenne de mouvement panoramique est enregistrée vers la fin. La latence cible est égale ou inférieure à 15 millisecondes.
Mode d’étalonnage automatisé
Le mode d’étalonnage automatisé est le mode par défaut de l’outil RA. Lorsque vous exécutez le script, vérifiez d’abord que le moteur d’étape est défini sur 20 000 étapes par révolution dans les paramètres du programmeur Q. Cette configuration peut être définie à l’aide de l’outil ST Configurator. Accédez à E/S de mouvement & , puis Contrôle de direction de l’impulsion & .
Vérifiez que le paramètre Steps/Rev affiche 20000.
Les paramètres sur le côté droit doivent également afficher Steps/Rev actuellement définis pour le moteur d’étape.
Si les paramètres sont corrects, le script d’automatisation s’exécute dans trois modes dans l’ordre séquentiel :
Mode d’étalonnage : lorsque vous allumez le moteur pour la première fois, il s’agit du premier mode qu’il exécute. Pendant le mode d’étalonnage, le moteur à pas s’exécute à une vitesse de 0,75 tours par seconde (environ 1,33 seconde par boucle) à 339 degrés à partir de la position de départ. Ensuite, il s’arrête pendant 0,5 seconde avant de s’exécuter à une vitesse de 0,0042 tours par seconde (vitesse la plus faible possible pour le moteur pas à pas) pendant 21 degrés. Alors que le moteur pas à pas fonctionne à très basse vitesse, le programme d’essais (stepmotor.exe) met en corrélation les positions et les horodatages des contacts tactiles signalés lorsque le faisceau d’interruption de photo est interrompu.
L’exemple suivant est une capture d’écran de l’apparence du cercle. La partie de l’arc où pointe la flèche est l’endroit où le moteur pas à pas s’exécute à une vitesse lente et où l’interruption photo doit être signalé. Il est important que l’opérateur aligne correctement la position de départ du disque : c’est-à-dire que l’emplacement sur le disque doit être d’environ 2 à 3 mm au-delà de l’interruption photo.
À titre de référence, l’exemple suivant décrit la façon dont cet arc d’étalonnage est conçu :
Paramètre VE dans Q-Programmer 0.0042 Longueur moyenne de l’arc du signal d’étalonnage
1,85 cm (selon une circonférence de 31,26 cm)
Angle moyen du signal d’étalonnage
0,37 radian (21,20 degrés)
Durée moyenne du signal d’étalonnage
12,50 secondes (y compris 0,5 seconde de temps d’attente lors du changement de vitesse)
Vitesse moyenne du signal d’étalonnage
Cinq secondes d’attente : après neuf boucles d’étalonnage, le moteur s’arrête pendant cinq secondes. Pendant ce temps, l’opérateur doit appuyer sur la barre d’espace pour passer en mode Acquisition.
Mode acquisition/collecte : après cinq secondes d’attente, le moteur fonctionne à une vitesse de 0,75 révolution par seconde (1,33 seconde par boucle) infiniment.
Dépannage
Étalonnage
Pendant l’étalonnage, le programme de test ne peut pas calculer l’emplacement exact d’un événement tactile lorsque l’interruption photo est signalée. Il est donc important de ne pas introduire de latence en faisant tourner le bras trop rapidement. En cas d’erreur, un message d’erreur s’affiche à l’écran. Par exemple :
Calibration failed: x11err=3.71 y11err=1.14 x22err=9.14 y22err=1.71.
Arrêtez et examinez la cause avant de redémarrer le test. Il existe quelques raisons courantes d’échec. Elles se produisent parce que le programme de test ne peut pas effectuer de bons calculs du point tactile. Les raisons peuvent être les suivantes :
Vous avez déplacé le doigt (actionneur) trop rapidement lorsque l’interruption de photo a signalé.
L’appareil a été déplacé.
Résolvez ces problèmes et réessayez jusqu’à obtenir un bon étalonnage. Voici d’autres éléments à garder à l’esprit :
Ne tournez jamais le bras dans l’autre sens.
Déplacez le bras très soigneusement lorsque vous passez à travers le photo-interrupteur, afin de réduire l’erreur et la latence que vous pouvez introduire.
Il doit toujours y avoir deux signaux lorsque l’interruption de photo est interrompue. Le premier signal se produit lorsque la lumière passe à travers l’emplacement à la fin d’un bord. Le deuxième signal se produit lorsque la lumière est bloquée après qu’elle a traversé l’emplacement ouvert. Le nombre d’index est de base zéro. Une fois que deux événements se sont produits, le nombre doit être un nombre impair. Si vous voyez le message suivant lorsque vous venez de démarrer l’étalonnage et que vous n’avez même pas tourné le bras, vous avez probablement tourné le bras (par conséquent le disque) autour de l’interrompeur photo au moins une fois, ce qui l’a fait signaler. Cela entraîne automatiquement l’échec de l’étalonnage. Arrêtez immédiatement le test et redémarrez.
Touch Pointer Update count=0, x=0, y=0
Achat
Si l’acquisition échoue, vous verrez un message d’erreur similaire à l’un des éléments suivants :
ERROR: Acquisition failed: Loop times not consistent > 6.3
ERROR: Acquisition failed: Circles are showing too many variations in pixels Rcm_error=0.5 xPixelErr=20 yPixelErr=20
Le premier type d’erreur est généré lorsque la différence moyenne entre les temps de boucle est supérieure à cinq millisecondes. Le deuxième type d’erreur se produit lorsque les cercles ne sont pas dessinés comme des cercles parfaits et entraînent donc des variations de pixels supérieures à cinq pixels. Les causes courantes de ce comportement sont les suivantes :
Appareil mal nivelé ou mal étalonné.
L’appareil a été déplacé.
La vitesse du moteur à pas n’est pas cohérente. (Ce n’est pas une explication probable, car il s’agit d’un appareil bien établi et largement utilisé; néanmoins, il est possible que le moteur soit défectueux sur votre appareil particulier.)
Collection
Il devrait y avoir peu de problèmes lors de la collecte si les étapes d’étalonnage et d’acquisition sont réussies. La plupart des erreurs sont dues à des facteurs externes tels que le déplacement de l’appareil, l’interruption du programme de test par d’autres processus ou l’échec de l’appareil lui-même. Les opérateurs peuvent rencontrer les trois problèmes courants suivants :
Problème 1 : Interférence de champ électromagnétique
Une erreur peut résulter de l’effet de la force électromagnétique générée par le moteur pas à pas. Selon l’appareil, cela peut se manifester de différentes manières : par exemple, des points tactiles fantômes générés. La solution au problème est de fournir un bon terrain.
Problème 2 : d’autres processus interrompent le programme de test
Lorsqu’un autre processus interrompt le processus de test, il endommage généralement le résultat du test en impactant négativement les nombres de latence.
Vous pouvez diagnostiquer ce problème en comparant les intervalles de signal de l’interruption de photo. Passez en revue le fichier csignal.txt, qui contient les horodatages du photo-interrupteur. La deuxième colonne affiche les horodatages système et la troisième colonne affiche les horodatages du microcontrôleur. Par exemple :
[ 0: 0] 431506434557 538485264317
[ 1: 10] 431506447610 538485343495
[ 2: 1333] 431508166028 538495929302
[ 3: 1343] 431508178968 538496008565
[ 4: 1797] 431508769804 538499651185
[ 5: 1803] 431508776386 538499652266
[ 6: 2665] 431509897168 538506594116
[ 7: 2675] 431509910127 538506673294
[ 8: 3998] 431511628522 538517258922
[ 9: 4008] 431511641481 538517338232
[10: 5331] 431513359910 538527923775
[11: 5342] 431513372973 538528003038
sfirst = 0
La dernière entrée du fichier affiche l’index de la première séquence de signal valide. Une « séquence de signal valide » fait référence au début des séquences de signal lorsque le système est devenu stable. Entre l’acquisition et la collecte, le programme de test écrit les résultats de l’acquisition dans des fichiers journaux et, selon les performances du système, la stabilité peut prendre un certain temps. Dans l’exemple ci-dessus, le tout premier signal était valide afin que vous puissiez commencer à comparer les intervalles d’horodatage.
Vous pouvez prendre des intervalles d’horodatage en notant la différence entre les deux horodatages numérotés pairs ; ou exemple, 0, 2, 4, 6, etc. Comme indiqué dans le tableau suivant, les signaux 4 et 6 sont très différents des autres intervalles de signal. Par conséquent, nous savons qu’un autre processus a interrompu le test pendant cette période. Dans les cas normaux, vous devriez voir moins de 1 % de différence.
Index | Horodatage | Intervalle |
---|---|---|
0 |
431506434557 |
|
2 |
431492585219 |
1731471 |
4 |
431494316516 |
603776 |
6 |
431496047748 |
1127364 |
8 |
431497779297 |
1731354 |
10 |
431499509508 |
1731388 |
12 |
431501240620 |
1731288 |
Problème 3 : Modifications du taux d’échantillonnage
Si un appareil change son taux d’échantillonnage, une variation significative des résultats de latence se produit. Vous pouvez diagnostiquer ce problème en comparant les taux d’acquisition et d’échantillonnage de collecte.
Vous pouvez utiliser des outils externes pour mesurer le taux d’échantillonnage d’un appareil avant et après que le moteur a été allumé. Une autre méthode consiste à analyser les journaux générés par stepmotor.exe.
Ouvrez Acquisition.txt.
Prenez les horodatages de la première et de la dernière ligne (dernière colonne) :
581 660 709 602 199501901480 581 805 512 602 199554132317
Calculez le taux d’échantillonnage de l’acquisition comme suit :
(Last timestamp - first timestamp) /number of samples (rows)
Ouvrez Collection.txt.
Prenez les horodatages de la première et de la dernière ligne (dernière colonne) :
581 822 423 602 [199554407006] 581 288 164 602 [199594255626]
Calculez le taux d’échantillonnage de la collection comme suit :
(Last timestamp - first timestamp) /number of samples (rows)
Si vous constatez plus de 2 % de différence entre les deux, les données de collecte ne sont pas fiables et vous devez examiner la cause.
Support supplémentaire
Si un support supplémentaire est nécessaire, contactez l’un des fournisseurs jig certifiés suivants :
Triex Technologies, Inc.
+1 (206) 940-0943
Industrial Technology Research Institute
+886 (03) 5743887