C Control PRO STARTER SET MEGA 128 198484 User Manual

Product codes
198484
Page of 200
114
C-Control Pro Mega Series
© 2005 Conrad Electronic
Bits
Bedeutung
20
Startbit (ist immer "1")
21 - 27
Minute
28
Parität Minute
29 - 34
Stunde
35
Parität Stunde
36 - 41
Monatstag
42 - 44
Wochentag
45 - 49
Monat
50 - 57
Jahr
58
Parität Datum
Das bedeutet, daß der Empfang mindestens eine volle Minute laufen muß, bevor die
Zeitinformation zur Verfügung stehen kann. Die innerhalb dieser Minute dekodierte Information ist
lediglich durch drei Paritätsbits gesichert. Somit führen bereits zwei fehlerhaft empfangene Bits zu
einem auf diese Weise nicht zu erkennenden Übertragungsfehler. Bei höheren Anforderungen
können zusätzliche Prüfmechanismen verwendet werden, z.B. Plausibilitätsprüfung (ist die
empfangene Zeit innerhalb der zulässigen Grenzen) oder mehrmaliges Lesen der
DCF77-Zeitinformation und Vergleich der Daten. Eine andere Möglichkeit wäre, die DCF-Zeit mit
der aktuellen Zeit der RTC vergleichen und nur eine bestimmte Abweichung zulassen. Dieses
Verfahren geht nicht nach dem Programmstart, da die RTC erst gesetzt werden muß.
Beschreibung des Beispielprogramms "DCF_RTC.cc"
Das Programm DCF_RTC.cc  ist eine Uhr, die über DCF77 synchronisiert wird. Die Uhrzeit und
das Datum werden  auf einem LCD-Display angezeigt. Die Synchronisation erfolgt nach dem
Programmstart, und dann täglich zu einer im Programm festgelegten Zeit (Update_Stunden,
Update_Minuten). Es werden zwei Libraries verwendet: DCF_Lib.cc und LCD_Lib.cc.
Für den Funkempfang des Zeitsignals ist ein DCF77-Empfänger erforderlich. Der Ausgang des
DCF-Empfängers wird an den Eingangsport (Mega32: PortD.7 - M128: PortF.0) angeschlossen.
Zuerst muß der Anfang einer Zeitinformation gefunden werden. Es wird auf die Pulslücke (59.Bit)
synchronisiert. Danach werden die Bits im Sekundentakt aufgenommen. Es erfolgt eine
Parity-Prüfung nach der Minuten und Stunden Information und ebenfalls am Ende der
Übertragung. Das Ergebnis der Parity-Prüfung wird im DCF_ARRAY[6] gespeichert. Zur Übergabe
der Zeitinformation wird das DCF_ARRAY[0..6] verwendet. Nach dem Empfang einer gültigen
Zeitinformation wir die RTC mit der neuen Zeit gesetzt, und läuft dann selbständig weiter. Die RTC
als auch die DCF77-Dekodierung ist über einen 10ms Interrupt gesteuert. Diese Zeitbasis ist  von
der Quarzfrequenz des Controllers abgeleitet. DCF_Mode steuert den Ablauf für die
DCF77-Zeitaufnahme.
Tabelle DCF-Modi
DCF_Mode
Beschreibung
0
kein DCF77-Betrieb
1
Puls suchen
2
Synchronisation auf Frameanfang
3
Daten dekodieren und speichern,
Paritätsprüfung