RTC-Chip nicht zufrieden mit xtal-Wellenform

Update: Diese Frage basiert auf einer falschen Annahme, das Problem wurde mittlerweile behoben. Das Problem war eine falsche Registereinstellung in der RTC. Die Antworten zur Lastkapazität von Quarzoszillatoren können jedoch für Menschen in allgemeinen Situationen von Wert sein.


Ich habe eine Prototyp-Leiterplatte meines eigenen Designs. Es wurde ursprünglich entwickelt, um einen Echtzeituhr-Chip der Marke ST "M41T81S" mit einem billigen 12,5-pF-Uhrenkristall zu verwenden. Timing-Genauigkeit ist nicht wichtig (+/- 5 Sekunden Drift pro Tag ist in Ordnung).

Ich habe die alte RTC ausgetauscht und verwende jetzt stattdessen eine Microship-Marke "MCP7940N", die Pin-für-Pin-Match für das Original ist und vollständig kompatible Spannungen hat. Der neue Chip funktioniert gut, was die I2C-Kommunikation betrifft. Ich kann die Register programmieren und ohne Probleme auslesen.

Das ursprüngliche Design beinhaltet keine Lastkondensatoren, da der alte Chip sie nicht benötigte, er zuverlässig die Zeit hielt und keine Taktimpulse verpasste.

Geben Sie hier die Bildbeschreibung ein

Der neue Chip scheint jedoch strengere Anforderungen an die Oszillatorschaltung zu haben und reagiert nur sporadisch auf das Signal des Quarzes (vielleicht wird 1 von einer Million Impulsen registriert). Meistens "hält es überhaupt nicht die Zeit". Es kann das Kristallsignal effektiv nicht sehen.

Das Oszilloskop liest mit dem neuen RTC eine saubere und stabile 400-mv-pp-Sinuswelle auf dem XTAL1-Pin. Ich vermute, dass dies nicht für den neuen Chip geeignet ist. Die Datenblätter für den xtal und den neuen RTC geben nicht die erzeugten oder erforderlichen Wellenformen an.

Ich gebe zu, dass im Datenblatt des neuen Chips steht, dass "12,5-pF-Kristalle nicht empfohlen werden". Fair genug, meine eigene dumme Schuld, diese Teile gekauft zu haben, ohne die Kompatibilität richtig zu prüfen. Ist auf Dauer eigentlich egal.

Frage:

Angesichts der Tatsache, dass ich diesen Prototyp bereits zum Hundefutter gemacht habe, gibt es eine Möglichkeit, kurzfristig etwas zusammenzuhacken, um diese neue RTC mit dem ungeeigneten 12,5-pF-Quarz und fehlenden Lastkappen zum Laufen zu bringen? Es ist nur ein Prototyp und erfordert neben diesem Problem aus mehreren anderen Gründen definitiv eine Neudrehung des Layouts.

Ich dachte, ich sollte den Kristall auf 6-9 pF ändern, wie im Datenblatt für die RTC angegeben, aber das lässt mir immer noch nichts übrig, um die Lastkappen anzubringen. Ich musste noch nie viel mit Kristallschaltkreisen herumspielen und könnte einige Ratschläge gebrauchen, wie man diesen Prototypen einfach umbauen kann, damit dieses "Proof of Concept" -Board funktioniert.

(Wenn sich dies als unmöglich herausstellt, habe ich immer noch die Möglichkeit, die RTC von einem externen Signal wie einem Mikrocontroller aus zu betreiben, der eine Rechteckwelle ausgibt, damit nicht alles verloren ist. Ich stelle diese Frage hauptsächlich eher aus Neugier als aus Notwendigkeit )


Datenblätter:

Ich bin mir nicht sicher, was Ihr Problem ist ... Fly_Wire axiale Kappen zu den Leitungen des neuen Kristalls, die den Körper der Kappen nahe am XTAL halten und die andere Seite irgendwo in der Nähe erden.
Wie sieht die Tafel aus, wie viel Platz ist da? Sie könnten sie wahrscheinlich mit etwas dünnem Verdrahtungskleber und einem Lötkolben einklemmen
@PlasmaHH, @Trevor - ist es möglich, axiale Kappen auf diese Weise zu verwenden, ohne dass induktive Effekte den Kristall nur überwältigen?
@Wossname als Protokoll, da Sie alles kurz halten ... und Überschüsse abschneiden, ja
Natürlich müssen Sie jedem Kristallstift eine gewisse Kapazität gegen Masse hinzufügen, damit die Schwingungen aufrechterhalten werden. Möglicherweise haben Sie keine andere Wahl, als zwei diskrete Kondensatoren hinzuzufügen. Aber Sie könnten eine Lösung finden, indem Sie das Xtal-Gehäuse erden, um ein kleines bisschen Kapazität hinzuzufügen. Und decken Sie diesen kritischen Bereich mit klebriger (isolierter) Aluminiumfolie ab, einschließlich der Abdeckung einer Masseebene, um mehr Kapazität hinzuzufügen.
Fügen Sie die PI-Kondensatoren hinzu.

