Réalisation d'une horloge Atomique



Le DCF77 est un protocole de synchronisation de l'heure largement utilisé en Europe centrale. DCF77 a été développé par le Physikalisch-Technische Bundesanstalt (PTB) à Braunschweig, en Allemagne, l'Institut national pour la science et la technologie. Le DCF77 est à la fois un signal de temps de grande longueur d'onde et une station de radio utilisé par le TBP pour transmettre un signal de temps de précision. La station de radio a été en opération depuis 1959.


Chaque impulsion DCF77 a une valeur logique 0 ou 1 en fonction de sa largeur (durée). La figure ci-dessous donne une description de la modulation de largeur d'impulsion utilisé dans le protocole DCF77.


Zone de couverture:



Le matériel:


Voici le module de lecture des informations de l'heure et date diffusées sur 77,5 kHz par le laboratoire national de physique de l'Allemagne. J'ai trouvé ce module chez conrad.http://www.conrad.fr/.

Platine de réception DCF alimentation 2.5 - 15 V/DC - 3 mA C-Control

Code produit: 641138 - 62.




J'ai raccordé:

La masse broche 1 sur la broche 6 du raspberry (GND).

L'alimentation broche 2 sur la broche 1 du raspberry (+3V).

Sortie DCF broche 3 sur la broche 11 du raspberry (GPIO17).

Résistance de 10KΩ entre la broche 3 et 2 du module DCF.



Premier test:


Tout d'abord il faut installer les packages permettant l'utilisation des GPIO.

Dans le terminal taper:


sudo apt-get install python-setuptools

sudo easy_install -U RPIO



Puis taper la commande suivante:


rpio -w 17


cela permet de voir les passages à 1 et à 0 du module DCF77.



Super ça communique. :)


Principe de codage:


Maintenant il faut comprendre le codage de la trame. Les informations sont représentées par une séquence de 59 bits, émis au rythme de la seconde. Il faut donc 1 minute pour recevoir tout le message, puisque pendant la dernière seconde aucun bit n'est transmis. On utilise la modulation en largeur d'impulsion afin de fournir les bits. Une impulsions à l'état haut pendant plus de 160 mS est un état haut, pendant moins de 130 mS c'est un état bas. Car les codage d'un état haut est de 200ms et un état bas de 100ms.



Interprétation du code binaire:




Bit0 :                Début de trame (bit à 1).

Bit1 à 14 :        Réservé pour une utilisation future.

Bit 15 :                Bit d'antenne (0 = antenne normal 1 = antenne de réserve)

Bit 16 :                Changement heure d'hiver/heure d'été (1= passage heure été/hiver)

Bit 17 :                0: inactif / 1: heure d'été (GMT+2)

Bit 18 :          0: inactif / 1: heure d'hiver (GMT+1)

Bit 19 :                1 quand une minute de 61 secondes est insérée

Bit 20 :                Bit de début (start) (Toujours à 1)

Bit 21..27 :        Valeur des Minutes ( Bit: 21 = 1, 22 = 2, 23 = 4 , 24 = 8 , 25 = 10 , 26 = 20, 27 = 40)

Bit 28 :                Parité pour tous les bit transmis minutes (Bit de parité paire)

Bit 29..34        Valeur des heures ( Bit: 29 = 1, 30 = 2, 31 = 4 , 32 = 8 , 33 = 10 , 34 = 20)

Bit 35 :                Parité pour tous les bit transmis heures (Bit de parité paire)

Bit 36..41 :        Valeur du jour ( Bit: 36 = 1, 37 = 2, 38 = 4 , 39 = 8 , 40 = 10 , 41 = 20)

Bit 42..-44 :        Valeur du jour dans la semaine (  Bit: 42 = 1, 43 = 2, 44 = 4)

Bit 45..49 :        Valeur du mois ( Bit: 45 = 1, 46 = 2, 47 = 4 , 48 = 8 , 49 = 10)

Bit 50..57 :        Valeur de l'année ( Bit: 50 = 1, 51 = 2, 52 = 4 , 53 = 8 , 54 = 10 , 55 = 20, 56 = 40, 57 = 80)

Bit 58 :                Parité pour tous les bit transmis date (Bit de parité paire)


Positionnement de la ferrite:


La ferrite doit être perpendiculaire à l'émetteur en Allemagne.


Il faut savoir que la réception du signale est sensible aux autres ondes par exemple micro-onde en marche.



Mise à jour 13/06/2013




Créé avec HelpNDoc Personal Edition: Générateur de documentation d'aide HTML gratuit