Zeitzeichenempfang mit DCF 77 - Empfänger |
|
![]() |
Fragen zur Zeit sind in Deutschland im
Gesetz über die Zeitbestimmung (ZeitG) geregelt.
Damit die Zeit für jedermann erreichbar ist, wird sie von der Physikalisch Technischen Bundesanstalt (PTB) dargestellt und über den Zeitzeichensender DCF-77
verbreitet.
Die Aussendung der Zeitzeichen wird
in diesem Dokument ausführlich beschrieben
Zeitzeichenempfänger gibt es in den verschiedensten Preisklassen.
Im Jahr 2005 gab es bei der Kundenbindungsaktion einer Tankstellenkette für eine Sammelkarte und 3 Euro Zuzahlung einen Funkwecker aus chinesischer Produktion.
Die verbleibende "empfängerlose Uhr" kann als reines Anzeigegerät (Tochteruhr) in die Stromschleife geschaltet werden. |
Aktuell: SynchronisationsproblemeSeit Ende 2006 werden in den ersten 15 bit des Zeittelegramms codierte Wetterinformationen gesendet. Seit dem synchronisiert die Uhr nur noch selten. Offensichtlich wird der Dekodieralgorithmus durch die Wetterinformationen beeinträchtigt.Das Innenleben der UhrNach dem Aufschrauben des Funkweckers fallen die Seitenabdeckungen und einige lose Tastenknöpfe heraus. Die Antenne befindet auf der Gehäuserückseite. Die Antennenabdeckung kann mit einem Messer abgehoben werden.Von der Antenne führt eine verdrillte Leitung zum Empfänger. Die Empfängerbaugruppe ist in einen Schlitz der Uhrenleiterplatte eingelötet. Empfänger und Antenne werden nun ausgebaut. Dazu wird zuerst die Antenne abgelötet und rückseitig aus dem Gehäuse genommen. Der Deckel wird wieder aufgeschnappt. Dann werden die beiden Batterieleitungen ausgelötet und die Hauptplatine abgeschraubt und vorsichtig aus dem Gehäuse genommen. Vorsicht!, die Folienverbindung zum Displayglas ist sehr empfindlich und kann leicht beschädigt werden. |
Die an vier Lötstellen gehaltene Empfängerbaugruppe wird nun ausgelötet. Es bietet sich an, auch den Beeper auszulöten, da dieser bei der Verwendung als Tochteruhr nicht mehr gebraucht wird. Anschließend werden die Uhrenplatine mit Display wieder ins Gehäuse geschraubt, die Tasten und Seitenwände eingesetzt und das Gehäuse geschlossen. |
Der Langwellenempfänger besteht aus einer Leiterplatte mit einem gebondeten Chip, einigen Kleinteilen und einer Ferritstabantenne. Der Empfänger wird mit 3,3V versorgt, die über einen Spannungsregler aus der Stromschleife gewonnen werden. Der Prozessor der Uhr war mit dem Empfänger über zwei Leitungen verbunden. Eine dient zum Einschalten des Empfängers (ON) und auf der Anderen liefert der Empfänger das DCF77-Signal (Signal). Der Empfänger wird auf Dauerbetrieb gestellt, indem die ON-Leitung auf GND gelegt wird. Das Ausgangssignal des Empfängers schaltet über einen Transistor eine rote Leuchtdiode, die den Stromfluß auf etwa 2,8 mA erhöht. |
Um Störungen des Datenempfangs zu vermeiden ist es wichtig den Empfänger am optimalen Empfangsort, möglichst weit entfernt von Störquellen, aufzustellen. Die Leitungen zur Signalübertragung und zur Energieversorgung des Empfängers dürfen keine Störungen zum Empfänger übertragen. Da die Frequenzanteile im Zeitzeichensignal unter 100 Hz liegen, reicht zur Verbindung zwischen Empfänger und Rechner eine zweiadrige verdrillte Leitung aus (Stromschleife). Damit kann der Betriebsstrom zum Empfänger geführt, das Signal zum Rechner übertragen, eine hohe Störunempfindlichkeit erreicht und die Leitungslänge bis in den km-Bereich ausgedehnt werden. Gleichtaktstörungen auf der Leitung können mit einer Ferritperle gemindert werden. Der Empfänger benötigt keine separate Stromversorgung. |
Die Stromschleife führt abhängig vom empfangenen Signal zwei verschiedene Ströme. Bei 100% der Trägeramplitude fließen nur der Betriebsstrom des Empfängers und der Ruhestrom des Spannungsreglers in Höhe von zusammen 90 µA. Bei der Trägerabsenkung wird ein Lastwiderstand zugeschaltet, der den Strom auf 2,8 mA erhöht. Das Stromverhältnis liegt damit bei etwa 1:30 und läßt eine Rückführung in ein Logiksignal mit hohem Störabstand zu. Durch das IC zur Betriebsspannungsstabilisierung des Empfängers wird die maximale Betriebsspannung des Emfängers auf 30 V begrenzt. Die minimale Betriebsspannung des Empfängers beträgt 3,8V. Durch Vorschalten eines Brückengleichrichters kann die Empfängerzuleitung polungsunabhängig ausgeführt werden, der Spannungsfall am Empfänger erhöht sich jedoch um zwei Diodendurchlaßspannungen. Die Stromschleife kann mit einer ungeregelten, gesiebten Gleichspannung versorgt werden. |
Am Microcontroller ATmega32 steht zur Auswertung des Signals der Analogeingang PA 7 zur Verfügung, mit dem die Spannung an einem Stromfühlerwiderstand gemessen wird. Der Analog-Digital Wandler wird dazu mit der Betriebsspannung als Referenz für den 8 Bit Betrieb konfiguriert. Der Widerstand 27 kOhm dient als Schutzwiderstand, um den Eingangsstrom auf 1 mA zu begrenzen.
Bei einer Dimensionierung des Strommeß-Widerstands mit 330 Ohm ergibt sich für den "1"-Pegel eine Spannung von
|
![]() |
Zur Signalanzeige kann im einfachsten Fall eine Leuchtdiode benutzt werden, die dazu in die Stromschleife geschaltet wird und die Sekundenimpulse des Empfangssignals durch eine Helligkeitsänderung anzeigt. An einer roten Leuchtdiode fallen dann etwa 1,5 V ab.
| |
![]() |
Die Uhr, aus der der Empfänger entnommen wurde, kann als reines Anzeigegerät (Tochteruhr) in die Stromschleife geschaltet werden. Dazu muß der Beeper aus der Uhr entnommen werden, weil er beim Reset-Beep durch den hohen Strombedarf einen Kurzschluß erzeugt. Die Betriebsspannung der Tochteruhr wird durch den aus zwei roten Leuchtdioden bestehenden Parallelregler gewonnen. Damit sich durch die Stromänderung von 90 µA auf 2,8 mA die Betriebsspannung der Uhr und dadurch der Kontrast der Anzeige nicht allzusehr ändern, kann der Arbeitswiderstand so angepaßt werden, daß er etwa 2,7 mA aufnimmt und so die Betriebsspannungsänderung gering hält. Das Datensignal wird mit einem Fühlerwiderstand 470R aus der Stromhöhe abgeleitet. Im nebenstehenden Beispiel hat das Datensignal an der Uhr die gleiche Polarität wie im Empfänger. |
Die Dekodiersoftware wurde als Modul realisiert und sollte möglichst wenig Resourccen binden. Die Integration in ein komplexes System sollte einfach möglich sein. Um Interruptkonflikte zu vermeiden wird das Empfangssignal abgetastet. Eine Abtastfrequenz von 10 Hz erfüllt bei dem gegebenen Signal bereits die Nyquistbedingungen. Um die Genauigkeit bei der Erfassung des Sekundenanfangs zu erhöhen, werden die Abtastzeitpunkte auf 10 ms genau vorgegeben. Die tatsächliche Zeit wird mit dem freilaufenden 16-bit-Zähler aus dem Systemtakt abgeleitet. Die Dekodiersoftware wird zu Beginn initialisiert und sollte dann etwa alle 10 ms aufgerufen werden. Der Aufruf kann "gelegentlich" erfolgen. Ein häufigeres Aufrufen des Programms ist unschädlich. Je nach Zeitpunkt, kann es bei Lücken von 40 ms bereits zu Fehldekodierungen kommen, während eine Pause von 500 ms zu einer anderen Zeit auch unschädlich sein kann. Im ungünstigsten Fall kommt es zu einem Dekodierungsfehler. Das Risiko, dass dadurch die Uhrzeit verstellt wird, ist wegen der umfangreichen Prüfung der Daten jedoch gering. |
Die über das DCF-Signal bekannten Daten werden zur Erhöhung der Störsicherheit eingesetzt. Sobald ein Sekundenimpuls empfangen wurde, kann der Zeitpunkt zu dem der nächste Sekundenimpuls zu erwarten ist, genau bestimmt werden. Um Toleranzen auszugleichen, wird der nächste Sekundenanfang in einem Zeitfenster von 100 ms gesucht. Mit dem Sekundenanfang kann der optimale Abtastzeitpunkt für das Datenbit, 150 ms nach dem Sekundenanfang, bestimmt werden. Das synchronisierte System beginnt mit der Signalabtastung 50 ms vor dem erwarteten Sekundenbeginn. 50 ms nach dem errechneten Zeitpunkt wird ein Timeout festgestellt. Störungen in der übrigen Zeit bleiben ohne Einfluß.
Dieses Verfahren wurde von Mitarbeitern der PTB in Hardware realisiert und in der Funkschau, Heft 19/1974 veröffentlicht. Das Schaltungsprinzip wurde von mir für ein Z80-System in Software nachgebildet und in Funkschau 22/1984, Seite 67 ff. veröffentlicht. Die Funkschau hat freundlicherweise ihre Erlaubnis zur Veröffentlichung des Artikels im Internet erteilt. |
In der Regel verlangen die Dekoder nach einem korrekt "gepolten" Datensignal. Der Trägerabsenkung muß dabei ein fester Logikpegel zugeordnet werden. Die Polungsbezeichnungen normal und invertiert sind jedoch nicht eindeutig. Eine an der Sekundenmarke orientierte Signalbezeichnung würde den "1"-Pegel für die Sekundenmarke als normal festlegen. Bei einer von der Modulationshüllkurve ausgehenden Bezeichnung wäre das gleiche Signal als invertiert zu bezeichnen. Der hier realisierte Dekoder arbeitet unabhängig von der Polarität des Datensignals.
Der Dekoder arbeitet mit einer Zustandsmaschine, die 5 Zustände (0..4) kennt:
|
Die empfangenen Bits werden in einem Schieberegister abgelegt. Zur 59. Sekunde liegen dann alle empfangenen Datenbits in der richtigen Position vor. Die Daten sind auswertbar, wenn mindestens die letzten 38 Datenbits einer Minute empfangen wurden. Die Initialisierungszeit liegt damit zwischen 40 und 99 Sekunden (im Mittel bei ca. 70 s).
Dekodieralgorithmen, die erst ein komplettes Telegramm mit einer Dauer von einer Minute empfangen müssen, benötigen 60 bis 119 Sekunden bis zur ersten Dekodierung. (mittlere Initialisierungszeit ca. 90 s) Darüber hinaus besteht die Möglichkeit, die Zeitinformation aus zwei aufeinander folgenden Telegrammen zusammenzusetzen. Die Initialisierungszeit liegt dann zwischen 40 und 60 Sekunden. (mittlere Initialisierungszeit ca. 50 s) Der Programmieraufwand ist jedoch höher. |
![]() |
Zur Übertragungssicherung wird im Sendesignal die Minuteninformation mit dem Prüfbit P1 auf gerade Parität ergänzt.
Die Stunde wird mit dem Prüfbit P2 und die Datumsinformationen werden mit P3 abgesichert. Doppelbitfehler lassen sich mit dem Paritätsbit jedoch nicht erkennen. Da bei schwachem Empfang Doppelbitfehler nicht zu vermeiden sind, wird das Telegramm zusätzlich auf Plausibilität geprüft. Dazu wird der zulässige Bereich der Ziffern (0..9) und der Zahlen (00..59 Minuten, 00..23 Stunden, 1..31 Tage und 1..12 Monate) überwacht. Weitere Prüfungen am Einzeltelegramm werden unverhältnismäßig aufwendig. So könnte z. B. geprüft werden, ob der Tag zum Monat gehört ("31. Februar") oder ob der Wochentag zum Kalenderdatum gehört und ob die Zeitzonenbits zueinander (MEZ <> MESZ) und zum Datum passen. Eine noch höhere Sicherheit könnte auf Kosten der Dekodierzeit erreicht werden, wenn die korrekte Folge zweier aufeinanderfolgender Telegramme geprüft wird. |