August 1998 |
Vor über zwanzig Jahren baute ich meinen ersten Empfänger für den Normalzeitsender DCF-77. Dieser war noch diskret aufgebaut und die Selektion erfolgte mit mehreren LC-Filtern und einem teuren Quarz. Heute gibt es hierfür spezielle integrierte Schaltungen bzw. fertige Module. Ein von der Firma Conrad Electronic vertriebenes Modul (Best.-Nr. 641138, DM 19,95) inspirierte mich, einen Empfänger für die serielle Schnittstelle eines Computers zu entwerfen, der keine eigene Stromversorgung benötigt. Und endlich geht die PC-Uhr mal richtig und die Sommerzeitumstellung erfolgt automatisch. Nach Informationen aus dem Internet soll Conrad dieses Modul zusammen mit einem LCD-Display unter Best.-Nr. 643173 anbieten, zu einem Preis von nur DM 14,95. Weitere Informationen zum Thema DCF-77 und der verwendeten Technik
finden sich in
www.prog-link.com/DCF77/DCF-contents.html .
SchaltungDie Stromversorgung des Empfängers kann über die Handshakesignale DTR und RTS erfolgen, die durch die Software entsprechend gesetzt werden müssen. Bei ausgeschalteten Handshakesignalen liegt dort eine negative Spannung (-12V) an, die durch Dioden von der Schaltung ferngehalten wird. Optional kann über eine weitere Diode eine externe Versorgungsspannung angelegt werden.Der verwendete Conrad Empfänger benötigt eine Spannung von 1,5V-15V. Über den 10k Vorwiderstand stellt sich, relativ unabhängig von der Eingangsspannung, eine Versorgungsspannung von etwa 4 Volt ein. Möglicherweise hat Conrad das Modul inzwischen etwas abgeändert, so daß es
eine höhere Versorgungsspannung braucht. Dann muß der 10k-Widerstand vor
LED2 verkleinert werden, damit das Modul ordentlich funktioniert.
Die beiden LEDs dienen einer einfachen Diagnose. LED1 signalisiert die Sekundenpulse, dies hilft bei der optimalen Ausrichtung zum Sender. LED2 zeigt an, daß die Versorgungsspannung anliegt. Da nur wenig Strom zur Verfügung steht, sollten als LEDs Low Current Ausführungen verwendet werden. Die Sekundenpulse können über den Eingang der seriellen Schnittstelle RxD mit 50 Baud detektiert werden. Falls die Software statt RxD nur eine der Handshake-Leitungen abfragt, kann das DCF-77-Signal alternativ auch auf RI, CTS, DSR oder DCD geschaltet werden. Die Schaltung findet bei mir in einem kleinen Kunststoffgehäuse Platz, das mit einer DB-09 Buchse versehen ist. Etwas Abstand von Monitor, Fernseher oder anderen elektronischen Geräten sichert einen problemlosen Empfang, besonders bei größerer Entfernung vom Sender in der Nähe von Darmstadt. Viel Spaß beim Basteln, wie immer kann ich keinerlei Garantie übernehmen, daß irgendwas funktioniert . . . Ach ja, den Lötkolben nicht an der falschen Seite anfassen! SoftwareAuf meinem Linux Server lief anfangs dcf77d, eine von mir korrigierte Version der von Joerg Krause geschriebenen Software, die aber bei Empfangsproblemen manchmal falsche Zeiten lieferte. Inzwischen habe ich den DCF-77-Empfänger direkt in xntp eingebunden, er wird dann über eine Pseudo-IP-Nummer ähnlich wie andere Timeserver (z.B. aus dem Internet) angesprochen. In /etc/ntp.conf wird hierzu server 127.127.8.0 mode 5 prefer # DCF-77 clock ## ## Undisciplined Local Clock. This is a fake driver intended for backup ## and when no outside source of synchronized time is available. server 127.127.1.0 # local clock (LCL) fudge 127.127.1.0 stratum 10 # LCL is unsynchronized ## ## Miscellaneous stuff driftfile /etc/ntp.drift # path for drift file logfile /var/log/ntp # alternate log file logconfig =syncstatuseingetragen. Die IP-Nummer und mode 5 legen den Empfänger-Typ fest, prefer sorgt dafür, daß der DCF-77-Empfänger als bevorzugte Quelle herangezogen wird. Ist der Empfänger z.B. an ttyS2 angeschlossen, so erfolgt die Anbindung mit ln -s /dev/ttyS2 /dev/refclock-0. Die Stromversorgung erfolgt wieder über DTR, die kodierten Sekundenpulse gelangen über RxD. Im xntp-Paket befindet sich im Verzeichnis parseutil auch testdcf, mit dem man zum Testen die empfangenen Pulse schön verfolgen kann. Per crontab starte ich xntp alle zwei Stunden neu, da er bei Empfangsproblemen manchmal verschwindet. Das ist aber immer noch besser als eine falsche Uhrzeit. ntpq -p servername zeigt den Status des Timeservers. Dank xntpd können sich alle anderen Rechner im Netz bei diesem Server mittels ntpdate oder einem eigenen xntp-Server mit der genauen Zeit versorgen. Infos zum Thema ntp finden sich unter www.eecis.udel.edu/~ntp. Henning, DB5SH, hat Software für OS/2 geschrieben (WARP77), die mal über das Packet Radio Netz verbreitet wurde. Sie schaltet den Empfänger beim Start ein, wertet zur Fehlervermeidung zwei aufeinanderfolgende Zeitdiagramme über den Eingang RI aus und schaltet wieder ab. Auf meinem früheren OS/2-Server hatte ich damit die Uhrzeit täglich einmal per crontab aktulisiert. Zum Einschalten des Empfängers wird hierbei auf der I/O-Adresse COM-Port+4 (bei COM1: 0x3F8 ist dies 0x3FC) der Wert 0x03 geschrieben, zum Ausschalten der Wert 0x00 . Die Sekunden-Impulse können nichtinvertiert auf COM-Port+6 (0x3FE) mit einer Bit-Maske von 0x40 (bei Verwendung von RI) ausgelesen werden. Raimund Eisenstecken, IN3HER, hat Software für den Betrieb eines Empfängers für alle Versionen von Windows 95 bis XP erstellt. |
|