Welchen Frequenzstabilitätskristall brauchen wir?

Wir entwerfen eine einfache Digitaluhr und verwenden einen 32,768-kHz-Quarz mit einer Frequenzstabilität von 20 ppm (Standard-SMT von der Stange).

Wir stellen fest, dass die Uhr um etwa 2,5 Minuten pro Monat vorgeht.

Jetzt haben wir hier vielleicht zwei Probleme ... wir haben Spuren, die unter dem Kristall laufen, was dazu führen könnte, dass der PIC zusätzliche Impulse sieht, und wir haben diese bei unserer nächsten Neugestaltung verschoben. Aber ich frage mich, ob ich einen besseren Kristall verwenden sollte?

Laut Mathematik könnte ein 20-ppm-Kristall 52 Sekunden pro Monat ausfallen; Wenn wir uns für einen 5-ppm-Kristall entscheiden würden, wären das 13 Sekunden pro Monat. Ich versuche hier nicht, eine Atomuhr zu bauen, aber 52 Sekunden pro Monat sind ein bisschen viel, ich würde 13 bevorzugen.

Kristalle mit 5 ppm scheinen jedoch sehr schwer zu bekommen zu sein, die meisten sind 20.

Darf ich fragen, welche Arten von Kristallen die Menschen verwenden, wenn sie eine normale Stechuhr bauen?

Wir haben eine weitere Option im PIC, wo wir die RTC-Kalibrierung anpassen können, aber das bedeutet, dass wir die tatsächliche Frequenz auf jeder Einheit ablesen müssen, was in der Produktion nicht sehr praktisch ist!

Was sollten wir also verwenden? Ein 5-ppm-Kristall oder ein 20-ppm-Kristall und jedes manuell anpassen?


Hier sind ein paar Bilder des Schaltplans und des Layouts

schematisch

Layout

Sind Sie sicher, dass Sie die richtige Lastkapazität für den von Ihnen gewählten Quarz verwenden und die parasitäre PCB-Kapazität berücksichtigt haben?
Kristalle haben sowohl eine anfängliche Toleranz als auch eine Toleranz gegenüber Temperaturänderungen. Haben Sie Temperaturschwankungen? Außerdem muss der Kristall in der richtigen Oszillatorschaltung laufen, um mit der Nennfrequenz zu laufen. Die richtige Schaltung enthält richtig dimensionierte Lastkondensatoren. Bitte posten Sie das genaue Quarzmodell/den Bestellcode, den Sie gekauft haben, sowie die Schaltpläne und das PCB-Layout, um etwaige Probleme herauszufinden. 2,5 Minuten in 30 Tagen sind etwa 58 ppm.
Danke, ja, wir denken, dass die Kappen korrekt sind. Wir haben 2x 15pf gegen Masse. Der Kristall, den wir verwenden, ist dieser hier: mouser.co.uk/ProductDetail/Micro-Crystal/…
Wenn Sie extreme Genauigkeit wünschen, verwenden Sie nicht nur einen Quarzkristall. Sie verwenden entweder einen ofenfesten Kristalloszillator oder Sie gehen den ganzen Weg und verwenden entweder GPSDO oder einen Rubidium- oder Cäsium-Frequenzstandard ("Atomuhr").
Nein, nicht wirklich auf der Suche nach dieser Art von Genauigkeit. Aber selbst eine einfache Uhr wird wahrscheinlich etwa 15 Sekunden pro Monat genau sein, und das ist wirklich das, wonach wir suchen.
Bearbeiten Sie Ihre Frage mit einem Schaltplan und einem Screenshot des Layouts um den Kristall herum. Wenn die Frequenz etwas abweicht, bedeutet dies normalerweise, dass Ihre Lastkapazität falsch ist, aber Sie haben Ihren Oszillator möglicherweise auch mit zu viel oder zu wenig Rückkopplung entworfen.
Bevor Sie sich für den vollständig ofengesteuerten Oszillator entscheiden, wie Heart empfiehlt, gibt es temperaturkompensierte Oszillatoren (TCXOs), die einen geringeren Stromverbrauch haben, billiger, aber auch nicht ganz so gut sind.
Vielleicht möchten Sie auch darüber nachdenken und möglicherweise Ihren Titel ändern: „ Stabilität “ ist ein Maß dafür, wie sehr etwas an Ort und Stelle bleibt, während „ Genauigkeit “ ein Maß dafür ist, wie nah etwas an dem ist, was Sie wollen. Wenn Ihre Uhr alle 30 Tage genau 52 Sekunden vorgeht, dann ist sie absolut stabil – aber ungenau. Ihr Problem ist also im Moment nicht die Stabilität, sondern die Genauigkeit.
Ich entschuldige mich dafür, dass ich dies nicht erwähnt habe - nennen Sie in Ihrer Frage die Teilenummer des Kristalls oder listen Sie seine Nennlastkapazität auf.
Warum sollte es "manuell" sein? Haben Sie eine Art Testvorrichtung, durch die Sie jedes Board führen? Verwenden Sie dies dann, um die Frequenz automatisch gegen eine anständige Referenz zu zählen, und programmieren Sie eine Kalibrierungskonstante in das EEPROM. Das kümmert sich um die Kristall-zu-Kristall-Variation und lässt nur Alterung und Tempco übrig, die normalerweise kleiner sind.
Wenn Sie eine Genauigkeit von 15 Sekunden pro Monat benötigen, sind das ungefähr 6 ppm. Also ja, ein 20-ppm-Kristall funktioniert nicht ohne Kalibrierung. Welchen Kristalloszillationsmodus verwenden Sie außerdem, die hohe Leistung oder die niedrige Leistung?
Danke Jungs, sorry mein schlechtes mit den Bildern!
Ich habe gerade einige 3-ppm-Kristalle bei Mouser gefunden, die neu sind. Ich möchte wirklich nicht den Weg der Kalibrierung gehen, manuell oder automatisiert, also könnte ich diese zuerst ausprobieren
Machen Sie mindestens einen der Kondensatoren trimmbar. Außerdem - gibt es etwas Ungewöhnliches an der Betriebstemperatur - ist es ungewöhnlich kalt (oder warm)? Stimmgabelkristalle haben eine ziemlich seltsame Temperaturkurve, die Sie möglicherweise berücksichtigen müssen.
Das Datenblatt für diesen PIC schlägt vor, dass es zwei Versionen gibt: Eine ist ein Low-Power-Oszillator, der wahrscheinlich für 32-kHz-Quarze geeignet ist. Die Standardeinstellung ist ein Hochleistungsoszillator, der diesen winzigen Kristall möglicherweise übersteuert. Die Low-Power-Version: Geräte der PIC24FJ64GA004-Familie mit einem Major-Silicon-Revisionslevel von B oder höher (DEVREV-Registerwert ist 3042h oder höher)
Sieht so aus, als hätten Sie Ihre Spezifikationen nicht zu spät im Design überprüft. Ein TCXO könnte Ihre fehlenden Spezifikationen für die Kosten übertreffen, erfüllt aber die Leistung
Wenn Sie dies nur verwenden, um die Zeit zu behalten, gibt es einen Grund, warum Sie hier das (quadratische) Rad neu erfinden? Warum nicht einfach einen RTC-Chip verwenden? Diese haben bereits Dinge wie Temperaturkompensation usw. Ein DS3231 zum Beispiel hält die Zeit auf +/-5 ppm out of the box. Wenn Sie wenig Strom benötigen, ist etwas wie das RV-3028-C7 sogar noch besser und es bietet Uhr-, Kalender- und Alarmfunktionen direkt im Paket.

Antworten (5)

Zu lang, um all das Zeug zu lesen, also hier ist die Kurzgeschichte

Aus Kommentaren unter der Frage sagt Trevor Folgendes: -

Wir denken, dass die Kappen richtig sind. Wir haben 2x 15pf gegen Masse. Der Kristall, den wir verwenden, ist dieser

Der verknüpfte Teil ist jedoch ein 6-pF-Gerät (das eine 2 x 12-pF-Abstimmung erfordert): -

Geben Sie hier die Bildbeschreibung ein

Sie verwenden also wahrscheinlich die falsche Ladekapazität und unten (die lange Geschichte) ist, wie das die Dinge ändern könnte ...

Ein bisschen Hintergrundmaterial zuerst

Das nachstehende Kristallmodell wurde erstellt, indem mehrere Standardangebote von 10-MHz-Quarzen betrachtet und dann ein „durchschnittliches“ Ersatzschaltbild gebildet wurden. Auf beiden Seiten des Kristalls befinden sich CL1 und CL2 (die Ladekondensatoren). In Reihe mit dem angetriebenen Ende (V1) der Schaltung liegt R1. All diese Komponenten sorgen dafür, dass der Kristall mit der auf der Dose aufgedruckten Frequenz „singt“: -

Geben Sie hier die Bildbeschreibung ein

Die Modellwerte bewirken eine Serienresonanz von genau 10.000.000,1403 Hz. Aber ein Kristall kann niemals genau bei dieser Frequenz verwendet werden; Es muss gemäß diesem Diagramm leicht "induktiv" arbeiten: -

Geben Sie hier die Bildbeschreibung ein

Kommen wir zu den Frequenzfehlern, indem wir uns die AC-Antwort der vollständigen Simulation ansehen.

Kristallfrequenzfehler aufgrund von Änderungen in der kapazitiven Belastung

Das Diagramm zeigt einige typische Frequenzänderungen, wenn die kapazitive Belastung in Schritten von 5 pF geändert wird: -

Geben Sie hier die Bildbeschreibung ein

Wichtig ist hier die Frequenz, bei der die Phasenänderung zwischen Vin (dem Ausgang des invertierenden Logikgatters) und Vout (dem an den Eingang des invertierenden Gatters zurückgeführten Signal) 180° beträgt. Da das Gate ein Inverter ist, erhalten Sie eine Oszillation, wenn die Phasenänderung genau 180 ° beträgt.

Bei 2 x 20 pF Belastung beträgt die Schwingfrequenz 10,00137 MHz. Wenn sich die Belastung auf 2 x 15 pF ändert, wird die Oszillationsfrequenz 10,00165 MHz. Das ist eine Änderung von 280 Hz bei 10 MHz und entspricht 28 ppm.

Siehst du das Problem hier?

Leichte Änderungen treten auch auf, weil sich der Wert des Treiberwiderstands ändert

Geben Sie hier die Bildbeschreibung ein

Es ist ein geringerer Effekt als bei Änderungen am Ladekondensator, aber dennoch ein Effekt, der verbessert werden könnte. Die obigen Ergebnisse gelten für eine Belastung von 2 x 20 pF.

Gate-Fortpflanzungsverzögerungen können Änderungen verursachen

Unabhängig davon, wie gut der Kristall ist oder wie sorgfältig Sie die Komponentenwerte um ihn herum ausgewählt haben, wenn das Inverter-Gate eine schlechte Leistung erbringt, treten Oszillationsfrequenzfehler und möglicherweise eine übermäßige Frequenzdrift auf. Betrachten Sie den Wechselrichter 74AC04: -

Geben Sie hier die Bildbeschreibung ein

Die für ansteigende und abfallende Flanken angegebenen Ausbreitungsverzögerungszahlen liegen typischerweise bei etwa 5 ns, könnten aber bis zu 10 ns betragen. Dies bedeutet eine Gesamtausgangsverzögerungszeit von 10 ns, und wenn man bedenkt, dass wir einen 10-MHz-Oszillator betrachten, entsprechen 10 ns einer zusätzlichen Phasenverschiebung von 36°. Dies wird durch die Art der verwendeten Schaltung gemildert; Wir betreiben das Gate halblinear und eine tiefe Sättigung der Ausgangs-MOSFETs würde nicht auftreten, aber es könnte eine äquivalente Phasenverschiebung von etwa 20 ° erwartet werden.

Das bedeutet, dass die belastete Quarzschaltung nur eine Phasenverschiebung von 160° erzeugen muss, um eine Schwingung zu erzeugen: -

Geben Sie hier die Bildbeschreibung ein

Wenn also das Gate, das verwendet wird, um den Kristall in einen Oszillator zu verwandeln, ein wenig flockig ist und driftet, erhalten Sie mehr Fehler. OK, das ist für einen 32.768-kHz-Quarz weniger ein Problem als für einen 10-MHz-Quarz, da Gate-Verzögerungen einen proportional kleineren Fehler darstellen.

Sie müssen jedoch immer noch überprüfen, ob Sie nichts wirklich Beschissenes verwenden, da der Fehler erheblich sein könnte.

Bilder (und etwas Text) von meiner beschissenen Website .

