Forum: Mikrocontroller und Digitale Elektronik DCF77 - sicher dekodieren - die 1000.


von sni (Gast)


Lesenswert?

Guten Tag!

Ich experimentiere hier aktuelle mkt einem DCF77 Empfänger von
Meinberg. Allerdings habe ich einige Probleme plausible
Uhreninformationen zu empfangen.

Die Längen der gemessenen Impulse varieren ja 60-140ms für eine 0,
170-220 für eine 1.
Wenn ich erfolgreich 59Bits empfangen habe prüfe ich Startbit und die 3
Paritätsbits ab. Dann sollte man annehmen das die Uhrzeit soweit gültig
ist.
Leider kam es vereinzelt vor, dass 2 Bits sich passend gedreht haben,
so das dieses mit dem Paritätsbit nicht erkannt wurde.

Welche Vorgehensweise ist die sinnvollste um DCF77 sicher zu
dekodieren?
Mehrere Frames empfangen und prüfen ob:
- zumindest Datum/Stunde übereinstimmen und Minutenwert nur um Eins
größer geworden ist ?

Habe das Problem das der Empfänger recht empfindlich ist.... im Umkreis
von 5m zu PCs etc. geht nix.....

Vielen Dank für die Hilfe & Schönes Wochenende

von ??? (Gast)


Lesenswert?

Ich würde an deiner Stelle zwei Frames empfangen und wenn die nicht
zusammenpassen versuchs mit dem nächsten Frame usw...

Außerdem:
Wenn's die 1000ste ist wieso versuchst du's nicht wie die anderen 999
vor dir?

von Jadeclaw D. (jadeclaw)


Lesenswert?

Paritätsbits testen ist schon gut, dann noch einen Dummsinnfilter
dahinter, der Spässe wie 27:83 Uhr rausfiltert.
Und als drittes dann tatsächlich 2 oder 3 Frames einlesen und auf
Gleichheit + Minutenfortschritt prüfen. Das ist im eigentlichen dann
die sicherste Methode.
Das die Pulslängen derart variieren, ist übrigens normal und hängt auch
vom Empfänger ab, man muss da einen Abtastpunkt finden, der eine sichere
unterscheidung zulässt.
Am besten mehrfach prüfen, damit kurze Störimpulse nicht durchkommen.

Gruss
Jadeclaw.

von sni (Gast)


Lesenswert?

Ich habe aktuell 2 Abtastfester definiert, werde die Werte aber noch
etwas anpassen müssen...

von peter dannegger (Gast)


Lesenswert?

Füge noch ne Pulsabstandsprüfung hinzu:

1. die Pulse müssen 60..220ms lang sein
2. die Pulse müssen 0,8..1,2s Abstand haben
3. wenn der Abstand 1,8..2,2s ist, müssen genau 59 Impulse gezählt
worden sein.
4. alle 3 Paritätsbits müssen stimmen.

Dann sollte alles korrekt sein.


Peter

von peter dannegger (Gast)


Lesenswert?

P.S.:

Bei mir laufen mehrere Uhren seit über 10 Jahren damit ohne Probleme.


Peter

von sni (Gast)


Lesenswert?

@peter

aktuell mess ich nur die Länge des Pulses, nicht die der Pause
dazwischen...werde mal schauen was ich so verbessern kann...

von Reinhold B. (ebill)


Angehängte Dateien:

Lesenswert?

Ich habe ein Funkuhrmodul für die serielle Schnittstelle von Gude:
http://www.gude.info/frame-mouseclock.htm

So empfindlich wie von Dir beschrieben, ist das Gude-Modul bei weitem
nicht. Es liegt bei mir stationär etwa 50cm vom Monitor entfernt (auf
Höhe Oberkante Monitor, Dachgeschoßwohnung). Da mein PC gerade
aufgeschraubt ist, habe ich das Empfängermodul mal vor die komplette
offene Seite des PCs gehalten ... ich würde sagen, ab einem Abstand von
ca. 120cm von der offenen Seite ergeben sich keine Störungen/Aussetzer
mehr. Bei Abständen darunter ist fehlerfreier Empfang kaum möglich und
auch abhängig von der Lage des Empfangsmoduls (Ausrichtung
Ferritantenne). Die Empfangsverhältnisse werden sofort durch eine
Feldstärkeanzeige ersichtlich, siehe Bild.

Es gibt auch die Möglichkeit, das Modul unter Linux zu betreiben:
http://www.gude.info/frame-updates.htm

Vielleicht nutzen Dir diese Infos was.


eBill

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.