Forum: FPGA, VHDL & Co. DCF77 mit FPGA (Nexys2) empfangen


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe ein kleines Problem.

Ich möchte mit einem Nexys2 das DCF77 Signal auswerten.
Jetzt kann man natürlich fragen, warum ein FPGA für sowas, aber da soll 
noch einiges mehr passieren.

Da ich mit DCF77 noch nicht gearbeitet habe, scheitere ich leider schon 
an den Grundlagen.

Wenn ich das richtig gelesen habe, ist, wenn die Verbindung steht, der 
Data-Pin auf High und bei einem Bit für 100ms bzw. 200ms auf GND.

Also habe ich ein Programm in einer Schematic erstellt, dass nichts 
anderes macht, als mit SW0 den Empfänger einzuschalten und den Daten-Pin 
auf LD1 auszugeben.

Es müsste also die ganze Zeit über leuchten, abgesehen von einem 
Bruchteil je Sekunde. Oder, wenn kein Empfang ist, konstant.

Jedoch flackert es unrythmisch. Ich kann noch nicht mal sagen, ob es 
länger an als aus ist oder umgekehrt. Selbst das wechselt.

Ich habe auch länger als 20 Minuten gewartet, da ich gelesen habe, dass 
die Empfänger eine ganze Weile brauchen, bis sie sich synchronisiert 
haben.

Hat jemand eine Ahnung, was ich falsch gemacht habe?

Gruß und Danke
Fabian

von Tom (Gast)


Lesenswert?

...systematisch vorgehen.
Zunächst einmal direkt am Empfangsmodul mit Multimeter oder Oszi den 
Pegel messen...

von Christian B. (casandro)


Lesenswert?

Ahh ja, eine typische Praktikumsaufgabe an Hochschulen, von der Du jetzt 
willst, dass wir sie für Dich lösen oder was?

Aber mal als Hinweis, schau mal nach, ob das Signal, welches aus dem 
Empfänger kommt, korrekt ist.

von Tom (Gast)


Lesenswert?

Fabian Hoemcke schrieb:
> Wenn ich das richtig gelesen habe, ist, wenn die Verbindung steht, der
>
> Data-Pin auf High und bei einem Bit für 100ms bzw. 200ms auf GND.

...schau nochmal ins Datenblatt des Moduls. Das steht ganz unten unter 
"Wichtige Hinweise" anders. Die Bits werden bei DCF durch Absenken der 
Trägeramplitude übertragen, das ist richtig... das Modul zieht dann aber 
den DATA-PIN von GND auf VCC (!)

von Harald W. (wilhelms)


Lesenswert?

Fabian Hoemcke schrieb:

> Es müsste also die ganze Zeit über leuchten, abgesehen von einem
> Bruchteil je Sekunde. Oder, wenn kein Empfang ist, konstant.
>
> Jedoch flackert es unrythmisch. Ich kann noch nicht mal sagen, ob es
> länger an als aus ist oder umgekehrt. Selbst das wechselt.

Du hast anscheinend starke Störungen auf dem Signal. Um die zu
analysieren, solltest Du ein Oszilloskop anschliessen.

> Ich habe auch länger als 20 Minuten gewartet, da ich gelesen habe, dass
> die Empfänger eine ganze Weile brauchen, bis sie sich synchronisiert
> haben.

Das hast Du falsch verstanden. Der Empfänger empfängt sofort.
Die Auswertung braucht teilweise etwas länger, da sie verschiedene
Plausibilitätsüberprüfungen macht. Funktionieren des andere fertige
DCF-Uhren an Deinem Standort einwandfrei?
Gruss
Harald

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Bei DCF77 dauert das Einpegeln des Komparators nur einige Sekunden. Da 
wird eine Zeitkonstante von typisch 1 Sekunde verwendet.
Die Geschichte mit bis zu 20 Minuten stammt wohl eher von älteren 
GPS-Empfängern (Suche der Satelliten und Download des Alamachs).

Wenn du die Antenne direkt neben dem FPGA-Board betreibst, wirst du 
keinen sauberen Empfang haben!
Die Feldstärke und damit erreichbarer Störabstand hängt sehr stark von 
der Entfernung zu Mainflingen ab. Daher muß man jede 
Anmerkung/Empfehlung entsprechend gewichten. Ich z.B. bin knapp über 
400km vom Sender entfernt und hier kommt kaum noch was an. Ist schon 
nicht mehr lustig wenig.

Also Scope an den Empfänger-Ausgang!

