FUM DCF - HKW-Elektronik GmbH

FUM DCF - HKW-Elektronik GmbH FUM DCF - HKW-Elektronik GmbH

hkw.elektronik.de
von hkw.elektronik.de Mehr von diesem Publisher
13.01.2014 Aufrufe

3. Aufbau des DCF77-Protokolls Das Funkuhrmodul mit DCF-Ausgang (LOW aktiv) hat die Aufgabe, das DCF77-Zeittelegramm autonom zur Verfügung zu stellen. Eine binäre „0“ wird mit einem 100 ms langen LOW-Impuls kodiert, eine binäre „1“ mit einem 200 ms langen LOW-Impuls. Die fallende Flanke dieses Impulses fällt stets auf den Sekundenbeginn. Das Modul verarbeitet die Bits 16 ... 58 des DCF77-Zeittelegrammes. Das abgegebene Zeittelegramm entspricht bis auf folgende Ausnahmen dem originalen DCF77-Zeittelegramm: a) Die Bits 0 ... 14 des DCF77-Zeittelegrammes werden vom Funkuhrmodul nicht ausgewertet und sind am Modulausgang normalerweise grundsätzlich mit 0 kodiert. Sie werden jedoch dann mit 1 kodiert, wenn das Funkuhrmodul nach einem Reset oder Power On Reset keinen Empfang hat und den ersten Empfangsversuch ohne Erfolg abgebrochen hat. Stündlich zu jeder 45. Minute der internen Zeitbasis wird automatisch ein neuer Empfangsversuch gestartet. Erst wenn ein Empfangsversuch erfolgreich war und eine gültige Zeit vorliegt, werden die Bits 0 ... 14 wieder mit 0 kodiert. b) Das Bit 20 leitet im DCF77-Zeittelegramm die Übertragung der Zeit- und Datumsinformationen ein und ist dort immer mit 1 kodiert. Das Funkuhrmodul kodiert dieses Bit nach einem Reset zunächst mit 0 und erst dann, wenn ein Funkempfang erfolgreich war, kennzeichnet dieses Bit das Vorliegen einer gültigen Zeitinformation und wird ab diesem Zeitpunkt mit 1 kodiert. c) Das Bit 15 im DCF77-Zeittelegramm kennzeichnet den Einsatz der Reserveantenne. Das Funkuhrmodul wertet dieses Bit nicht aus und gibt stattdessen den Funkempfangsstatus wieder. Am Modulausgang ist dieses Bit dann mit 1 kodiert, wenn der jeweils zurückliegende Empfangsversuch nicht erfolgreich war. ------------------------------------------------------------------------------------------------------------------------------------------------- d) zusätzlich für Kompatibilitäts-Mode (Bestückungsvariante) Das generierte und am Ausgang verfügbare DCF77-Protokoll beinhaltet einen zusätzlichen 100ms Impuls in Auswertung des zurückliegenden Empfangsversuches. Er erscheint zwischen 100ms und 200ms dieser 59. Sekunde und wird immer dann erzeugt, wenn der zurückliegende Empfangsversuch nicht erfolgreich war. Diese Bewertung wird nach jedem initiierten Empfangsversuch durchgeführt. Wurde der initiierte Empfangsversuch erfolgreich abgeschlossen (empfangenes DCF-Protokoll dekodiert und Zeitbasis ok.), dann wird dieser Impuls nicht erzeugt. 4. Die serielle Schnittstelle 4.1. Allgemeines Die serielle (unidirektionale) Schnittstelle besteht aus einer Steuer-Leitung als Dateneingang (X3). Somit können über diese Schnittstelle in begrenztem Maße Steuerungen des Funkuhrmoduls realisiert werden. Der Datenverkehr auf dieser Leitung findet mit 300 bps statt. 4.2. Datenformat 4.2.1. Daten bzw. Befehle zum Funkuhrmodul 4.2.1.1. Schnittstellenparameter standardmäßig Geschwindigkeit: 300 bps 300 bps Datenbits: 7 8 Paritätsbit: gerade oder ungerade nein (wird nicht beachtet) Stoppbits: 2 2 im Kompatibilitätsmode (Bestückungsvariante) 4.2.1.2. Funktion der Dateneingabe Das Funkuhrmodul übernimmt Befehle, die mit ihren Parametern aus bis zu drei Zeichen bestehen können. Ein nachfolgendes Zeichen „CR“ (hex 0d) veranlaßt das Funkuhrmodul, den Befehl auszuführen. Zwischen aufeinander folgenden Zeichen bzw. zwischen Befehlszeichen und „CR“ sollte eine Pause von ca. 100ms vorgesehen werden. Die Befehlszeichen und deren Parameter werden nur in den niederwertigen vier Bit dekodiert. D.h., daß „?“, „O“ und „o“ zum Beispiel immer die gleiche Wirkung haben (hex 3f, 4f und 6f). Nur das den Befehl abschließende „CR“ wird vollständig dekodiert. Intern gibt es für die letzten empfangenen vier Zeichen einen FIFO-Puffer. Bei der Eingabe eines Befehls werden zunächst (falls erforderlich) die Parameter (ein oder zwei Zeichen) und dann die Befehlskennung (ein Zeichen) gesendet. Alle empfangenen Zeichen werden im FIFO-Puffer abgelegt. Falls an letzter Stelle dieses Puffers ein „CR“ gefunden wird, werden die drei vorhergehenden Zeichen als Befehl interpretiert. Bei Befehlen, die Parameter verlangen, dürfen diese nicht FMD02000_SD Seite 2 von 3 08.03.2002

