Hallo Leute! Ich teste gerade die Hardware-Uhr des LPC2138. Ich verwende einen externen 32KHZ-Quarz. Die Uhr habe ich korrekt initialisiert. Jede Sekunde wird ein IRQ ausgelöst und die Uhrzeit über die serielle Schnittstelle ausgegeben. Die Uhr läuft jetzt 6 Stunden und geht jetzt 2 Sekunden hinten. An der Hardware-Uhr kann es ja wohl kaum liegen, also muss es am Quarz liegen. Gibt es beim Quarz tatsächlich solche Qualitätsunterschiede? Ich glaube auch nicht, dass es an der Initialisierung liegt. - Ich habe darauf geachtet, dass tatsächlich der externe Quarz verwendet wird, wenn ich ihn nämlich aus dem Sockel ziehe funktioniert die Uhr nicht. Und pro Sekunde wird ein IRQ erzeugt. Welche Erfahrungen habt ihr mit der Uhr gemacht? Danke für eure Hilfestellungen und Antworten. Tschüss Martin
> Gibt es beim Quarz tatsächlich solche Qualitätsunterschiede?
Ja. Uhrenquarze sind mitunter extrem ungenau und ohne Abgleich kaum zu
verwenden.
Selbst normale Quarze bringen einige Sekunden Abweichung auf 24h.
Atmels SAM7 verwendet deshalb vorsichtshalber einen R/C Oszillator für die Echtzeituhr. ;-)
hallo martin, die genauigkeit deiner "uhr" hängt im wesentlichen von der genauigkeit des quarzes (grundgenaugkeit, temp. gang, alterung, das findest du normalerweise alles im datenblatt des quarzes) und von der externen kondensator-beschaltung ab. gruss gerhard
Hallo Leute. Vielen Dank für die Info. Was ist dann eigentlich in einer totalen Billiguhr drinnen? Die gehen doch auch halbwegs genau. Ich habe mir jetzt einmal das Datenblatt angesehen. +-20ppm Zudem wurde von mir die Schwingungsabweichung pro Tag berechnet. Wenn ich mich nicht verrechnet habe komme ich auf 56623,104 Schwingungen pro Tag. Dort ist aber noch keine Temperatur oder Alterung mitdrinnen. 56623,104/32768=1,728Sekunden/Tag Das ist viel. Vielleicht finde ich einen besseren Quarz oder hat noch jemand andere Vorschläge? Wäre es mit dem 12MHZ Quarz, der noch dranhängt genauer? Tschüss Martin
Man kann die Ungenauigkeit des Quarzes ja auch einfach per Software korrigieren. Wirf einfach mal ein Blick in die Codesammlung, Peter Dannegger hat das eigentlich optimal gezeigt.
Ersetz mal die Kondensatoren am Quarz durch einen Trimmkondensator. Damit habe ich eine einfache uC Uhr auf besser 1Minute/Jahr abgeglichen (diese Minute kommt hauptsächlich durch die Temperatur, im Sommer läuft die Uhr schneller oder langsamer (weiß ich jetzt nicht auswendig) als im Winter.)
Erstens gibt es Quarze für Seriel- und welche für Parallelresonanz. Der falsche Typ sorgt für eine gewisse Abweichung. Der Unterschied ist nicht gross, bei Prozessorquarzen meist egal, aber bei Uhren spielt das eine Rolle. Zweitens spielt die Lastkapazität eine Rolle. Falsche Kapazität falsche Frequenz. Und nicht zuletzt deshalb macht man für Uhren statt einer Festkapazität einen Trimmer an den Oszillator, um den Quarz entsprechend einzustellen.
Martin Martin wrote: > Was ist dann eigentlich in einer totalen Billiguhr drinnen? > Die gehen doch auch halbwegs genau. Die werden alle abgeglichen mit nem hochgenauen Frequenzmesser. Dazu ist entweder ein Trimmer drin oder ein paar Brücken, die durchgetrennt werden, quasi als DIP-Schalter. Peter
Wie wäre denn eine Echtzeituhr alá Dallas oder Dergleichen? Die sind doch auf jedem älteren Mainboard zu finden. Könnte man damit was anstellen? Vorteilhaft ist dabei, daß die Uhr autonom läuft und nur mal vom MC abgefragt zu werden braucht. Das kostet dann kaum Speicher, und auch weniger Zeit/Code. MfG BC
Hallo Leute! Das mit dem Dallas-Chip ist eine gute Idee. .. Ich dachte immer, dass man die Kondensatoren nur zum Anschwingen benötigt und der Quarz dann eigenständig schwingt. Da habe ich mich wohl geirrt. Soll man statt beiden Kondensatoren zwei Trimmkondensatoren nehmen oder reicht ein Trimmkondensator und ein Kondensator mit einem festen Wert? Danke Leute Tschüss.
Wenn der Controller die meiste Zeit mit normalem Strom arbeitet und nur bei Stromausfall auf Batterie, kann man alternativ den RTC-Takt im Normalfall aus dem Prozessortakt ableiten. Dessen Teiler lässt sich per Software beliebig genau einstellen. Dann läuft die Uhr nur bei Stromausfall auf dem 32KHz-Quarz.
Das ist eine gute Idee. Aber man muss ja dann, bevor der Strom ausfällt, dies erkennen und rechtzeitig auf den externen Quarz umschalten. Ich werde mich da mal schlau machen und das Ganze etwas testen. Der DS1994 würde mich auch sehr reizen. Tschüss Martin
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.