So verbessern Sie die I2C-RTC-Genauigkeit

Ich verwende einen PCF 8583 I2C RTC für eines meiner Projekte (ich bin kein Profi, nur ein Amateur). Die Uhr geht etwa eine Stunde pro Tag nach, was ich inakzeptabel finde.

Ich verwende einen Quarz mit 32768 Hz, 12,5 pf, 50 Kohm und RTC. Laut Datenblatt ist die Kapazität OK (5 min, 20 max, 10 typisch), aber der Widerstand ist etwas hoch. Sie geben dafür weder Mindest- noch typische Werte an, sondern geben maximal 40 Kohm für den Quarz an.

Kann das die Ursache sein?

Ich persönlich denke, da muss etwas anderes nicht stimmen. Ich habe die gleichen Komponenten und den gleichen Programmcode für ein anderes Projekt verwendet, und es ist nicht so schlimm wie dieses (es verzögert auch, aber ungefähr 3 Minuten pro Tag).

Meine letzte Anstrengung war, einen Draht hinzuzufügen, der das Kristallpaket mit Masse verbindet. Es hat sich verbessert, aber nicht genug.

Irgendwelche Gedanken zur Verbesserung der Genauigkeit?

Haben Sie die tatsächliche Quarzoszillationsfrequenz gemessen?
Haben Sie Ihr Grundlayout unter/um den Kristall berücksichtigt?
Danke euch beiden für eure Kommentare. Ich fürchte, das Datenblatt enthielt keine Informationen oder Warnungen zum PCB-Routing / Erdung, also habe ich es nicht getan. Das ist Problem Nr. 1. Ich werde es reparieren. Ignacio, ich habe noch kein Oszilloskop, also habe ich die Frequenz noch nicht gemessen. Wie auch immer, als erstes habe ich den Kristall gewechselt, also liegt das Problem nicht in diesem speziellen Teil.
@ user27872 liegt daran, dass NXP diese Informationen in einem sekundären Datenblatt hat. ics.nxp.com/support/documents/interface/pdf/… Maxim hat die gleichen Informationen auf ihren primären Datenblättern. Aber ich denke, die Grundebene unter einem Kristall ist ein Standardproblem in der Praxis, das nicht immer ausdrücklich angegeben wird.
Haben Sie versucht, den Wert des Anpassungskondensators zu ändern? Welche Art von Kappe hast du verwendet? Können Sie bitte das Layout um diesen IC herum hinzufügen?
Als erstes würde ich den Serienwiderstand des Kristalls ändern. Das Datenblatt gibt eindeutig ein Maximum von 40 KOhm an, aber Sie haben 50 KOhm.

Antworten (1)

3 Minuten pro Tag sind:

24 60 = 1440 M ich N

3 1440 = 2083 P P M

Ihr Xtal liegt mehr als 2000 ppm von seiner Nennfrequenz entfernt. Auch hier gibt es ein Problem. Aber 3 Stunden pro Tag sind mehr als 4 %! Hier liegt ein Designproblem vor. Mit Sicherheit.

Die Xtal-Frequenz hängt von der Lastkapazität ab und dies ist die häufigste Ursache für eine falsche Frequenz.

Sind Sie sicher, dass Sie C1 und C2 richtig berechnet haben? Die Formel lautet:

C L = C 1 C 2 C 1 + C 2 + C S T R A j

Mit

  • CL = die vom Hersteller angegebene Lastkapazität
  • C1 und C2 = Die hinzugefügten Kondensatoren an den Xtal-Pins
  • Cstray = die Streukapazität der Spuren, Pins etc...

Wenn Sie Zugang zu einem Spektrumanalysator haben, können Sie die Frequenz des xtal mit einer Nahfeldsonde messen (berühren Sie die xtal-Spuren nicht mit einer Sonde, dies ändert die Kapazität und damit die Frequenz) und die Lastkondensatoren anpassen, um zu erhalten die richtige Frequenz.

BEARBEITEN:

Im PCF8583-Datenblatt von NXP: "Kapitel 11.1 Quarzfrequenzeinstellung". Hier wird erklärt, dass Sie Ihrem Xtal einen externen Kondensator hinzufügen sollten, um die Frequenz fein abzustimmen.

Vielen Dank für Ihre Antwort. Das Datenblatt für diesen speziellen Teil besagt, dass keine externen Kondensatoren erforderlich sind, also habe ich den Kristall direkt an OSC-I / OSC-O-Pins angeschlossen. Das verwirrte mich, da ich dachte, dass diese Kondensatoren zur Feinabstimmung der tatsächlichen Frequenz bei Bedarf verwendet werden könnten. Im Moment lese ich Microchips exzellenten Aplication Note 826 (hätte ich vorher machen sollen...). Ich werde das, was ich lerne, in das Design einfließen lassen und Sie darüber informieren.
Achten Sie auch auf die Konfigurationssicherungen. Sie müssen zu Ihren Oszillatoren passen, damit sie korrekt angesteuert werden können
Ich verstehe die Formel der Lastkapazität nicht: (C1*C2) / (C1*C2)gleich 1!
@Dor Ich habe es behoben.