10-MHz-Referenzfrequenz Im Bastlerlabor - Links zu meinen
Projektseiten:
Allgemeines
Genauigkeitsproblem
Das Quarzproblem
Referenzfrequenz "aus der Luft"
GPS
Rubidium
DCF77
Zurück auf die Erde
TCXO
OCXO
primitives Kalibrierverfahren für den
50-MHz-Frequenzzähler:
Genauigkeitsproblem
Frequenzen lassen sich viel genauer messen als Spannungen. Viele
DVMs (ab 50€) haben auch einen Frequenzmessbereich. Die
Messgenauigkeit wird beim DVM durch das Display vorgegeben. So
beschränken sich einige 4-1/2-stelligen DVMs auf 200 kHz (10
Hz Auflösung) andere messen bis zu 10 MHz bei entsprechend
schlechter Auflösung (1 kHz). Für einfache Messungen reicht das
aus, ein genauerer Frequenzmesser lässt sich aber auch vom Bastler
selber bauen.
Als Beispiel sein mein 50-MHz-Frequenzzähler oder mein Universal-Frequenzzähler genannt.
Wenn man mit diesem Eigenbaufrequenzzähler eine Frequenz von ca. 20 MHz ausmisst, so wird die gemessene Frequenz z.B. mit einer Auflösung von 16 Hz angezeigt. Die Anzeige erfolgt also in 16-Hz-Schritten. Ein möglicher Messwert wäre z.B 20.000.000 Hz oder 20.000.016 Hz. Zwischenwerte sind nicht möglich. Das ist aber keine wirkliche Einschränkung, denn die 16-Hz-Auflösung der Anzeige entspricht einem Anzeigefehler von 0,00008% oder 0,8 ppm. So genau ist die eigentliche Messung ohnehin nicht.
Die Messgenauigkeit wird nämlich durch die Genauigkeit des Quarzes bestimmt, der im Frequenzzähler als Referenzfrequenz dient. Im Falle des Universal-Frequenzzählers ist das der 20-MHz-Quarz (Q1) für den PIC-Takt. Der Quarzfehler ist viel größer als der oben als Beispiel genannte Anzeigefehler.
Das Quarzproblem
Typische Quarze haben Frequenzfehler von 30..50 ppm
(0,003..0,005%). Dieser Fehler ist 20mal größer als der oben
genannte Anzeigefehler. Es kann also passieren, dass eine exakte
20-MHz-Frequenz vom frisch zusammengelöteten Frequenzzähler z.B.
als 20.000.992 Hz oder als 19.999.008 Hz angezeigt wird.
Quarze werden so hergestellt, dass sie dann mit ihrer
Normfrequenz (± Toleranz) schwingen, wenn sie mit einer bestimmten
Kapazität belastet werden. Bei kleinere Last schwingen sie
schneller und bei größerer Last langsamer. Die Belastung erfolgt
z.B. mit kleinen Kondensatoren von den Quarzanschlüssen nach
Masse. Man muss also die vom Hersteller vorgesehene Last kennen,
um die Belastungskondensatoren richtig auszuwählen.
Ein Quarz für große kapazitive Lasten (z.B. 30pF) ist einfacher zu
benutzen, als ein Quarz für kleine Lasten (z.B. 12 pF), weil sich
beim Aufbau kleine Kapazitäten kaum genau einhalten lassen
(Auswirkungen der Leiterplatte u.v.m.). Nur wenn man den Quarz
richtig belastet, dann hält er auch seine vom Hersteller
versprochene Frequenzfehler (z.B. 30 ppm) ein. Dieser Fehler ist
für einen genauen Frequenzzähler aber immer noch zu groß.
Dieser Fehler lässt sich dadurch korrigieren, dass man die Frequenz des Referenzquarzes im Frequenzzähler (in diesem Fall also der Arbeitstakt-Quarz des PIC-Prozessors) auf exakt 10 MHz (seinen Nominalwert) korrigiert (den Quarz 'zieht'). In der Oszillatorschaltung befinden sich an beiden Anschlüssen des Quarzes kleine Kondensatoren (30 pF) nach Masse. Die stellen die 'Grundbelastung' für den Quarz da, und beeinflussen (wie schon oben beschrieben) seine Frequenz ein wenig. Wenn man den Quarz ziehen will, ersetzt man einen der beiden Kondensatoren (vorzugsweise von OSC1 nach Masse) gegen einen 30 pF Trimmkondensator. Dieser wird dann solange verdreht, bis bei der Messung von 20 MHz auch genau 20.000.000Hz angezeigt wird. Dann schwingt der gezogene Quarz auch mit genau 10 MHz.
Dafür benötigt man aber erst einmal ein exaktes 20-MHz-Signal.
Das steht dem Bastler aber nicht zur Verfügung.
Die Quarzfrequenz ist temperaturabhängig. Die typische
Temperaturdrift beträgt -0,034 ppm/°C2. Das klingt
klein, aber die Quadratfunktion hat es in sich. Eine
Temperaturabweichung von nur 10 Grad bewirkt schon 3,4ppm
Abweichung. Schon 5 Grad (was ja im Bastelkeller vorkommen kann,
oder durch Eigenerwärmung im Gehäuse passiert) bewirken 1 ppm
Drift. Hier helfen nur noch temperaturkompensierte (TCXO) oder
temperaturstabilisierte (OCXO) Quarzoszillatoren.
Apropos OCXO: Ein 10-MHz-OCXO mit abgeschalteter Heizung hat eine
Frequenzabweichung von fast -1,5 kHz (-150 ppm !) und eignet sich
somit wunderbar zur Demonstration der Temperaturdrift.
Referenzfrequenz "aus der Luft"
In der DDR wurde das Zeilensynchronsignal des 2.
Fernsehprogramms mit einer Atomuhr synchronisiert. Damit
stand in der ganzen DDR ein hochgenaues Frequenznormal von
15625 Hz zur Verfügung. Mit der Einstellung des
DDR-Fernsehens wurde dieses Verfahren vom ZDF übernommen.
(Nur analoges TV!) Durch das Zählen dieser Impulse über 1 Minute kann man einen Zählfrequenzmesser auf bis zu 1 ppm genau kalibrieren. Da das TV-Signal aber ein Gemisch aus Video- und Synchronimpulsen ist, muss man zunächst eine PLL mit dem Zeilensynchonsignal synchronisieren, um eine saubere 15625 Hz-Quelle zu bekommen, oder man greift das Signal im Inneren eines TV-Geräts ab (was ich aus Sicherheitsgründen nicht jedem Bastler empfehlen kann). Außerdem funktioniert das natürlich nur mit analogem TV und nicht mit DVB-S /-T /-C . Wer den Video-Color-Prozessor VCP7001 (von ELV) besitzt, kann diesen an eine auf das ZFD (analog TV) abgestimmtes Fernsehgerät anschließen, und die 15625 Hz am Pin 11des IC1 (TDA2579) abgreifen. Es handelt sich an dieser Stelle um 12V-Pulse. Im Web gibt es einige Projekte, in denen z.B.
20-MHz-Quarzoszillatoren mit einer PLL auf die 15625Hz
Zeilenfrequenz synchronisiert werden, damit steht dann
eine 20-MHz-Referenz zur Verfügung, der Aufwand ist aber
hoch. Im professionellen Kalibrierlabor werden heute
Quarzuhren eingesetzt, deren Quarze getrimmt sind, und
deren Trimmung durch Vergleich mit dem Funkkuhrensignal
(DCF77) oder der GPS-Zeit automatisch ständig korrigiert
wird. Damit ist eine Genauigkeit von <2 ppm
erreichbar, aber diese Lösung ist für Bastler meist zu
aufwendig. |
Man verbindet PON mit GND und
schließt zwischen GND und Vdd 1,5 V an. Daraufhin gibt das
Modul am Signalausgang im Sekundenrhythmus kurze positive
Pulse aus, die 100 ms oder 200 ms lang sind. Die
unterschiedlichen Pulslängen enthalten die binäre
Zeitinformation. Jeder 60. Puls fehlt, um den Beginn einer
neuen Minute zu kennzeichnen und den Datenstrom zu
synchronisieren. Vom fehlenden 60. Puls einmal abgesehen,
bilden die steigenden Flanken der Pulse ein recht genaues
1-Hz-Signal. Das gilt aber nur, wenn man die
Langzeitstabilität des Signals betrachtet. Mit der
Kurzzeitstabilität hapert es dabei aber gewaltig. Die
hochgenaue Trägerfrequenz und deren genaue Phasen (sowie
deren Phasenmodulation) sind auch verloren. In der deutschen Wikipedia schimpft man über über die sehr schmalbandige (10 Hz) Filterung des Signals im Empfängerchip, wodurch der Pulsbeginn mit 0,1s Ungenauigkeit ausgegeben würde. Diese Kritik möchte ich aber etwas einschränken. Die Flanken der Pulse werden durch das Filter immer gleich verzögert. Auf die durchschnittliche Pulsfrequenz hat die schmalbandige Filterung also keinen Einfluss. Allerdings führt das schmalbandige Filter (und die dadurch stark rampenförmige Hüllkurve des Signals am Filterausgang) insbesondere bei schlechten Empfangsbedingungen dazu, dass der Ausgangskomparator des DCF-Moduls den Beginn eines Pulses nicht immer an der gleichen Stelle des Pulses erkennt. Das Signal hat also etwas Jitter, allerdings nicht 0,1 s sondern nur wenige Millisekunden. (Bei guten Empfangsbedingungen habe ich nicht mehr als 3 ms gemessen.) Wenn man nicht den Abstand zweier benachbarter Pulse betrachtet, sondern den Abstand jedes 60sten Pulses (also der Minutenpulse), dann vermindert sich der Fehler schon deutlich. Für einen Fehler unter 10 ppm muss man die Pulse über wenigstens 8 Minuten auswerten. 3-ms-Jitter entsprechen:
|
Zurück auf die Erde
Die genauesten preiswerten Frequenzquellen sind für Bastler immer
noch Quarze. Allerdings haben sie, wie schon gesagt, von Hause aus
nicht die Genauigkeit, die man annimmt:
Typ | Grundfehler (25°C) | entspricht: | Fehler bei 20 MHz: | Temperaturdrift | Alterung/Jahr | |
Standardquarz (Grundton) | 30 ppm | 16 Minuten/Jahr | 2,6 Sekunden/Tag |
600 Hz | ±30 ppm (-10..70°C) | 5 ppm |
Standardquarz (Oberton) | 50 ppm | 26 Minuten/Jahr | 4,3 Sekunden/Tag | 1 kHz | ±50 ppm (-40..85°C) | 5 ppm |
Quarzoszillator Typ A | 25 ppm | 13 Minuten/Jahr | 2,1 Sekunden/Tag | 500 Hz | - | 5 ppm |
Quarzoszillator Typ C | 100 ppm | 53 Minuten/Jahr | 8,7 Sekunden/Tag | 2 kHz | - | 5 ppm |
Uhrenquarz (32,768 kHz) | 20 ppm | 10 Minuten/Jahr | 1,6 Sekunden/Tag | 400 Hz | -0,034 ppm/°C2 | 3 ppm |
Messquarz | 3 ppm | 1,5 Minuten/Jahr | 0,25 Sekunden/Tag | 60 Hz | -0,034 ppm/°C2 | 5 ppm |
TCXO (temperatur
compensated crystal osc.) |
<0,5 ppm | 15 Sekunden/Jahr | 5 ms/Tag | 10 Hz |
±2.5ppm (-30 to 85°C) |
1 ppm |
OCXO (oven
controlled crystal osc.) |
<0,1 ppm |
3 Sekunden/Jahr |
0,9 ms/Tag |
1 Hz |
±0,01 ppm | 0,1ppm |
(Hinweis zur Umrechnung: 1 ppm = 0,0001%)
Da man sich unter ppm (parts per million = Millionstel) nicht viel
vorstellen kann, enthält die obige Tabelle die maximale
Gangabweichung einer Uhr pro Jahr, wenn sie mit so einem Quarz
ausgerüstet ist. Ich habe dort auch den möglichen Frequenzfehler
eines exemplarischen 20-MHz-Quarzes aufgeführt.
Die Quarzfrequenz hängt auch von der Temperatur ab. Der Zusammenhang ist aber nicht linear. Quarze sind so ausgelegt, dass bei ihrer typischen Umgebungstemperatur (turnover Temperatur) die Temperaturabhängigkeit minimal ist (ca. 0,1 ppm/grad). Bei extremen Temperaturen kann der Fehler aber weitaus größer sein. (Der Fehler steigt mit dem Quadrat der Temperaturabweichung.) Um dem entgegenzuwirken gibt es TCXOs und OCXOs.
TCXO
Ein TCXO ist
ein Quarzoszillator mit Temperatursensor und "Verstimmautomatik".
Es wird stets die Temperatur des Quarzes gemessen und z.B. mit
einer Kapazitätsdiode der Quarz so verstimmt, dass seine Frequenz
bei Temperaturänderungen einigermaßen konstant bleibt (indirect
compensation). Im einfachsten Fall ist der Quarzoszillator nur mit
einer ganzen Reihe passiver Bauelemente versehen, deren
Temperaturkennlinien die Temperaturdrift des Quarzes in einem
gewissen Temperaturbereich einigermaßen kompensieren (direct
compensation). Der Hersteller gleicht dann noch die Frequenz ab
und versiegelt das Einstellbauteil (z.B. einen Trimmkondensator).
Eigentlich sind TCXOs ideal als Frequenznormal in einfachen
Frequenzzählern. Sie sind deutlich frequenzstabiler als einfache
Quarze, benötigen aber keine so lange Aufwärmzeit wie ein OCXO.
Noch besser wären VCTCXO (voltage controlled temperature
compensated crystal oscillator), da diese sich mit einer
Abstimmspannung genau "kalibrieren" lassen, während einfache TCXOs
nicht elektrisch einstellbar sind. Ein 29 Jahre alter einfacher
10MHz-TCXO, den ich bei Ebay erstanden hatte, lieferte auf Anhieb
stabile 10,000011 MHz, die ich auf 10MHz abglich. Eine
Betriebsspannungsabhängigkeit der Frequenz dieses konkreten Typs
ist gering, aber vorhanden (ca. 1..2 Hz pro 100mV). Das gilt so
aber nicht für alle TCXOs.
Bei Amazon und Co. kann man auch TCXOs im SMD-Gehäuse bekommen.
Den "I533" von ILSI bekommt man auch schon für unter 10 Euro.
Diese sind nur 3,2x5 mm groß und benötigen 3,3V Betriebsspannung.
Leider gibt der Hersteller einen Grundfehler von 1 ppm an, und
viel besser ist die Frequenzgenauigkeit wirklich nicht. Mehrere 20
MHz-Typen habe ich ausgemessen und dabei Frequenzfehler von ~15 Hz
ermittelt. Das ist innerhalb der Herstellerspezifikation, aber für
mich doch etwas unbefriedigend. Für höhere Genauigkeit wird man
hier wohl mehr zahlen müssen. Der Shop bezeichnete diese TCXOs als
20,0000MHz Typen, was angesichts der realen Genauigkeit auch
korrekt ist. Dann suche ich mal weiter nach Quellen für
20,000000MHz-TCXOs.
OCXO
Der OCXO ist
ein Quarzoszillator, der sich ein einem temperaturstabilisierten
Gehäuse ("Ofen") befindet. Im Ofen wird die Temperatur (ca 70°C ..
80°C) konstant gehalten, so dass die Temperaturdrift des Quarzes
(wie auch aller anderen Bauelemente des Oszillators) keine Rolle
mehr spielt. Ein klassischer OCXO ist hochstabil, benötigt dafür
aber mehrere Stunden Aufwärmzeit. Moderne Typen sind schneller und
haben schon nach 2 Minuten einen einigermaßen stabilen
Arbeitspunkt erreicht. Aber 15 Minuten Aufwärmzeit sollte man auch
einem schnellen modernen OCXO gönnen.
Es gibt gelegentlich bei Ebay OCXOs zu erwerben. Ich habe mir
einen preiswerten
OCXO von einem chinesischen Händler besorgt.
Zusammengefasst:
primitives
Kalibrierverfahren für den 50-MHz-Frequenzzähler:
Ein Tag hat 86400 Sekunden. Eine Uhr, die am Tag um 1 Sekunde vor
oder nach geht, hat einen Frequenzfehler von 1/86400 = 11,6ppm.
In den fertig aufgebauten Frequenzzähler wird anstelle der
Frequenzzähler-Software eine Uhrensoftware
gebrannt. Diese Uhr wird mit der Fernseh-Uhr des analogen
Fernsehens synchronisiert. Nach einem Tag Laufzeit, wird die
Eigenbau-Uhr mit der Fernseh-Uhr verglichen. Bei einer Abweichung
von mehr als 1 Sekunde wird der Trimm-Kondensator am Quarz etwas
verstellt, und die Uhr wieder synchronisiert. Dabei ist vorsichtig
vorzugehen, um nicht zu stark zu korrigieren (1 pF = 0,25
Sekunde/Tag). Nach einigen Tagen sollte der Laufzeitfehler unter 1
Sekunde pro Tag liegen.
Nun kann man das Ganze im Wochenrythmus wiederholen. Da die
Temperatur in Wohnung und Bastelraum nur zwischen 15°C und 35°C
schwanken wird, ist eine Genauigkeit von 3 ppm erreichbar. Das
entspricht einem Laufzeitfehler von 0,6 Sekunden pro Woche. Eine
höhere Präzision ist ohne Thermostat für den Quarz nicht
erreichbar, und aufgrund der Alterungsdrift auch nicht sinnvoll.
Analog-TV wurde abgeschafft. Beim digitalen TV kann das Bild
schon mal mit 1 Sekunde Verzögerung angezeigt werden, die
Digital-TV-Uhr ist also weniger zuverlässig als die frühere
Analog-TV-Uhr. Anstelle der TV-Uhr nutze ich deshalb z.Z.
Funkwecker als Zeitnormal. Ein solcher Funkwecker kann zwar
tagsüber etwas vor- oder nachgehen, wenn er gerade das Zeitsignal
des DCF-Senders nicht auswertet, aber er wird mehrmals täglich
(eigentlich bevorzugt nachts) mit dem DCF-Signal synchronisiert.
Bei mir wird der Frequenzzähler (mit Uhrensoftware) regelmäßig
tagelang mit zwei unterschiedlichen Funkweckern verglichen. Der
Langzeitfehler des Frequenzzählers wurde somit auf +3ppm
"kalibriert". Ein besseres Ergebnis ist aufgrund der
Temperaturdrift des Quarzes ohnehin nicht realisierbar.
Nun wird das Uhrenprogramm gegen das Frequenzzählerprogramm ausgetauscht, und man hat einen präzisen Frequenzzähler.
Auf diesem Wege lässt sich eine gute Langzeitstabilität
erreichen. Unabhängig davon, kann die Quarzfrequenz kurzzeitig
viel stärker schwanken, wenn z.B. die Versorgungsspannung des
Frequenzzählers nicht sorgfältig stabilisiert und gesiebt wurde.
Ein sauberer Geräteaufbau und eine saubere Betriebsspannung sind
also auch wichtig für ein präzises Messergebnis.
Ein TCXO oder OCXO verspricht aber ein besseres Ergebnis in
kürzerer Zeit.
Fazit
Ob eine solche Genauigkeit sinnvoll ist, muss jeder selbst
entscheiden. Eine Frequenz von 20 MHz wird jetzt höchstens noch um
ca. 60 Hz falsch gemessen/angezeigt. Man kann nun feststellen,
dass alle Quarze in der Bastelkiste einige 100 Hz Frequenzfehler
aufweisen, einen echten praktischen Nutzen hat man davon in der
Praxis aber selten.