DCF 77 liefert Doppelsignal

Gast #1029339
Lesenswert?

Hallo,
ich habe das DCF 77 Modul von reichelt an meinem AVR angeschlossen. Ich 
habe noch keine Logik zum dekodieren der Uhrzeit programmiert. Vorerst 
habe nur mal einen Counter gemacht, der jedes mal + 1 rechnet, wenn an 
INT1 ein Interrupt mit positiver Taktflanke ankommt. Ich habe nicht das 
Problem, dass kein Signal kommt, sondern das zu viele Signale kommen. 
Und zwar sind es genau doppelt so viele positive Taktflanken wie es sein 
sollten. Es sollten ja in 10 Sekunden 10 postive Flanken sein, bei mir 
sind es 20! Hier der Code zum Aktivieren von INT1:

ldi r16,0b00001100 ;pos edge -> interupt
out MCUCR,r16
ldi r16,0b10000000 ;INT1 akivieren
out GICR,r16

Wenn ich den Interrupt auf beide Flanken einstelle bekomme ich 
dementsprechend 40 Interrupts in 10 Sekunden.

Ich weiß Vorne und Hinten nicht weiter! Bitte helft mir!

mfg bruegae
#1029377
Lesenswert?

Warum du alles doppelt siehst? ;-)
Weiß ich leider auch nicht.
Hast Du ein Scope? Dann sieh dir das Signal von Empfänger mal an. Der 
scheint wirklich gestört zu sein, so daß er mehr als einen Impuls/s 
liefert.
Versorge den Empfänger mal mit einer Batterie um Störungen durch die 
Stromversorgung schon mal auszuschließen.

Aber ich möchte trotzdem einen Tip loswerden:
Das mit Interrupts zu machen ist eh nicht so gut. Wenn der Empfänger arg 
gestört ist oder ein zu schlechtes Signal bekommt (je nachdem wo du 
wohnst), dann zaubert er die irre viele Impulse und Dein armer AVR 
bearbeitet nur noch die Interrupts für nichts.

Mach es mit Polling alle 10ms und messe damit die Impulsbreite.
Keine Frage, auch mit IRQs funktioniert es aber es ist eben ungünstig.
(Firma: TravelRec.) Persönliche Seite #1029472
Lesenswert?

Man detektiert bei DCF Pulsen keine Flanken, sondern die Dauer von 
Pulsen, also statischen Zuständen eines Datenpins. Bei entprechend 
andauernden 1 oder 0 Zuständen sortiert man diese in zwei Fenster mit 
bestimmter Toleranz ein und dann hat man seine Bits. Dabei spielt es 
dann nichtmal eine Rolle, ob das Modul diese Pulse invertiert ausgibt 
oder nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren