Forum: Projekte & Code DCF / DCF77 / Quarzfrequenz / Oszillatorfrequenz / Taktfrequenz bestimmen ATmega8 Assembler


von Bernhard S. (bernhard)



Lesenswert?

Geschätztes Forum,

mit Hilfe eines DCF-Empfängers kann die Langzeitstabilität eines Quarzes 
bzw. eines Oszillators o.ä. berechnet und bestimmt werden.

Im Display wird die Meßzeit, die Phasenverschiebung und die errechnete 
Taktfrequenz angezeigt.

Kurz nach Programmstart versucht der µC seinen internen 1s Timer 
phasengenau auf das DCF-Signal zu synchronisieren.

Eventuell kann es einige Versuche benötigen, wenn das DCF-Modul 
unsaubere Impulse zur Verfügung stellt. Die rote LED signalisiert einen 
Fehlversuch.

Permanent wird die Phasenverschiebung (DCF zu 1s-TIMER)mit einer 
Genauigkeit von 1ms gemessen und die errechnete Taktfrequenz angezeigt.

Die Phasenverschiebung schwankte bei meinen DCF-Empfängern bei jeder 
Messung um einige ms.

Nach einigen Stunden kann das Ergebnis schon ganz bruchbar sein, denn 
die schwankende Phasenverschiebung, durch unsaubere DCF-Impulse, wirkt 
sich kaum noch auf das Meßergebnis aus

Leider beherrscht das Programm nur eine Phasenverschiebung von
-500...+500ms. Bei relativ ungenauen Takten, kann die Phasenverschiebung 
schnell erreicht sein (z.B. nach 6h).

Am PIN PD1 kann auf invertierende Module umgeschaltet werden.

Ein 2-Kanal-Oszi könnte das DCF-Signal und den wegwandernden 1s (1ms 
langen) Impuls an PC5 des Timers darstellen.

Anmerkung: Bei der Messung sollten keine größeren Temperaturschwankungen 
und Spannungschwankungen auftreten.

Ein kurzzeitige Ausfall des DCF-Signals ist nicht tragisch, nur in 
dieser Zeit kann keine Berechnung der Taktfrequenz vorgenommen werden.

ES ist kein perfekter Assembler-Code, es gibt vieles zu optimieren und 
zu verbessern.

Bernhard

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.