Wie kann ich die Frequenz eines Uhrenkristalls mit meinem Oszilloskop messen?

7

Ich versuche, die Frequenz eines 32,768-kHz-Uhrenkristalls zu messen, der an meine AVR-MCU angeschlossen ist. Auf diese Weise kann ich die Kondensatorwerte des Kristalls fein einstellen, um eine korrekte Frequenz zu erhalten. Mein Oszilloskop (ein Rigol DS1052E mit den werkseitigen Sonden) scheint jedoch keine Ausgabe zu erhalten.

Ich habe versucht, zwischen beiden Kristallbeinen und auch zwischen einem Bein und dem Boden zu messen und erhalte keine Ausgabe. Ich habe die Sicherungen für den externen Kristall richtig eingestellt und die MCU funktioniert.

Selbst wenn ich die Frequenz messen könnte, könnte ich sicher sein, dass die gemessene Frequenz so ist, wie sie laufen würde, oder würden die Oszilloskopsonden mir irgendwie einen verzerrten Messwert geben? Wenn ja, wie kann ich die Kappen einstellen, um eine stabile Frequenz von 32,768 kHz zu erhalten?

David Högberg
quelle
Welchen Kristall verwenden Sie? Bitte fügen Sie Datenblatt- und Kondensatorwerte hinzu, die derzeit an Bord sind.
AKR
Es ist ein 30 PPM Kristall mit 22 pF Kappen. Ich habe kein Datenblatt, da die Website, auf der ich sie gekauft habe, kein Datenblatt hat.
David Högberg
1
Hinweis: Sie können die konstante Drift in der Software auch korrigieren, wenn Sie die tatsächliche Frequenz des Kristalls über einen bestimmten Zeitraum, z. B. 24 Stunden, gemessen haben. Keine Notwendigkeit, langfristig zu messen, Kondensator einzustellen, zu messen, Kondensator einzustellen, ...
JimmyB

Antworten:

18

Wenn der AVR oder eine MCU die Möglichkeit hat, den Takt an einen externen Pin auszugeben, selbst wenn er ihn aufteilt, würde ich diesen Pin messen. Das Messen an einem Taktstift stört die Taktfrequenz aufgrund der Kapazität der Oszilloskopsonde. Auf diese Weise ist es gepuffert.

Löffel
quelle
9

Eigentlich bezweifle ich irgendwie, dass die Genauigkeit des Oszilloskops ausreicht, um die Frequenz des Quarzkristalls anzupassen, der als Uhr verwendet werden soll.

Zum Beispiel entspricht 1s Unterschied in 24 Stunden einer Genauigkeit von 0,001%. 1s in einer Woche ist 0,00016%.

Die Kalibrierung kann mit einem Frequenzmesser durchgeführt werden. Wenn Sie eine mit einer Auflösung von 1 Hz haben, erhalten Sie eine Genauigkeit von 3 s pro 24 h.

Frequenzmesser mit einer Auflösung von 0,1 Hz (und natürlich richtig kalibriert) können eine Genauigkeit von 300 ms pro 24 Stunden liefern.

Es gibt eine einfache Möglichkeit (aber es dauert länger), die Uhr zu verlassen, um die Zeit für 24 Stunden oder noch mehr zu zählen und mit Funktaktsignalen zu synchronisieren.

Eine Alternative besteht darin, über das Internet zugängliche Zeitserver mit derselben Methode zu verwenden.

Johnfound
quelle
Ich habe ein 50 MHz Oszilloskop. In einer Schwingungsperiode im Kristall sollte mein Oszilloskop also 50000000/32768 = 1525 Proben aufnehmen. Ich sehe nicht ein, wie es möglicherweise die Frequenz falsch berechnen könnte, wenn mir nicht etwas Grundlegendes fehlt?
David Högberg
Wegen der Genauigkeit des XTAL Ihres Oszilloskops. Sollte übrigens ein OCXO sein ...
Blup1980
1
Überprüfen Sie Ihre Bereichsspezifikation. Was ist die Genauigkeit der Frequenzmessung? Vergleichen Sie es mit den Zahlen aus der Antwort.
Johnfound
4
@ David: Ich nehme an, Sie möchten die Frequenz messen, indem Sie die Periodenlänge messen und dann berechnen
f=1/T
. Wenn der Kristall Ihres Zielfernrohrs jedoch weit entfernt ist, wird die falsche Periodenlänge angezeigt. Beispiel: Angenommen, Sie haben ein 1-MHz-Oszilloskop, das so kaputt ist, dass es nur bei 500 kHz abtastet. Wenn dieser Bereich zum Messen eines Intervalls von 1 ms verwendet wird, werden 500 Abtastungen durchgeführt. Aber weil es nicht weiß, dass es falsch ist, wird es denken, dass das Intervall ist
T=500 samples1 MHz=500 µs
lange. Sie können die Frequenz also nicht zuverlässig messen, wenn die Frequenz Ihres Oszilloskops unzuverlässig ist.
Geier
1
Wenn mehr Genauigkeit erforderlich ist als der eingebaute Oszillator des Oszilloskops, sollten Sie einen GPS-Empfänger mit einer Ausgabe von 1 Impuls pro Sekunde verwenden oder kalibrieren, was genauer ist als bei den meisten Oszillatoren .
Justin
7

Die Sonde stört die Messung und ist möglicherweise der Grund, warum der Stromkreis nicht schwingt. Der Mikrochip verfügt tatsächlich über einen Anwendungshinweis, in dem eine empfohlene Methode zur Bestätigung der Frequenz des Quarzoszillators erläutert wird. Ich werde mit einer speziellen Firmware geliefert, die die Taktfrequenz ausgibt (oder eine geteilte Version davon, je nach Chip).

https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=de592059

Bezüglich der Präzision Ihres Oszilloskops verweise ich auf alle mitgelieferten Kalibrierungsdokumente. Sie sollten etwas über die Timing-Präzision erwähnen.

nitro2k01
quelle
4

Sie haben Recht, dass die kapazitive Belastung durch die Sonden die Kristallfrequenz beeinflussen kann, und in Ihrem Fall scheint es, als würde der Oszillator insgesamt gestoppt. Abhängig vom Chip und den verfügbaren E / A-Leitungen besteht eine bessere Methode wahrscheinlich darin, einen Timer-Interrupt zu verwenden, um eine GPIO-Leitung umzuschalten, die Sie messen können, ohne den Oszillator zu beeinflussen.

Ein weiterer Vorteil ist, dass Sie, solange Sie darauf achten, dass der Timer korrekt eingerichtet ist, die E / A-Leitung nach einem längeren Zeitraum umschalten und mit einer externen Referenz vergleichen können, die eine bessere Genauigkeit als ein Oszilloskop bietet. Ob sich dies lohnt, hängt jedoch von Ihren Genauigkeitsanforderungen ab und davon, wie lange Sie bereit sind, den Oszillator zu trimmen.

PeterJ
quelle