Antworten (3)

Der neue Chip ist wahrscheinlich auf sehr geringen Stromverbrauch optimiert. Es hat möglicherweise nicht den Antriebspegel, um eine ausreichende Amplitude durch einen 12-pF-Quarz zu erhalten, wenn die richtigen Lastkappen verwendet werden.

Sie sagen jedoch, Sie sehen ein Signal, wenn Sie mit einem Zielfernrohr auf einen der Kristallstifte schauen. Wenn Sie die erwartete Frequenz sehen, funktioniert der Oszillator, wenn Sie ihn betrachten. Dies kann daran liegen, dass die Oszilloskopsondenkapazität die Phasenverschiebung hinzufügt, die erforderlich ist, damit die Schleifenverstärkung bei der Quarzfrequenz über 1 liegt.

Wenn dies der Fall ist, sollte es zwei Hinweise geben. Erstens funktioniert die RTC, während Sie die Oszilloskopsonde auf dem Kristallstift halten. Zweitens funktioniert es nur, wenn sich die Oszilloskopsonde am Oszillatoreingang befindet, nicht am Ausgang. Es ist die Phasenverschiebung, die durch die zusätzliche Kapazität am Quarzausgang verursacht wird, die eine Oszillation ermöglicht.

In jedem Fall sollte am Quarzausgang (dem Oszillatoreingang) wirklich eine kleine Kapazität vorhanden sein. Setzen Sie vorerst eine 10-12 pF-Kappe zwischen dem Quarzausgang und Masse ein. Wenn Sie die Platine neu entwerfen, schließen Sie Pads für eine Kappe auf jeder Seite des Kristalls ein und erhalten Sie einen Kristall, der für die 6-9 pF ausgelegt ist, für die der Chip Ihrer Meinung nach bestimmt ist.

Es scheint, dass Ihre Oszilloskopsonde die Lastkapazität bereitstellt, um den Oszillator zum Laufen zu bringen. Hält das Gerät die Zeit, wenn das Oszilloskop angeschlossen ist?

Es scheint auch unwahrscheinlich, dass dieses Gerät so empfindlich auf Kapazitäten reagiert, dass es mit praktisch keinem "Standard" -Quarz und geeigneten Lastkondensatoren funktioniert. Versuchen Sie beispielsweise, 22pf-Kondensatoren von den X1- und X2-Pins auf Masse zu legen und den Ausgang des MFP-Pins zu überwachen. (Natürlich müssen Sie zuerst den MFP-Ausgang konfigurieren - und sich den Pullup-Widerstand merken.) Sie können auch den Oszillatorstatus überwachen, der Ihnen sagt, ob das Gerät denkt, dass es läuft.

Nun, das hat viel Kopfkratzen und Herumfummeln gekostet, aber es läuft jetzt aus dem alten Kristall, ohne dass irgendwelche Kappen hinzugefügt werden müssen.

PEBSIAC

Zwischen Lötkolben und Stuhl besteht ein Problem

Es scheint, dass ich beim Lesen des Datenblatts für den neuen RTC-Chip die Begriffe "externer Kristall" und "externer Oszillator" zusammengeführt habe.

Es stellt sich heraus, dass meine ursprünglich gestellte Frage ein Ablenkungsmanöver war. Es hatte nichts mit den Ladekappen oder dem Kristall zu tun. @henros hatte Recht damit, dass es dem Chip nicht wirklich wichtig ist, welchen Kristall Sie verwenden.

Das Problem war, dass ich das "EXTOSC"-Flag in den RTC-Registern gesetzt habe, während ich versuchte, einen externen Kristall zu verwenden. Der Unterschied in der Terminologie ist subtil, aber von entscheidender Bedeutung! Ich habe es völlig übersehen und es dauerte mehrere Lesungen des Oszillator-Konfigurationsabschnitts des Datenblatts, um es herauszufinden.

Wenn man einen externen CRYSTAL verwendet, dann ist der verwendete "Oszillator" tatsächlich ein bisschen Schaltung innerhalb des RTC-Chips. Wenn man einen EXTERNEN OSZILLATOR verwendet, wird der interne Oszillator deaktiviert und damit auch der Quarz.

Ich war mit meiner Nomenklatur für Kristalle und Oszillatoren, die zwei völlig verschiedene Dinge sind, faul geworden! Schuljungenfehler.

Wie auch immer, das Problem wurde behoben, indem der alte Quarz verwendet und einfach das "EXTOSC" -Bit in den RTC-Registern gelöscht wurde. Jetzt funktioniert das System einwandfrei.

Danke für die Antworten Jungs, tut mir leid, dass die Frage falsch war.

Falls es für jemand anderen zu diesem Thema nützlich ist, googeln Sie "Vittoz-Oszillatoren". Ich kann Ihnen eine Horrorgeschichte über den Atmel Mega128 erzählen, der diese Art von Oszillator als Standard verwendete. Nicht deterministische Ausführung von Code und Peripheriegeräte, die die meiste Zeit getaktet werden, ist die Kurzversion.