Forum: Mikrocontroller und Digitale Elektronik DCF77 Suche Einstiegsmaterial !


von Benedikt W. (Gast)


Lesenswert?

hallo

ich möchte gerne die zeit aus dem dcf signal auslesen.
ich hab den DCF77 empfänger von conrad, einen ATmega16 und ein LCD.
ich hab schon einiges an code gefunden, aber entweder wars zu 
umfangreich oder in c geschrieben, so dass ich nichts verstanden hab.
am besten wäre wenn jemand nen link hat wo dieses thema mit den ersten 
schritten im assembler (avr studio) oder mit pseudo code behandelt wird.
gibts da was ?

grüße g1o

von Sebastian Eckert (Gast)


Lesenswert?

Der Wikipedia-Beitrag zu "DCF77" enthält eigentlich alles, was man 
braucht. Allerdings gab es mal eine käufliche Informationsschrift zum 
Aufbau des DCF77-Signals bei Conrad, die sogar einen auf monostabilen 
Kippstufen basierenden "Decoder" beschrieb, der kurze von langen 
Sekundenmarken, also High- von Low-Bits unterscheiden konnte.
Vielleicht hilft aber auch einer der Links unter dem Wikipedia-Artikel 
weiter.
Prinzipiell muß der Mikrocontroller, im Zweifelsfalle per Timer, kurze 
und lange Bits auseinanderhalten können. Das Programm beginnt 
üblicherweise mit dem Warten auf die fehlende 59te Sekundenmarke. Dann, 
nach Bestimmung der Bit-Längen, kann man die Nullen und Einsen in 
Register bzw. Variablen einsortieren. In Assembler sollte das mit 
Verschiebeoperationen und Und/Oder-Verknüpfungen gehen; man kann im 
Zweifel auch die Behandlung jedes einzelnen Bits explizit handhaben, á 
la "Wenn das gerade empfangene Bit 1 war, addiere zum Sekunden-Register 
2 hinzu... empfange das nächste Bit... wenn das gerade empfangene Bit 1 
war, addiere zum Sekunden-Register 4 hinzu...". Und die Parität nicht 
vergessen - oder eben einfach ignorieren.
Vielleicht nicht so elegant, aber sicherlich einfach und übersichtlich.
Wer sich übrigens scheut, den Timer für solche Aufgaben einzusetzen, 
kann auch auf eine Pegeländerung warten, den Mikrocontroller dann für 
150 Millisekunden mit irgendeiner Zählschleife beschäftigen, und dann 
prüfen, ob der anliegende Pegel 1 oder 0 ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.