Der Betreiber des Senders denkt im Zuge der EU-Vergrößerung und 
Zentalisierung über eine Erhöhung der Sendeleistung nach. Das würde ich 
auch begrüßen.

von ... (Gast)


Lesenswert?

Fabian Hoemcke schrieb:
> Jetzt kann man natürlich fragen, warum ein FPGA für sowas, aber da soll
> noch einiges mehr passieren.
>
> Da ich mit DCF77 noch nicht gearbeitet habe, scheitere ich leider schon
> an den Grundlagen.

Bevor du das Signal in den FPGA reinfütterst, solltest du dich erstmal 
mit den Signalcharakteristiken auseinandersetzen und verstehen, wie die 
Übertragung und Kodierung funktioniert.

Mit dem FPGA hast du genügend Rechenleistung, um das Signal per SDR 
aufzubereiten.

von ... (Gast)


Lesenswert?

Ein paar Filteralgorithmen wirst du auch brauchen, wenn das Signal aus 
deinem Empfänger nicht sauber ist.

Und wo wir schon bei Algorithmen sind: Hast du beim Hochladen deiner 
Bilder im ersten Posting nicht den Hinweis zu den Bildformaten gelesen. 
PNG ist nun wirklich nicht geeignet, um ein eher weniger scharfes Photo, 
von einem Board, das tausendfach verkauft wird, adäquat darzustellen. 
Was willst du uns mit diesen 3.9 MB sagen?

von Sigint 112 (sigint)


Lesenswert?

Ich hab da mal ne Frage zum Datenblatt des DCF77 - Empfängers:
Da steht was von "DATA is current source/sink mit Iout > 5µA".
Wie ist das zu verstehen?!? Muss ich den Ausgang mit einem Minimalstrom 
betreiben? Und was ist dann der Maximalstrom? Oder ist das ">" einfach 
durch "<" zu ersetzen?

Gruß,
  SIGINT

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Das der Ausgang nur 5uA bringt. Das ist sehr wenig! Reicht gerade für 
einen CMOS-Eingang auf der anderen Seite. Bedeutet auch, daß die Leitung 
nicht zu lang sein darf und am besten geschirmt. Und das der Ausgang 
schnell tot ist, wenn du ihn kurzschließt.

SDR an einem Digitalausgang. Das war wohl nix :-)

Es heißt Almanach. sorry.

von Lattice User (Gast)


Lesenswert?

Schau mal in diesen Thread Beitrag "DCF1 von Pollin"

Es gibt wohl einige Fallen mit dem DCF Modul, z.B. dass eine fallende 
Flanke am PON gebraucht wird damit es startet.

von Lattice User (Gast)


Lesenswert?

Noch etwas:

Da das Modul am Ausgang nur 5 µA kann, muss man darauf achten dass bei 
den FPGA Eingängen die Pullup/downs deaktiviert sind (falls vorhanden).

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Christian Berger schrieb:
> Ahh ja, eine typische Praktikumsaufgabe an Hochschulen, von der Du jetzt
> willst, dass wir sie für Dich lösen oder was?
Ob das typisch ist, kann ich nicht sagen. Wir haben uns das selber 
ausgesucht.
> Aber mal als Hinweis, schau mal nach, ob das Signal, welches aus dem
> Empfänger kommt, korrekt ist.
Das hatte ich mit dem Aufbau versucht. Wie soll ich es statt dessen 
machen?

Tom schrieb:
> Fabian Hoemcke schrieb:
>> Wenn ich das richtig gelesen habe, ist, wenn die Verbindung steht, der
>>
>> Data-Pin auf High und bei einem Bit für 100ms bzw. 200ms auf GND.
>
> ...schau nochmal ins Datenblatt des Moduls. Das steht ganz unten unter
> "Wichtige Hinweise" anders. Die Bits werden bei DCF durch Absenken der
> Trägeramplitude übertragen, das ist richtig... das Modul zieht dann aber
> den DATA-PIN von GND auf VCC (!)
Du Meinst:
• DATA=GND wenn die Trägeramplitude das Maximum erreicht.
• DATA=VCC wenn die Trägeramplitude absinkt (moduliert wird).
?
Tja, das hatte ich falsch verstanden. Ich fragte mich, was interessiert 
mich die Trägerwelle? Ich dachte, dass würde vom Empfangsmodul 
rausgefiltert. Also, dass es nur die Daten, die auf moduliert wurden 
ausgewertet werden.
ALso eher so:
1
         *****           |            *******
2
         *   *           |            *     *
3
         *   *           |            *     *
4
         *   *           |            *     *
5
**********   **************************     ************
Aber danke. Wie gesagt, falsch gedeutet.

Harald Wilhelms schrieb:
> Funktionieren des andere fertige
> DCF-Uhren an Deinem Standort einwandfrei?
Hier gibt es keine weiteren DCF-Uhren. Nicht mal eine einfache Funkuhr 
an der Wand oder einen Funkwecker.

Abdul K. schrieb:
> Wenn du die Antenne direkt neben dem FPGA-Board betreibst, wirst du
> keinen sauberen Empfang haben!
Abdul K. schrieb:
> Das der Ausgang nur 5uA bringt. Das ist sehr wenig! Reicht gerade für
> einen CMOS-Eingang auf der anderen Seite. Bedeutet auch, daß die Leitung
> nicht zu lang sein darf und am besten geschirmt
Da widersprichst Du Dir aber leider. Oder meinst Du wirklich, dass ich 
einen Verstärker bauen soll?

... schrieb:
> Fabian Hoemcke schrieb:
>> Jetzt kann man natürlich fragen, warum ein FPGA für sowas, aber da soll
>> noch einiges mehr passieren.
>>
>> Da ich mit DCF77 noch nicht gearbeitet habe, scheitere ich leider schon
>> an den Grundlagen.
>
> Bevor du das Signal in den FPGA reinfütterst, solltest du dich erstmal
> mit den Signalcharakteristiken auseinandersetzen und verstehen, wie die
> Übertragung und Kodierung funktioniert.
Ich bin naiv davon ausgegangen, dass ich das bereits verstanden habe. 
Also zumindest die Übertragung halb, aber die Codierung ganz. Die 
Codierung aber spielt im Moment noch keine Rolle. Empfange ich die Bits 
vernünftig, sollte das decodieren kein Problem mehr darstellen. Naiv 
gedacht.

> Mit dem FPGA hast du genügend Rechenleistung, um das Signal per SDR
> aufzubereiten.
Welches davon ist gemeint? Kann mir gerade keinen Reim darauf machen.
http://de.wikipedia.org/wiki/SDR

Lattice User schrieb:
> Noch etwas:
>
> Da das Modul am Ausgang nur 5 µA kann, muss man darauf achten dass bei
> den FPGA Eingängen die Pullup/downs deaktiviert sind (falls vorhanden).
Wow! Das ist neu für mich. Kannst Du mir sagen, wie ich das einstellen 
kann? (Link?)


Aber ja, ich werde als nächstes mich über die Übertragung usw. genauer 
belesen. http://de.wikipedia.org/wiki/DCF77 schweigt sich leider dazu 
aus. Lediglich die 77,5kHz Trägerfrequenz wird erwähnt.
Dann packe ich das Teil auch mal an den Oszi. Mal sehen, was dabei raus 
kommt. Zu guter letzt, werde ich das Teil mal austauschen. Fehlersuche. 
Vielleicht habe ich das Ding auch geschrottet.

Besten Dank Leute
Dachte wieder mal, dass es ein einfacheres Thema sei und ich wurde 
wieder mal eines besseren belehrt. :D

Gruß
Fabian

von ... (Gast)


Lesenswert?


von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Fabian Hoemcke schrieb:
> Dann packe ich das Teil auch mal an den Oszi.
Das ist eigentlich der erste Schritt (er wäre es auf jeden Fall für 
mich). Denn erst dann weißt du genau, welches Signal dich erwartet...

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Lothar Miller schrieb:
> Fabian Hoemcke schrieb:
>> Dann packe ich das Teil auch mal an den Oszi.
> Das ist eigentlich der erste Schritt (er wäre es auf jeden Fall für
> mich). Denn erst dann weißt du genau, welches Signal dich erwartet...
Ich bin nicht davon ausgegangen, dass das eine Blackbox ist.
Der Hintergrund aber dürfte sein, dass halt jedes Modul anders reagieren 
kann. Grundsätzlich.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Lattice User schrieb:
> Schau mal in diesen Thread Beitrag "DCF1 von Pollin"
>
> Es gibt wohl einige Fallen mit dem DCF Modul, z.B. dass eine fallende
> Flanke am PON gebraucht wird damit es startet.
Danke! Darin wird folgende Seite verlinkt: 
http://www.b-redemann.de/sp-project-dcf77.shtml

Diese Schaltung habe ich nachgebaut und den Ausgang mit dem Xminilab 
aufgezeichnet.

Man sieht aber, dass das nicht funktioniert. Das DCF1 wird wohl kaputt 
sein. Werde das Teil mal austauschen.

