DCF-Dekodierung in C (mit PIC-Mikrocontroller, Elektronik)


zurück zu Elektronik, Homepage


1. Einleitung

Der Zeitsignalsender DCF77 ist ein Langwellensender in Mainflingen (Deutschland), der die meisten funkgesteuerten Uhren im westlichen Europa mit der genauen Uhrzeit versorgt. Die Bezeichnung DCF77 ist das Rufzeichen der Internationalen Frequenzliste des IFRB1. Es leitet sich ab von D für Deutschland, C für Langwellensender, F wegen der Nähe zu Frankfurt, sowie der Zahl 77 für die Trägerfrequenz 77,5 kHz.[1]
Andere bekannte Zeitdienste sind HBG in der Schweiz (75 kHz), MSF in England (60 kHz) und die Sendergruppen RWM in Russland und WWW, WWVB, WWVH in den USA.[1]

Über DCF77 sendet die Physikalisch-Technische Bundesanstalt (PTB) in Braunschweig seit 1959 eine Normalfrequenz und seit 1973 zusätzlich dazu ein Datensignal für Datum und Uhrzeit.
Als Zeitbasis zur Erzeugung des Zeitsignals dient am Senderstandort eine hochgenaue Spezialuhr, die ihrerseits mit den bei der PTB in Braunschweig stationierten Atomuhren abgeglichen wird (derzeit drei Cäsium-Uhren und seit 1999 eine Cäsium-Fontäne). Das so gewonnene Signal hat am Sendeort als Genauigkeit eine relative Standardabweichung von maximal 10-12. Dies entspricht einem Fehler von einer Sekunde in etwa 30.000 Jahren.[1]

Diese Arbeit zeigt wie man mit einem Mikrocontroller aus der PIC16Fxx-Familie das DCF-Telegramm dekodiert und daraus die Uhrzeit und das Datum erhält. Der Mikrocontroller benötigt ausser einem Timer keine besonderen Hardwaremodule. Die Idee der hier beschriebenen Dekodiermethode kann daher mit jedem beliebigen Mikrocontroller (auch von anderen Herstellern) realisiert werden.

Als Demonstrationsbeispiel wird eine einfache Uhr mit Datum und Wochentagsanzeige realisiert. Als Anzeige dienen 7-Segment-Anzeigen. Die Uhrzeit und das Datum werden abwechselnd, je 4 Sekunden lang, an den 7-Segment-Anzeigen angezeigt

Als Programmiersprache für die PIC-Mikrocontroller-Software wurde C mit dem mikroC-Compiler2 verwendet. Für das Demonstrationsbeispiel ist die kostenlose Demoversion3 ausreichend.

nach oben

1 IFRB steht für International Frequency Registration Board, einem Standardisierungsgremium zur Frequenzvergabe und Klärung technischer Fragen der Funkübertragung

2 Der mikroC-Compiler wurde von der Firma mikroElektronika [2] enwickelt und dient zum Programmieren der PIC16Fxx-Familie in der Hochsprache C

3 Die freie Demoversion ist nur auf eine Programmspeichergröße von 2k begrenzt. Ansonst voll kompatibel zur Vollversion. Die Demoversion ist auf der Firmen-Webseite [2] downloadbar

nach oben


zurück zu Elektronik, Homepage

Autor: Stefan Buchgeher
Erstellt: 19. Februar 2010
Letzte Änderung: