C Control PRO-BOT128 + C-Control PRO 128 Unit + Voltcraft® USB programming cable Kit 190406 Manual De Usuario

Los códigos de productos
190406
Descargar
Página de 244
138
Bibliotheken
© 2008 Conrad Electronic
Von der 20. bis zur 58. Sekunde wird die Zeitinformation, für die jeweils nachfolgende Minute, seriell
in Form von BCD-Zahlen übertragen, wobei jeweils mit dem niederwertigsten Bit begonnen wird:
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