La figure ci-contre montre le déroulement des informations au cours d’une minute pour le code de l’émetteur DCF77
Il existe plusieurs méthodes de codage des nombres. DCF77 utilise le code BCD ( binary coded decimal / décimal codé binaire).
L’information horaire et la date sont diffusées au cours les secondes 21 à 58 de chaque minute sous forme de trois groupes de signaux BCD minutes, heure et date. Chacun de ces trois groupes se termine par un signal (un bit) de parité, déterminé à l’émission, de façon à ce que le nombre de 1 à l’intérieur de chaque groupe soit toujours paire. La parité est très utile pour vérifier s’il n’y a pas eu d’erreur pendant la réception et pour ne pas afficher une valeur incorrecte.
Exemple :
À la réception, une vérification de la parité pratiquée sur chaque groupe du message pourra servir à rejeter, comme perturbé, tout message qui
comporterait un nombre impair de « 1 » logiques. Les valeurs numériques qui sont diffusées à un instant donné, sont toujours valables pour la minute qui suit immédiatement celle pendant laquelle la diffusion a lieu.
Ainsi, le bip de parité permet de vérifier si le nombre de signaux envoyé est pair ou impair. Soit n le nombre de signaux envoyés (avec 0 ≤ n ≤ 7, sauf pour les années, avec 0 ≤ n ≤ 8). On cherche à savoir si n ≡ 0 [2] ou si n ≡ 1 [2].
Principe du décodage
Le microprocesseur (Arduino), pour être en mesure de traduire correctement l’information, doit détecter deux types d’information : la durée de chaque « top » et l’absence du « top » indiquant le début de la minute.
Il est donc nécessaire de « mesurer » la durée des niveaux du signal fourni par le récepteur radio. Le microprocesseur procède par échantillonnage à une fréquence de 100Hz. Le début du comptage est initialisé sur un changement de niveau. Si le nombre de mesures consécutives de niveau 0 Volt est compris entre 79 et 81 (sur les 100 mesures effectuées) on estime avoir reçu un « top » long ; si le nombre de mesures consécutives de niveau 0 Volt est compris entre 89 et 91 sur les 100 mesures effectuées, on estime avoir reçu un « top » court ; et enfin si ce nombre est compris entre 160 et 205, on commence une nouvelle minute.
Lorsque le microprocesseur distingue la durée des « top » il devient possible de le synchroniser avec les secondes, puis de le synchroniser avec les minutes et le décodage peut commencer.