DCF 77 liefert Doppelsignal

Gast #1029339
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
Ich hab die Platine auch schon 2 Meter von meinem TFT weggestellt und 
darauf geachtet das kein Elektronisches Gerät in der Nähe ist. Da macht 
die Platine den selben Mist.
Mal ganz nebenbei kriegt meine gekaufte Funkuhr direkt neben dem TFT 
wunderbar ihr Signal.
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
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.