Compensation de la dérive d'une horloge Temps Réel : une mission forfaitaire

../realisations/PirateII/SyracuseN3_75pp.JPG

L'application Syracuse, développée par LAE puis SAGEM pour EDF, utilise un réseau de radio-téléphonie privé. Les OGCRs sont des systèmes indépendants commandés par des UCs 68302 disposant d'horloges temps réel internes. Ils partagent des fréquences radio.

Pour que l'ensemble fonctionne, les horloges des OGCRs doivent être synchronisées sur le Temps Universel avec une précision absolue inférieure à 10 ms.

La mise à l'heure est faite à partir de Tops donnés par un boitier ENH90, récepteur du signal radio standard qui donne l'heure universelle (HTU). Des perturbations diverses (orages, panne de l'ENH90, ..) pouvaient empêcher la réception du signal HTU. Dans ce cas :

L'horloge interne des 68302s dépend d'un quartz dont la précision garantie par le fabricant est de 10e-4 dans le pire des cas. ..., avec une tolérance de dérive de 10 ms, il faut interrompre le fonctionnement de l'OGCR lorsqu'il n'a pas reçu de messages de l'ENH90 depuis 10e5 millisecondes, c.a.d. 100 secondes.

La mission a consisté à spécifier, réaliser et tester un module permettant de :

  • mesurer la dérive (l'erreur) de l'heure fournie par l'horloge interne
  • compenser cette dérive
  • vérifier le bon fonctionnement

Le module fonctionnait de manière satisfaisante :

Les résultats des mesures internes lorsque l'horloge a été rebranchée sur l'OGCR B font apparaître que la dérive réelle était de 466,431 ms sur la période et que la correction effectuée par le système avait été de 465,386 ms. Le système s'était donc décalé de 1,045 ms en 27 heures. *