Zusammenfassung

  • Stellen Sie die richtige Kristallladekapazität ein - verwenden Sie gute Kondensatoren und stellen Sie sicher, dass Sie verstehen, was die Eingangskapazität des Gates und andere parasitäre Kondensatoren sind.
  • Stellen Sie sicher, dass Sie den Vorwiderstand mit dem richtigen Wert verwenden. Für einen 32.768-kHz-Quarz ist dies außerordentlich wichtig (nicht nur, weil es einen Fehler geben könnte, sondern weil Sie den Quarz leicht mit zu viel Leistung beschädigen könnten).
  • Stellen Sie sicher, dass Sie ein anständiges Gate für den Oszillator haben.

Darf ich fragen, welche Arten von Kristallen die Menschen verwenden, wenn sie eine normale Stechuhr bauen?

Und

Was sollten wir also verwenden? Ein 5-ppm-Kristall oder ein 20-ppm-Kristall und jedes manuell einstellen?

Es hört sich für mich so an, als müssten Sie das Obige beachten und beachten, dass Sie einen Kristall in eine höhere Anfangsgenauigkeit optimieren können.


Erinnerung an die Diskrepanz der Ladekapazität

Die Mouser-Verbindung zum Kristall scheint zu sagen, dass die Belastung so idealerweise 6 pF beträgt, dh von 2 x 12 pF-Kondensatoren und nicht von 2 x 15 pF-Kondensatoren gebildet wird. Dann sollten Sie wahrscheinlich davon ausgehen, dass der Gate-Eingang eine Kapazität von 2 pF hat und dass aufgrund der Leiterplatte und ihrer Nachführung möglicherweise eine parasitäre Kapazität von 0,5 pF über dem Gerät vorhanden ist.

Alles in allem sieht es so aus, als würden Sie die Ladekapazität übertreiben, und möglicherweise sollten Sie eher 2 x 10 pF und nicht 2 x 15 pF anstreben.

Überprüfen Sie auch Ihre Antriebsleistung, da Sie bei einer Belastung von 2 x 15 pF möglicherweise zu viel Leistung in Ihren Kristall stecken (der in den Daten angegebene Antriebspegel beträgt maximal 1 μW.

Wenn das Gerät vorhersehbar anders als die tatsächliche Zeit läuft, können Sie im Nachhinein eine Kompensation in der Software vornehmen. Aber Sie müssen sich dessen sehr sicher sein, damit es sich nicht um eine langfristige zyklische Drift handelt.

Wenn Sie über ein geeignetes Mittel zur Messung der Frequenz verfügen, können Sie eine der Lastkappen mit einer Trimcap anpassen, um dem Ideal näher zu kommen. Sie benötigen jedoch einige Mittel zum Messen, ohne die Frequenz zu ändern (Sie können sicherlich nicht einfach eine Sonde auf den Kristallstift setzen).

Vielleicht finden Sie eine Möglichkeit, eine gepufferte und geteilte Version der Uhr auszugeben, z. B. 8.192 Hz. Um die Frequenz auf eine Toleranz von 10 Sekunden pro Monat einzustellen, benötigen Sie 1 Teil von 260.000, also etwa 6 Stellen Auflösung. Ein reziproker Frequenzzähler würde funktionieren, oder Sie könnten ihn durch weitere 8.192 (sagen wir) teilen und die Impulsbreite mit einer Auflösung von etwa einer Mikrosekunde messen. Die ersten Digitaluhren verwendeten eine LED-Anzeige (drücken Sie einen Knopf für die Zeit) und es wurde ein Patent erteilt, wenn der Speicher dient, um die Multiplex-Frequenz der LED-Anzeige als optische Ausgabe für die Kalibrierung zu verwenden (da sie von einem Hardware-Teiler abgeleitet wurde). ).

Alternativ (und wahrscheinlich die Option, die ich vorschlagen würde), wenn Sie (möglicherweise) eine etwas höhere Stromaufnahme aushalten können, können Sie den Kristall durch einen Oszillator ersetzen, der bereits auf Genauigkeit genug getrimmt ist. Wenn Sie einen Händler für 32,768-kHz-Oszillatoren suchen, finden Sie mehrere verfügbare TCXO (temperaturkompensierte Kristalloszillatoren) wie den 5uA SiT1566 mit +/-3ppm oder +/-5ppm Stabilität. Wenn Sie bereit sind, ein neues Design vorzunehmen, um einen Oszillator mit höherer Frequenz zu verwenden, und sich nicht um den Stromverbrauch kümmern, können Sie TXCO-Oszillatoren mit sehr engen Toleranzen und geringer Drift mit einer Genauigkeit und Stabilität im Bereich von unter 1 ppm (ohne Ofenbehandlung) oder besser mit Ofenbehandlung erhalten ( OCXO). Natürlich steigen die Kosten und der Stromverbrauch mit zunehmender Genauigkeit und Stabilität und irgendwann den Miniatur-Atomuhrmodulenins Spiel einsteigen, aber sie liegen im Bereich von 1.000 $. Die im Chip-Maßstab sind noch beeindruckender, kommen aber in den Bereich von 5.000 $. Wenn man bedenkt, dass zylindrische 32,768-kHz-Kristalle mit +/-3 ppm für 2-3 Cent verkauft werden, ist das ein Kostenbereich von 53 dB für einen Genauigkeitsbereich von vielleicht 5000: 1.

