DCF77 Suche Einstiegsmaterial !

Gast #434251
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
Gast #434318
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.