User manual

254Bibliotheken
© 2013 Conrad Electronic
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 Da-
ten. 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 muss.
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 Programm-
start, 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 AVR32Bit: P27(PA15) )
angeschlossen. Zuerst muss der Anfang einer Zeitinformation gefunden werden. Es wird auf die Puls-
lücke (59.Bit) synchronisiert. Danach werden die Bits im Sekundentakt aufgenommen. Es erfolgt ei-
ne Parity-Prüfung nach der Minuten und Stunden Information und ebenfalls am Ende der Übertra-
gung. Das Ergebnis der Parity-Prüfung wird im DCF_ARRAY[6] gespeichert. Zur Übergabe der Zeitin-
formation 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 Quarzfre-
quenz des Controllers abgeleitet. DCF_Mode steuert den Ablauf r die DCF77-Zeitaufnahme.
Ändern des Eingangs Pin
Der verwendete Eingangsport ist als DCF_IN in der Bibliothek "DCF_Lib.cc" definiert.
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
RTC (Real Time Clock)
Die RTC wird mit einem 10ms Interrupt gesteuert und läuft im Hintergrund unabngig vom Anwen-
derprogramm. Jede Sekunde wird die Anzeige auf dem LCD-Display ausgegeben. Das Anzeigefor-
mat ist 1. Zeile: Stunde : Minute : Sekunde
2. Zeile: Tag . Monat . Jahr
Die LED1 blinkt einmal pro Sekunde.
Nach dem Programmstart, beginnt die RTC mit der festgelegten Uhrzeit. Das Datum ist auf Null ge-
setzt und zeigt an, daß noch kein DCF-Zeitabgleich erfolgt ist. Nach dem Empfang der DCF-Zeit