DCF / DCF77 / Quarzfrequenz / Oszillatorfrequenz / Taktfrequenz bestimmen ATmega8 Assembler

OP #2861553
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren