TAG Heuer est un fabricant suisse de montres de sport et de chronographes de précision.
En 2012, la division Chronométrage de TAG Heuer dévoile le premier display au monde doté d’un système interne de chronométrage précis au 1/10 000eme de seconde. Lien : Mini-Display HL 975
Ses fonctionnalités d’affichage sont :
Manuel : HL975_Manuel_FR.pdf
Le Mini-Display HL 975 gère 7 modes de fonctionnement :
On peut ajouter un module de gestion des entrées (cellules de détection ) :
Le Mini-Display HL 975 se raccorde au PC via un adaptateur USB/RS232 qui sera géré comme un port série virtuel. On communiquera avec le Mini-Display HL 975 à partir du protocoleTHCOM08 de TAG Heuer.
Le brochage des liaisons RS232 :
La société TAG Heuer fournit aussi un logiciel (non utilisé ici) sous Windows MiniDisplay Manager à utiliser avec le Mini-Display HL 975.
Vérifier la détection de l’adaptateur USB/RS232 :
$ dmesg
...
[60634.040084] usb 2-1.5: new full-speed USB device number 6 using ehci-pci
[60634.133203] usb 2-1.5: New USB device found, idVendor=067b, idProduct=2303
[60634.133208] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[60634.133212] usb 2-1.5: Product: USB-Serial Controller D
[60634.133214] usb 2-1.5: Manufacturer: Prolific Technology Inc.
[60634.350996] usbcore: registered new interface driver usbserial
[60634.351012] usbcore: registered new interface driver usbserial_generic
[60634.351018] usbserial: USB Serial support registered for generic
[60634.353631] usbcore: registered new interface driver pl2303
[60634.353639] usbserial: USB Serial support registered for pl2303
[60634.353652] pl2303 2-1.5:1.0: pl2303 converter detected
[60634.355103] usb 2-1.5: pl2303 converter now attached to ttyUSB0
$ lsusb
...
Bus 002 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Modifier les droits d’accès manuellement au fichier device :
$ sudo chmod 666 /dev/ttyUSB0
Pour obtenir une modification permanente et automatique, éditer le fichier :
$ sudo vim /etc/udev/rules.d/51.ttyusb.rules
# adaptateur pour Mini Display HL 975
SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE="0666", NAME="ttyUSB0", SYMLINK+="hl975"
Sauvegarder et quitter vim avec :wq
Lien : THCOM08.pdf
Le format d’une trame basique pour une communication RS232 est le suivant :
[Data] + TAB + CS16 + CR + LF
Les champs sont :
\t
soit 0x09
)\r\n
soit 0x0D
suivi de 0x0A
)Le checksum est le résultat de la somme de l’ensemble des octets du champ Data à l’exception du caractère #
si celui est présent en début de champ.
Remarque : si le délimiteur de trame est la séquence TAB + CR + LF, la trame est acceptée sans vérification du checksum (dans ce cas, le champ checksum est omis).
Pour toutes les trames de commande envoyées au Mini Display (commençant avec le caractère #
), celui-ci renvoie une trame d’acquitemment AK
:
AK X
Avec : X = 'C' accepted, 'F' rejected, 'R' not supported
Récupération du numéro d’identifiant et de série du Mini Display :
// PC -> Mini Display
#ID 008D
// Mini Display -> PC
ID 01145 01A8
AK C 00EF
// PC -> Mini Display
#SN 00A1
// Mini Display -> PC
SN 01145 HL975 VA10 042D
AK C 00EF
Le Mini Display gére des paramètres que l’on lit avec une trame #RP
(on reçoit alors une trame &P
) et que l’on peut modifier avec une trame #WP
.
C’est par exemple utile pour lire et/ou modifier le mode de fonctionnement du Mini Display. Il y a 7 modes de fonctionnement :
// PC -> Mini Display : lecture du paramétre 120 (H975 Operating mode)
#RP 120 0155
// Mini Display -> PC : le paramétre 120 (H975 Operating mode) indique '4' qui correspond au mode Display
&P 120 4 017D
AK C 00EF
// PC -> Mini Display : modification du paramétre 120 (H975 Operating mode) pour activer le mode PTB (valeur '0')
#WP 120 0 01AA
// Mini Display -> PC : acquittement positif
AK C 00EF
Remarque : les paramètres pour le Mini Display sont listés page 53.
Le Mini Display envoie des trames asynchrones d’évènements notamment lorsque l’affichage change (trame &D
) ou lorsqu’un temps a été pris en compte (trame TN
) :
// Mini Display -> le temps pour le n°1 (détecté sur l'entrée 1)
TN 1 1 1:01.16000 0 05C5
// Mini Display -> le temps pour le n°2 (détecté sur l'entrée 1)
TN 2 1 4:39.07000 0 05D4
// Mini Display -> le temps pour le n°1 (détecté sur l'entrée 2)
TN 1 2 34:13.19700 0 05E9
// Mini Display -> le temps pour le n°2 (détecté sur l'entrée 2)
TN 2 2 36:24.16700 0 05EB
Il est possible de demander le numéro d’une course puis de télécharger l’ensemble des temps :
// PC -> Mini Display : lecture du paramétre 003 (Run number)
#RP 003 0155
// Mini Display -> PC : le paramétre 003 (Run number) donne le numéro de course ici le 27
&P 003 27 28 00:00:00 0 04C0
AK C 00EF
// PC -> Mini Display : (Download a run)
#DL 27 0119
// Mini Display -> PC
// Acquittement positif
AK C 00EF
// L'ID du Mini Display
ID 01145 01A8
// Download start marker
DS 27 00 01E0
// Les temps
AN 1 1 1:01.16000 0 05B2
AN 2 1 4:39.07000 0 05C1
AN 1 2 34:13.19700 0 05D6
AN 2 2 36:24.16700 0 05D8
// Download end marker
DE 27 0112
Il est possible de récupérer la date et l’heure courante (pour une synchronisation) :
// PC -> Mini Display : request date and time for synchro
#!T 0075
// Mini Display -> PC
// Acquittement positif
AK C 00EF
// Synchro time
!T 00:30:48 01/01/00 03D8
Lire la mise en oeuvre d’un port série sous Qt [PDF].
Code source : test-mo-hl975.zip