DCF77- Empfänger mit dem STK500 - schule.at
DCF77- Empfänger mit dem STK500 - schule.at
DCF77- Empfänger mit dem STK500 - schule.at
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>DCF77</strong>-<strong>Empfänger</strong><br />
<strong>mit</strong><br />
<strong>dem</strong> <strong>STK500</strong><br />
© Franz Doblinger 2009<br />
<strong>DCF77</strong>- <strong>Empfänger</strong> <strong>mit</strong> <strong>dem</strong> <strong>STK500</strong> 08.05.2009 F.Doblinger
INHALT SEITE 2<br />
INHALT<br />
1 Einleitung ........................................................................................................................................ 3<br />
2 Zeitinform<strong>at</strong>ion................................................................................................................................3<br />
3 DCF-77 <strong>Empfänger</strong> ......................................................................................................................... 4<br />
4 Übungsaufgaben.............................................................................................................................. 5<br />
4.1 Anschluss an das <strong>STK500</strong>....................................................................................................... 5<br />
4.2 Funktionstest ........................................................................................................................... 6<br />
4.3 Bestimmung der Impulslänge.................................................................................................. 6<br />
4.4 Erkennung des SYNC- Impulses............................................................................................. 6<br />
4.5 Er<strong>mit</strong>teln der Zeit- und D<strong>at</strong>umsinform<strong>at</strong>ion............................................................................ 6<br />
4.6 Realisierung einer Uhr............................................................................................................. 6<br />
4.7 Alarmfunktion ......................................................................................................................... 6<br />
<strong>DCF77</strong>- <strong>Empfänger</strong> <strong>mit</strong> <strong>dem</strong> <strong>STK500</strong> 08.05.2009 F.Doblinger
1 EINLEITUNG SEITE 3<br />
1 Einleitung<br />
Der Zeitsignalsender <strong>DCF77</strong> ist ein Langwellensender in Mainflingen, der die meisten<br />
funkgesteuerten Uhren im westlichen Europa <strong>mit</strong> der genauen Uhrzeit versorgt. Der Sender steht in<br />
Mainflingen bei Frankfurt am Main in Deutschland und arbeitet auf der Frequenz 77,5 kHz <strong>mit</strong> einer<br />
Leistung von 50 kW. Die Bezeichnung <strong>DCF77</strong> ist das Rufzeichen der Intern<strong>at</strong>ionalen Frequenzliste<br />
des IFRB(Intern<strong>at</strong>ional Frequency Registr<strong>at</strong>ion Board). Es leitet sich ab von D für Deutschland, C für<br />
Langwellensender, F wegen der Nähe zu Frankfurt, sowie der Zahl 77 für die Trägerfrequenz 77,5<br />
kHz.<br />
2 Zeitinform<strong>at</strong>ion<br />
Die Zeitinform<strong>at</strong>ionen werden als digitales Signal zusätzlich zur Normalfrequenz (der Trägerfrequenz<br />
des Senders, also 77,5 kHz) übertragen. Das geschieht durch neg<strong>at</strong>ive Modul<strong>at</strong>ion des Signals<br />
(Absenken der Trägeramplitude auf 25 %) im Sekundentakt.<br />
Der Beginn der Absenkung liegt jeweils auf <strong>dem</strong> Beginn der Sekunden 0 bis 58 innerhalb einer<br />
Minute. In der 59. Sekunde erfolgt keine Absenkung, wodurch die nachfolgende Sekundenmarke den<br />
Beginn einer Minute kennzeichnet und der <strong>Empfänger</strong> synchronisiert werden kann. Die Länge der<br />
Amplitudenabsenkungen am Beginn der Sekunden steht jeweils für den Wert eines binären Zeichens:<br />
100 ms Absenkung stehen für den Wert „0“, 200 ms für „1“. Da<strong>mit</strong> stehen innerhalb einer Minute 59<br />
Bit für Inform<strong>at</strong>ionen zur Verfügung.<br />
Die Bits, deren Zählung bei 0 beginnt, werden wie folgt verwendet:<br />
Sekunde Bedeutung<br />
0. Minutenbeginn --> immer '0'<br />
1.-14. keine Bedeutung, normal '0' NEU Wetterd<strong>at</strong>en(verschlüsselt)<br />
15. Reserveantenne aktiv<br />
16. Umstellung zwischen Sommer- bzw. Winterzeit<br />
17. Sommerzeit<br />
18. Winterzeit<br />
19. Schaltsekunde<br />
20. Zeitbeginn<br />
21.-27. Minute 1, 2, 4, 8, 10, 20, 40<br />
28. Prüfbit Minute<br />
29.-34. Stunde 1, 2, 4, 8, 10, 20<br />
35. Prüfbit Stunde<br />
36.-41. Tag 1, 2, 4, 8, 10, 20<br />
42.-44. Wochentag 1, 2, 4<br />
45.-49. Mon<strong>at</strong> 1, 2, 4, 8, 10<br />
50.-57. Jahr 1, 2, 4, 8, 10, 20, 40, 80<br />
58. Prüfbit D<strong>at</strong>um (36. - 57.)<br />
59. wird nicht gesendet (siehe oben)<br />
<strong>DCF77</strong>- <strong>Empfänger</strong> <strong>mit</strong> <strong>dem</strong> <strong>STK500</strong> 08.05.2009 F.Doblinger
3 DCF-77 EMPFÄNGER SEITE 4<br />
3 DCF-77 <strong>Empfänger</strong><br />
Der verwendete DCF-77 <strong>Empfänger</strong> ist einer aus <strong>dem</strong> untersten Preissegment, erhältlich z.B.<br />
bei Pollin. Das DCF- Modul h<strong>at</strong> einen sehr schwachen Push- Pull Ausgang. Der liefert nur +/-<br />
5µA und ist da<strong>mit</strong> sogar zu schwach, einen Pull-Up vom AVR sauber auf GND zu ziehen<br />
(typ. 50 kΩ). Dieses Modul muss direkt an einen CMOS Eingang ohne Pull- Ups und sonstige<br />
Beschaltung angeschlossen werden. Weiterhin ist zu beachten, dass das Modul rel<strong>at</strong>iv<br />
empfindlich auf Störfelder von PCs, Laptopnetzteilen oder anderen Quellen starker<br />
Pulsströme, z.B. LED- M<strong>at</strong>rizen und anderes reagiert. Ein Abstand von 1m und mehr ist hier<br />
nötig, um ein sauberes Signal zu bekommen.<br />
<strong>DCF77</strong>- <strong>Empfänger</strong> <strong>mit</strong> <strong>dem</strong> <strong>STK500</strong> 08.05.2009 F.Doblinger
4 ÜBUNGSAUFGABEN SEITE 5<br />
4 Übungsaufgaben<br />
4.1 Anschluss an das <strong>STK500</strong><br />
• Anschluss des DCF-77 <strong>Empfänger</strong>s an PORT D:<br />
<strong>STK500</strong> Port D: DCF-77 <strong>Empfänger</strong><br />
VTG VDD<br />
GND GND<br />
PD2 DATA<br />
PD0 PON<br />
• Anschluss des LCD- Displays an PORT B<br />
• Verbindung von PORT C <strong>mit</strong> den LEDs am <strong>STK500</strong>.<br />
<strong>DCF77</strong>- <strong>Empfänger</strong> <strong>mit</strong> <strong>dem</strong> <strong>STK500</strong> 08.05.2009 F.Doblinger
4 ÜBUNGSAUFGABEN SEITE 6<br />
4.2 Funktionstest<br />
Erstellen Sie ein <strong>mit</strong> <strong>dem</strong> AVR Studio ein Projekt <strong>mit</strong> <strong>dem</strong> Namen <strong>DCF77</strong>. Als erstes soll die<br />
Funktion des <strong>Empfänger</strong>s überprüft werden: Dazu ist es zweckmäßig, den Ausgang des <strong>Empfänger</strong>s<br />
direkt <strong>mit</strong> den LEDs des <strong>STK500</strong> darzustellen. Um den <strong>Empfänger</strong> zu starten, ist es notwendig, einen<br />
Impuls am PON- Pin zu generieren: Nach <strong>dem</strong> Programmstart und den Initialisierungen 200ms<br />
warten, PON dann auf 1 schalten, wieder 200ms warten, dann wieder auf 0 ziehen.<br />
Die Ferritantenne ist senkrecht in Richtung Frankfurt auszurichten, weiters sollte sie nicht direkt neben<br />
<strong>dem</strong> <strong>STK500</strong> zu liegen kommen, da sonst Störungen eingefangen werden. Nach wenigen Sekunden<br />
sollten die LEDs im Sekundentakt zu blinken beginnen.<br />
4.3 Bestimmung der Impulslänge<br />
Um die Zeitinform<strong>at</strong>ion aus <strong>dem</strong> Signal zu bekommen muss nun zwischen langen und kurzen<br />
Impulsen unterschieden werden. Eine Möglichkeit besteht darin, den INT0 Eingang zu nutzen und bei<br />
jeder Flanke einen Interrupt auszulösen. Es muss nun detektiert werden, ob es sich um eine steigende<br />
oder eine fallende Flanke gehandelt h<strong>at</strong> und abhängig davon eine entsprechende Aktion getroffen<br />
werden. Man kann zum Beispiel bei einer steigenden Flanke einen Timer starten und bei einer<br />
fallenden Flanke den Zählerstand des Timers auslesen. Dieser muss nun <strong>mit</strong> den Toleranzgrenzen für<br />
einen 100ms bzw. einen 200ms Impuls verglichen werden und daraus kann er<strong>mit</strong>telt werden ob es sich<br />
um eine logische 1 oder 0 handelt. Zeigen Sie die Impulslänge als Zahlenwert am LCD-Display an.<br />
4.4 Erkennung des SYNC- Impulses<br />
Der SYNC- Impuls kann z.B. dadurch erkannt werden, in<strong>dem</strong> man bei einer fallenden Flanke den<br />
Zählerstand ausliest und bei einer steigenden wieder – ist die Differenz größer als eine Sekunde, dann<br />
ist es ein SYNC.<br />
4.5 Er<strong>mit</strong>teln der Zeit- und D<strong>at</strong>umsinform<strong>at</strong>ion<br />
Die Zeitinform<strong>at</strong>ion soll nun bitweise zu einem HH:MM:SS Form<strong>at</strong> zusammengestellt und am Display<br />
dargestellt werden. Ebenso das D<strong>at</strong>um in der Form DD:MM:JJJJ in der 2. Zeile des LCD- Displays. Es<br />
ist dabei immer die Prüfsumme über die jeweiligen Bits zu bilden und im Falle eines neg<strong>at</strong>iven<br />
Ergebnisses ist die Inform<strong>at</strong>ion zu ignorieren.<br />
4.6 Realisierung einer Uhr<br />
Unabhängig vom Funkuhrsignal soll eine Uhr realisiert werden, die durch einen Timer im<br />
Sekundentakt hoch zählt und sich bei einem gültigen Empfangsergebnis <strong>mit</strong> der Funkuhrzeit<br />
synchronisiert.<br />
4.7 Alarmfunktion<br />
Erweitern Sie das Programm um die Möglichkeit, eine Weckfunktion einzustellen. Dazu soll ein<br />
Lautsprecher an Port D angeschlossen werden und bei Erreichen der Weckzeit soll ein Wecksignal<br />
ertönen. Hierzu ist eine bedienerfreundliche Realisierung für die Einstellung und Aktivierung des<br />
Weckers erforderlich.<br />
<strong>DCF77</strong>- <strong>Empfänger</strong> <strong>mit</strong> <strong>dem</strong> <strong>STK500</strong> 08.05.2009 F.Doblinger