Diese sind zu teuer (£ 0,81 / 2.000) Swiss 20 ppm Xtals . Sie können einen Quarzoszillator mit <= 5 ppm für nicht viel mehr bekommen (1,58 USD für 3.000 USD). Kappen werden nicht benötigt. Mit mehr Suchaufwand erhalten Sie 1 oder 2 ppm XO's zum gleichen Preis. Aber Ihre Budget- und Toleranzangaben sind nicht klar.

Ich habe Ihren ungewöhnlichen Fehler zuvor überschätzt.

Es ist hoch, aber nicht dumm hoch. 2,5 Min./60 Min./24 Std./30 Tage= Fehler= 58 ppm. Ihr Datenblatt besagt, dass es mehrere Ladeoptionen gibt (6.0 7.0 9.0 10.0 12.5). Ich würde nicht erwarten, dass sie sie für jede herstellen, sondern nur testen und in Bins von Frequenzfehlern gegen Last C sortieren und auf diese Weise verkaufen ...

Ein niedrigeres C reduziert auch den Treiberstrom auf einer RTC und Sie können eine integrierte RTC mit XO für ein zusätzliches Pfund erhalten.

Ich würde eine Ursachen-Sensitivitätsanalyse durchführen und alle Annahmen wie die Genauigkeit der Obergrenze validieren. Aber vielleicht nicht.

Die Empfindlichkeit zum Reduzieren der Frequenz kann berechnet und simuliert werden, während die Kappen nicht gleich sein müssen. Ich würde damit beginnen, 50 pF am Eingang hinzuzufügen, was die Last auf 12 pF mit dem Ausgang 15 pF in Reihe erhöht. Das sollte das f um 30 bis 60 ppm reduzieren.

Messen Sie dann den Fehler und führen Sie eine Stichprobe von Xtals(X) durch und berechnen Sie die Standardabweichung und den mittleren Fehler, um die 3-Sigma-Ausbeute zu berechnen. Oder verwenden Sie die Prozessfähigkeitsberechnung „Cpk“.

Es könnte schnell auf einem Testboard durchgeführt werden. Eine Masseebene fügt EMI-Schutz und ein paar pF hinzu.

Es kann eine Empfindlichkeit von 5 bis 10 ppm gegenüber Vdd und Serie R geben, wenn sie nicht hinzugefügt werden.

+1, ein vorgefertigter Oszillator ist eine großartige Lösung, die die meisten Fehlerpunkte in Design und Fertigung vermeidet. Und dieser spezielle scheint auch ziemlich wenig Strom zu haben.

Viele "einfache Digitaluhren", die ich heutzutage sehe, verwenden das gesendete Zeitsignal, um über längere Zeit genau genau zu bleiben.

Dies erfordert zwar einige zusätzliche Schaltungen, macht aber einen teuren Oszillator überflüssig.

Alternativ könnten Sie den Frequenzversatz jeder Uhr kalibrieren, da die Stabilität normalerweise viel besser ist als die anfängliche Genauigkeit (siehe Kommentar von @TimWescott), aber das ist für ein Massenprodukt unerschwinglich.

Viele gute Antworten auf Quarz bereits. Ich sehe zwei andere Lösungen:

  1. Verwenden Sie eine externe RTC mit integriertem Kristall wie Maxim DS3231, Epson RX6110SA und viele andere. Welches ist laserkalibriert und hatte einen sehr geringen Stromverbrauch.

  2. Verwenden Sie einen GPS-Empfänger, der fast eine Atomuhrgenauigkeit liefert, sobald Sie das GPS-Signal empfangen. GPS-Module sind jetzt eher klein und billig, aber der Verbrauch ist viel höher