weggelassen werden, da sie aus den sonst undefinierten ersten beiden Positionen des FIFO-Puffers entnommen werden. Achtung: Wegen der unvollständigen Dekodierung der Befehlszeichen kann es z.B. beim Testen der Kommunikation mit einem einfachen Terminalprogramm leicht zu Fehlern kommen. Fehlinterpretationen der Befehle oder undefiniert gesetzte Register wären die Folge. 4.3. Beschreibung der Befehle 4.3.1. Sofort Funkempfang durchführen Syntax ASCII: h Anstelle von „h“ sind auch alle anderen Zeichen möglich, deren Code auf 8 endet, also z.B. auch ( 8 H X x Syntax binär: xxxx1000 00001101 Das Funkuhrmodul schaltet nach diesem Befehl den Empfänger ein und führt einen Empfangsversuch durch, der das komplette Einlesen der DCF77-Zeitinformation und das Synchronisieren (auf 20 ms genau) des Funkuhrmodul - Zeitrasters beinhaltet. Endet dieser Versuch erfolglos, ist danach Bit 15 des generierten DCF77- Zeitprotokolls (siehe 3c) gleich Null. Endet der Empfangsversuch erfolgreich, ist danach dieses Bit in jedem Fall gesetzt. 4.3.2. Sofort Funkempfang durchführen Syntax ASCII: i Anstelle von „i“ sind auch alle anderen Zeichen möglich, deren Code auf 9 endet, also z.B. auch ) 9 I Y y Syntax binär: xxxx1001 00001101 Dieser Befehl hat die gleiche Funktion wie unter 4.4.1. beschrieben und ist aus Kompatibilitätsgründen vorhanden. 5. Steueranschluß „Taste“ Über diesen Anschluß kann zu jedem beliebigen Zeitpunkt ein Funkempfangsversuch gestartet werden (per Taste oder via Steuerleitung des angeschlossenen Hostrechners). Der Empfangsversuch wird dabei über die H/L-Flanke des anliegenden Steuer-Impulses ausgelöst. Anschluß LP1 besitzt intern einen 300-kOhm-Pull-Up-Widerstand. Zum Aktivieren der Empfangsfunktion legt man LP1 für minimal 125 ms an GND. Theoretisch kann LP1 beliebig lange auf GND gehalten werden. Jedoch ist zu beachten, daß, solange LP1 auf GND liegt, keine Übernahme der Zeitinformationen in die Funkuhr- Register erfolgt. Im Normalfall sollte daher LP1 auf High-Pegel liegen. Änderungen Vorbehalten. FMD02000_SD Seite 3 von 3 08.03.2002

3. Aufbau des <strong>DCF</strong>77-Protokolls<br />

Das Funkuhrmodul mit <strong>DCF</strong>-Ausgang (LOW aktiv) hat die Aufgabe, das <strong>DCF</strong>77-Zeittelegramm autonom zur<br />

Verfügung zu stellen. Eine binäre „0“ wird mit einem 100 ms langen LOW-Impuls kodiert, eine binäre „1“ mit<br />

einem 200 ms langen LOW-Impuls. Die fallende Flanke dieses Impulses fällt stets auf den Sekundenbeginn.<br />

Das Modul verarbeitet die Bits 16 ... 58 des <strong>DCF</strong>77-Zeittelegrammes. Das abgegebene Zeittelegramm entspricht<br />

bis auf folgende Ausnahmen dem originalen <strong>DCF</strong>77-Zeittelegramm:<br />

a) Die Bits 0 ... 14 des <strong>DCF</strong>77-Zeittelegrammes werden vom Funkuhrmodul nicht ausgewertet und sind<br />

am Modulausgang normalerweise grundsätzlich mit 0 kodiert. Sie werden jedoch dann mit 1 kodiert,<br />

wenn das Funkuhrmodul nach einem Reset oder Power On Reset keinen Empfang hat und den ersten<br />