Man sieht entweder nur Rauschen, oder eine Nulllinie.
Der Pegel liegt bei etwa 2 Volt. Die Zeitachse ist auf 1s/Div 
eingestellt.

von Kopfschüttel (Gast)


Lesenswert?

Meinst du, das auf dem Bild jetzt so wichtige Detailinformation drauf 
ist, dass man das als verlustfrei komprimierte 3 MB PNG Datei hochladen 
muß? Wieso nimmst du für Photos kein JPG?

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

OK. Wird gemacht. Sehe gerade, da wärs ein 10tel gewesen.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

So, ich habe jetzt mal das Modul DCF1 ausgetauscht und zu aller erst war 
ich wieder enttäuscht, da eine lange Zeit nur Rauschen kam. Dann, nach 
Minuten, konnte man aber aus dem Rauschen die Pieks erkennen, die mir 
die Informationen darstellen sollen. Wenn mann es dann mit viel Liebe 
anpackt erkennt man fast schon ein perfektes Signal. Und das hier im 
600km entfernten Berlin.
Man kann sogar ab und zu die Synchronisierungssekunde gefolgt von der 
"0" sehen.

Jetzt würde mich noch interessieren, ob ich nicht einen Tiefpass zur 
Glättung mit auf das Board aufbauen sollte. Ich nehme an, dass ein 
einfacher Elko gegen Masse reicht. Aber wie groß würde mich da noch 
interessieren und auch, ob ich das Signal vor oder nach der Verstärkung 
glätten sollte.

Hat jemand eine Idee dazu?

Vielen Dank
Fabian

von Ralf (Gast)


Lesenswert?

Ich wuerde es statt mit einem Elko vielleich mal mit einem
Schmitt-Trigger probieren, damit du sauber Impuls hast.

Ralf

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Angehängte Dateien:

Lesenswert?

Ralf schrieb:
> Ich wuerde es statt mit einem Elko vielleich mal mit einem
> Schmitt-Trigger probieren, damit du sauber Impuls hast.
>
> Ralf

Danke. Ein Schmitt-Trigger ist ja auch recht logisch.
Nun stellt sich für mich die Frage, welchen nehmen?

Ich habe da zwei Schaltungen gefunden. Einen invertierenden 
Schmitt-Trigger hier auf Microkontroller.net und einen auf dem 
Elektronik-Kompendium 
http://www.elektronik-kompendium.de/sites/bau/0209241.htm.

Klar könnte ich jetzt einfach einen fertigen Schmitt-Trigger verwenden, 
aber ich möchte jetzt erstmal den Aufbau von 
http://www.b-redemann.de/sp-project-dcf77.shtml mit LM358 
weiterferwenden.

Jetzt habe ich leider keine Application Note für das LM358 zum 
Schmitt-Trigger gefunden.
(Weil es kein Komparator sondern ein OpAmp ist und somit denkbar 
schlecht für die Aufgabe geeignet ist???)
Wenn ich jetzt R1, wie im ersten Bild zu sehen ist, mit 10k vor belege 
und ich mir sage, dass ich jetzt keine Hysterese brauche, sondern die 
Schwelle bei beiden bei 1V liegen kann, könnte dann folgende Rechnung 
richtig sein?
Ansonsten frage ich mich, wie R1 zu dimensionieren ist.

So, sollte sich der LM358 eignen, würde ich also für R1 10k und für R2 
4,30k einsetzen und den R3 weglassen. Habe ja noch ein 2. Gate im 
Package.
Ginge auch, diese Schaltung mit der ersten invertierenden Verstärkung zu 
kombinieren? Oder könnte ich die nicht auch gleich weg lassen?

Ansonsten, böte sich der nicht-invertierende Schmitt-Trigger vom 
Elektronik-Kompendium an?

Gruß und Danke
Fabian

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Ralf schrieb:
> Ich wuerde es statt mit einem Elko vielleich mal mit einem
> Schmitt-Trigger probieren, damit du sauber Impuls hast.
>
> Ralf

So, habe jetzt erst wieder Zeit gefunden mich darum zu kümmern.
Ich würde ganz gerne wissen, ob es 08/15 Komparator gibt, ähnlich wie 
den 08/15 OpAmp LM358 (LM324 usw.).

Was verwendet Ihr für solche Fälle?
Die Anforderungen sind ja nicht enorm. Muss ja nicht ultra-fast sein und 
nur im Bereich von 0V - 3.3V arbeiten.

Ach ja, nix kosten muss er! ^^

Gruß und Danke
Fabian

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

LM339
LP339
LM311

als Sample bestellen.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Danke ehydra.

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.