Heure atomique sur TI-8x :

Pourquoi l'heure atomique ? Et bien, c'est la méthode la plus précise (1 seconde d'erreur pour 1 million d'années). Comme tout le matériel à mettre en oeuvre est assez encombrant la solution d'un émetteur était la plus logique. Cet émetteur, situé près de Frankfurt (Allemagne), à une puissance de 25 kW et couvre la zone suivante :

un rayon de 1500 à 2000 km !

Les données sont sous forme de bits, chaque bit est émis au rythme de la seconde.
Pour des raisons de coût et surtout par soucis de qualité de réception, il est préférable d'acheté un module. La base de ce montage est donc un module DCF77. Il se charge de réceptionner les données (date, heure...) provenant de émetteur. La fréquence d'émission est de 77,5kHz (d'où le nom DCF77).

A l'origine j'avais l'intention de me servir d'un PC, mais comme ce type d'interface existait déjà (voir Mes liens préférés) je me suis tourné vers la TI.


Principe :

L'émetteur émet un bit toutes les secondes, excepter durant la 59ème seconde afin de pouvoir détecter le début de la trame. Un niveau logique 0 correspondra à une impulsion de 100ms et un 1 à 200ms.
Le message codé en BCD contient toutes les informations horaires (le bit de poids faible passe en premier):

Bit n°Nom

Description

0MDébut de la trame (toujours à 0)
1 à 14 Bits réservés
15RAntenne (0=antenne normal , 1=antenne de réserve)
16A1Si 0 : heure hiver (-1 heure durant le passage de 1 à 0)
17,18Z1,Z2Fuseau horaire : 00=+0h , 01=+1h , 10=+2h , 11=+3h
19A2Si 1 : annonce (1 heure à l'avance) qu'une seconde sera sautée
20SDébut des informations temporelles (toujours à 1)
21 à 27 Minutes
28P1Bit de parité paire (bits 21 à 27)
29 à 34 Heure
35P2Bit de parité paire (bits 29 à 34)
36 à 41 Jour
42 à 44 Jour de la semaine (1=Lundi , ... , 7=Dimanche)
45 à 49 Mois
50 à 57 Année codé sur 2 chiffres
58P3Bit de parité paire (bits 36 à 57)
59 Ce bit n'est pas envoyé (pas d'impulsion)

 

Le bit de parité paire est modifié de sorte que le nombre de bit à 1 soit paire.
Exemple: voici 8 bits , un bit de parité paire -> 10110101 , x
Au total il y a 5 bits à 1. Il faudra donc mettre x à 1 pour que le nombre de bits à 1 (bit de parité compris) soit paire. Au final il y aura donc 6 bits à 1, 6 est un nombre paire, donc c'est bon !

 

Voici un exemple :

Entre chaque front montant il y a un intervalle de 1 seconde. La synchronisation est assurée lors de la 59ème seconde. En effet, il n'y a pas d'impulsion émise lors de la 59ème seconde. On obtient donc entre les impulsions n°58 et n°0 (le numéro du bit correspond au numéro de la seconde) une durée de 2 secondes. C'est grâce à cette durée que l'on pourra identifier le début de la trame.

Schéma :

Brochage du module DCF77 (il peut différer selon les modèles) :

Conrad :

Selectronic :

 

 

nomposition sur le jack
BIT0bout
BIT1milieu
GNDbase

 

Explications :

L'alimentation se fait par 2 piles 1,5V (évite un régulateur).
La sortie Data est de type collecteur ouvert, une résistance de tirage est donc placée (47kOhms). Cette sortie est directement reliée à la calculatrice par le Bit0.
L'entrée de sélection CS devra être mise à la masse (elle n'est pas présente sur tous les modules).

La partie logiciel ne prendra en compte que les bits 21 à 59. Le programme affichera alors constamment les informations horaires reçues. L'inconvénient de cette méthode est qu'il est fréquent de recevoir des informations erronées, elles seront traduites par des "?". L'avantage est que la programme est plus facile à écrire (la taille du programme est aussi moins importante).

Réalisation :

Pour connecter l'interface à la TI, vous pouvez prendre un jack mâle (attention la base de ceux du commerce est trop grande) ou femelle. Un jack mono est amplement suffisant.

 

Vous pouvez télécharger gratuitement le programme Atome77 pour :

TI-82 *TI-83 *TI-83 Plus v1.01TI-85 *TI-86 v1.03

* : si vous désirez une de ces version contactez-moi

Pour tester le programme sans l'interface voici un émulateur DCF77 (câble parallèle requis) : EmuDCF77 v1.03

Faites-moi part de tous les bugs.

 

Si vous avez du mal à trouver le module, vous pouvez toujours le commander par correspondance chez Selectronic ou Conrad.