Empfangsversuch ohne Erfolg abgebrochen hat. Stündlich zu jeder 45. Minute der internen Zeitbasis<br />

wird automatisch ein neuer Empfangsversuch gestartet. Erst wenn ein Empfangsversuch erfolgreich war<br />

und eine gültige Zeit vorliegt, werden die Bits 0 ... 14 wieder mit 0 kodiert.<br />

b) Das Bit 20 leitet im <strong>DCF</strong>77-Zeittelegramm die Übertragung der Zeit- und Datumsinformationen ein und<br />

ist dort immer mit 1 kodiert. Das Funkuhrmodul kodiert dieses Bit nach einem Reset zunächst mit 0 und<br />

erst dann, wenn ein Funkempfang erfolgreich war, kennzeichnet dieses Bit das Vorliegen einer gültigen<br />

Zeitinformation und wird ab diesem Zeitpunkt mit 1 kodiert.<br />

c) Das Bit 15 im <strong>DCF</strong>77-Zeittelegramm kennzeichnet den Einsatz der Reserveantenne. Das<br />

Funkuhrmodul wertet dieses Bit nicht aus und gibt stattdessen den Funkempfangsstatus wieder. Am<br />

Modulausgang ist dieses Bit dann mit 1 kodiert, wenn der jeweils zurückliegende Empfangsversuch<br />

nicht erfolgreich war.<br />

-------------------------------------------------------------------------------------------------------------------------------------------------<br />

d) zusätzlich für Kompatibilitäts-Mode (Bestückungsvariante)<br />

Das generierte und am Ausgang verfügbare <strong>DCF</strong>77-Protokoll beinhaltet einen zusätzlichen 100ms<br />

Impuls in Auswertung des zurückliegenden Empfangsversuches. Er erscheint zwischen 100ms und<br />

200ms dieser 59. Sekunde und wird immer dann erzeugt, wenn der zurückliegende Empfangsversuch<br />

nicht erfolgreich war. Diese Bewertung wird nach jedem initiierten Empfangsversuch durchgeführt.<br />

Wurde der initiierte Empfangsversuch erfolgreich abgeschlossen (empfangenes <strong>DCF</strong>-Protokoll<br />

dekodiert und Zeitbasis ok.), dann wird dieser Impuls nicht erzeugt.<br />

4. Die serielle Schnittstelle<br />

4.1. Allgemeines<br />

Die serielle (unidirektionale) Schnittstelle besteht aus einer Steuer-Leitung als Dateneingang (X3). Somit können<br />

über diese Schnittstelle in begrenztem Maße Steuerungen des Funkuhrmoduls realisiert werden. Der<br />

Datenverkehr auf dieser Leitung findet mit 300 bps statt.<br />

4.2. Datenformat<br />

4.2.1. Daten bzw. Befehle zum Funkuhrmodul<br />

4.2.1.1. Schnittstellenparameter<br />

standardmäßig<br />

Geschwindigkeit: 300 bps 300 bps<br />

Datenbits: 7 8<br />

Paritätsbit: gerade oder ungerade nein<br />

(wird nicht beachtet)<br />

Stoppbits: 2 2<br />

im Kompatibilitätsmode<br />

(Bestückungsvariante)<br />

4.2.1.2. Funktion der Dateneingabe<br />

Das Funkuhrmodul übernimmt Befehle, die mit ihren Parametern aus bis zu drei Zeichen bestehen können. Ein<br />

nachfolgendes Zeichen „CR“ (hex 0d) veranlaßt das Funkuhrmodul, den Befehl auszuführen. Zwischen<br />

aufeinander folgenden Zeichen bzw. zwischen Befehlszeichen und „CR“ sollte eine Pause von ca. 100ms<br />

vorgesehen werden. Die Befehlszeichen und deren Parameter werden nur in den niederwertigen vier Bit<br />

dekodiert. D.h., daß „?“, „O“ und „o“ zum Beispiel immer die gleiche Wirkung haben (hex 3f, 4f und 6f). Nur das<br />

den Befehl abschließende „CR“ wird vollständig dekodiert. Intern gibt es für die letzten empfangenen vier<br />

Zeichen einen FIFO-Puffer. Bei der Eingabe eines Befehls werden zunächst (falls erforderlich) die Parameter<br />

(ein oder zwei Zeichen) und dann die Befehlskennung (ein Zeichen) gesendet. Alle empfangenen Zeichen<br />

werden im FIFO-Puffer abgelegt. Falls an letzter Stelle dieses Puffers ein „CR“ gefunden wird, werden die drei<br />

vorhergehenden Zeichen als Befehl interpretiert. Bei Befehlen, die Parameter verlangen, dürfen diese nicht<br />

FMD02000_SD Seite 2 von 3<br />

08.03.2002

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!