Wozu dient der EEPROM-Refresh in einer RTC?

OP #7487868
Lesenswert?
• ▲
▼

Guten Morgen,

RTC-Chips mit Temperaturkompensation haben ein EEPROM für den Abgleich und flüchtige Register für die Konfiguration (Interrupt Enables usw.). Bei Micro Crystal können manche Register nach einem Batteriewechsel automatisch aus dem EEPROM geladen werden. Das braucht man vor allem, wenn die RTC auch den Takt für den uC liefert. So weit so nett.

Jetzt das Rätsel: Es gibt eine Refresh-Funktion, mit der der EEPROM-Inhalt regelmäßig und automatisch ins RAM kopiert wird. Bei älteren Chips jede Stunde, beim neuen RV-3032-C7 nur noch einmal am Tag. Warum? Gehen die Einstellungen so oft verloren? Dann hilft der Trick auch nicht. Wozu könnte das gut sein?

Die gleiche Frage gab's vor 12 Jahren schon mal, aber ohne sinnvolle Antwort. Beitrag "EEPROM Refresh"

#7489821
Lesenswert?
• ▲
▼

Bauform B. schrieb:

Es gibt eine Refresh-Funktion, mit der der EEPROM-Inhalt regelmäßig und automatisch ins RAM kopiert wird.

Genau.
Der Inhalt des RAM wird aufgefrischt, nicht der des EEPROM. Anders als in dem alten Beitrag unterstellt (5000 Writes), schadet das dem EEPROM ja nicht.

Bei dem RV5028-C7 ist die Sache noch klarer ausgeführt :

REFRESH kopiert den EEPROM ins RAM. Die umgekehrte Richtung RAM --> EEPROM wird als UPDATE bezeichnet, und nur dabei tritt ein Verschleiss auf. (https://www.microcrystal.com/fileadmin/Media/Products/RTC/App.Manual/RV-5028-C7_Medical_App-Manual.pdf Seite 34. Siehe dort auch, auf Seite 3 im Inhaltsverzeichnis die Schreibweise)

Augenscheinlich hat der Hersteller Angst, dass die im RAM gespeicherten Parameter durch Brown Out, ESD oder Deadlocks oder Programmabstürze verändert werden könnten.

OP #7489889
Lesenswert?
• ▲
▼

Andreas B. schrieb:

Vermutlich will man die Situation, wo die Spannung langsam abfaellt und der Chip nicht mehr sauber laeuft, so in den Griff bekommen.

Hp M. schrieb:

Augenscheinlich hat der Hersteller Angst, dass die im RAM gespeicherten Parameter durch Brown Out, ESD oder Deadlocks oder Programmabstürze verändert werden könnten.

Brown Out Logik und Power On Reset funktionieren nicht beliebig schnell. Mit einem VDD-Einbruch mit dem "richtigen" Timing kann man auf jeden Fall Unheil stiften. Aber auf einer vernünftigen Platine kann das praktisch nicht passieren (ja, doch, mit einem harten Kurzschluss). ESD, richtig dosiert, ist ein Argument. Aber Deadlocks und Programmabstürze auf einem Chip mit ein paar Zählern, echt jetzt?

Entscheidend ist doch etwas anderes: was nützt mir so ein Refresh, wenn die Uhr ein paar Stunden lang mit falschen Einstellungen gelaufen ist? Sie könnte auch stehen bleiben, dann gibt's nie wieder einen Refresh. Ich verstehe es einfach nicht :(

Dieter D. schrieb:

Bitte mache einen Titelvorschlag, der nicht mehr in die Irre führt.

Ich finde die Irreführung sogar zweckmäßig. Wer das Datenblatt überfliegt und falsch versteht, findet dann diese gute Erklärung:

Hp M. schrieb:

Genau. Der Inhalt des RAM wird aufgefrischt, nicht der des EEPROM.

#7489901
Lesenswert?
• ▲
▼

Hp M. schrieb:

Augenscheinlich hat der Hersteller Angst, dass die im RAM gespeicherten Parameter durch Brown Out, ESD oder Deadlocks oder Programmabstürze verändert werden könnten.

So verstehe ich das auch und das klingt doch sehr bedenklich. Wenn der RAM seinen Inhalt zerstört, dann liegt was im argen. Da sollte man mehr das Design verbessern, als so eine unsinnige Funktion zu implementieren.

Ich kenne auch keine anderen RTCs, die sowas machen. Der Titel sollte besser lauten "Wozu dient der EEPROM-Refresh in RTCs von Micro Crystal".

#7490789
Lesenswert?
• ▲
▼

Ich wollte mal eine Warmstarterkennung beim AT89C2051 implementieren. Zu meinem Erstaunen blieb der RAM selbst bei einigen Sekunden Kurzschluß VCC nach GND noch erhalten. SRAM ist sehr stabil und läßt sich kaum stören.

Allerdings ist der RAM bei einer RTC quasi Dual-Port, d.h. die CPU und die Zeitzählung können gleichzeitig zugreifen. Wenn da in der Ablauflogik was faul ist, kann es krachen. Es gab z.B. mal eine RTC, die ging nach, wenn man die zu oft ausgelesen hat.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.