Forum: Mikrocontroller und Digitale Elektronik DFC-Modul auswerten


von Christian (Gast)


Lesenswert?

Hallo,

also ich will mir eine Digitaluhr bauen, deren Uhrzeit ich über ein 
DCF-Modul bestimmen möchte. Die Uhr funktioniert ohne das Modul schon, 
aber nun möchte ich mir eine Leiterplatte fertigen, da ich bisher nur 
alles auf dem Steckbrett aufgebaut hatte. Mir ist allerdings nach der 
Fertigstellung des Layouts der Gedanke gekommen, wie ich das DCF-Signal 
ohne Benutzung der UART-Schnittstelle auswerten soll, da ich hierfür 
nicht extra eine RS232-Buchse oder einen FTDI-Chip+USB mit auf die 
Leiterplatte nehmen wollte.
Sollte man denn unbedingt die UART-Schnittstelle für die Auswertung des 
Signals (mit einem ATmega8) nutzen oder kann man sie auch ungenutzt 
lassen?
Ich weiß nämlich nicht wie schwer oder leicht sich das DCF-Signal 
händeln lässt!

: Verschoben durch Admin
von Max H. (hartl192)


Lesenswert?

Hier kannst du was über DCF77 Nachlesen: 
http://pic-projekte.de/wordpress/?p=572
Ich würde das DCF ohne UART auswerten. Um Ehrlich zu sein, wüsste ich 
gar nicht, wie es mit UART gehen würde...

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Naja, ein bisschen hängt das ganze davon ab, was für ein "DCF-Modul" 
da verwendet wird; es gibt ja auch welche mit "Eigenintelligenz", die 
die Uhrzeit fertig decodiert als seriellen Datenstrom liefern. Andere 
Module sind wenig mehr als ein 77.5-kHz-Empfänger, der das 
DCF-Nutzsignal mit geeignetem Pegel für einen µC-Portpin liefert.

von Christian (Gast)


Lesenswert?

Also als Modul möchte ich folgendes Modell von Reichelt verwenden:

http://www.reichelt.de/DCF77-MODUL/3//index.html?ACTION=3&GROUPID=3636&ARTICLE=57772&SHOW=1&OFFSET=16&;

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist nur ein nackter Empfänger. Dessen Ausgangssignal musst Du an 
einen Eingangspin anschließen, dessen Pegel Du ausreichend oft mit 
Deinem Programm abfragen musst. Eine UART oder ähnliches ist da nicht 
hilfreich.

von c-hater (Gast)


Lesenswert?

Max H. schrieb:

> Ich würde das DCF ohne UART auswerten. Um Ehrlich zu sein, wüsste ich
> gar nicht, wie es mit UART gehen würde...

Das ist simpel: Passende Baudrate einstellen und auf Empfang gehen. Wie 
genau, dafür gibt es verschiedenen Möglichkeiten. Z.B. für Low-aktive 
Pulse:

(1Startbit+8Datenbit) / 150ms = 60Bit/s.

Schon liefert die USART 59 mal in der Minute einen Interrupt und aus dem 
Zustand des FramingError-Bits läßt sich ablesen, ob es ein 200ms-Puls 
war (dann ist FE gesetzt) oder ein 100ms-Puls (dann ist FE nicht 
gesetzt). Alternativ kann man sich auch (ggf. zusätzlich) das empfangene 
Bitmuster anschauen. Bei einem langen Puls sollte eine Null empfangen 
werden, bei einem kurzen Puls hingegen sollten zwei bis vier der 
niedrigwertigsten Bits gesetzt sein, also 3,7 oder 15 empfangen werden.

von Max H. (hartl192)


Lesenswert?

c-hater schrieb:
> Das ist simpel:[...]
Ich verstehe, danke.
Meiner Meinung nach bringt das keinen wirklichen Vorteil gegenüber der 
Auswertung mit Interrupt oder Input Capture.

von Bemeser (Gast)


Lesenswert?

Max H. schrieb:
> c-hater schrieb:
>> Das ist simpel:[...]
> Ich verstehe, danke.
> Meiner Meinung nach bringt das keinen wirklichen Vorteil gegenüber der
> Auswertung mit Interrupt oder Input Capture.

Davon einmal abgesehen, dass ich deine Meinung nicht teile, habe ich 
eine Frage: Was ist der Unterschied zwischen "bring keinen Vorteil" und 
"bringt keinen wirklichen Vorteil"?

von c-hater (Gast)


Lesenswert?

Max H. schrieb:

> Meiner Meinung nach bringt das keinen wirklichen Vorteil gegenüber der
> Auswertung mit Interrupt oder Input Capture.

Tut es natürlich nicht.

Der Vorteil ist einfach nur, daß es den wertvollen 16Bit-Timer samt 
IPC-Mechanismus für Sachen freisetzt, die man nicht mal eben mit einer 
UART oder auch durch primitives Polling abbügeln kann...

von Mike (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Das ist nur ein nackter Empfänger. Dessen Ausgangssignal musst Du an
> einen Eingangspin anschließen, dessen Pegel Du ausreichend oft mit
> Deinem Programm abfragen musst.

Warum soll man das Signal nicht z.B. mit der SPI-Hardware in den µC rein 
tackern?

von Max H. (hartl192)


Lesenswert?

Bemeser schrieb:
> dass ich deine Meinung nicht teile
Was ist deiner Meinung nach der Vorteil?
Wenn  der UART besetzt ist, ist die Lösung mit Input Capture oder 
Interrupt scher besser geeignet.

Mike schrieb:
> Warum soll man das Signal nicht z.B. mit der SPI-Hardware in den µC rein
> tackern?
Wie würdest du es mit dem SPI lösen?

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Max H. schrieb:

> Wie würdest du es mit dem SPI lösen?

Die ist in diesem Zusammenhang eher nur als eine Art zusätzlicher Timer 
zu gebrauchen, wenn alle regulären Timer und auch alle USARTs mit 
wichtigeren Sachen beschäftigt sind und auch keine Sekundärnutzung der 
Timer möglich ist, weil keiner davon frei durchläuft oder alle mit sehr 
hoher Überlaufrate arbeiten.

Aber auch diese Nutzung kann unter den genannten Bedingungen eben ein 
brauchbarer Ausweg sein.

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.