Forum: Mikrocontroller und Digitale Elektronik Wozu dient der EEPROM-Refresh in einer RTC?


von Bauform B. (bauformb)


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"

von Andreas B. (bitverdreher)


Lesenswert?

Bauform B. schrieb:
> Gehen die Einstellungen so oft verloren?

Der EEprom Inhalt nicht, aber das Ram. Vermutlich will man die 
Situation, wo die Spannung langsam abfaellt und der Chip nicht mehr 
sauber laeuft, so in den Griff bekommen.
Oder einfach, weil die Funktion schon da ist, weil man sie fuer den 
Reset benoetigt.

von Hp M. (nachtmix)


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.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

@Moderation:
Bitte irreführenden Titel korrigieren

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Lesenswert?

Rainer W. schrieb:
> Bitte irreführenden Titel korrigieren

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

von Bauform B. (bauformb)


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.

: Bearbeitet durch User
von Peter D. (peda)


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".

von Rainer W. (rawi)


Lesenswert?

Dieter D. schrieb:
> Bitte mache einen Titelvorschlag, der nicht mehr in die Irre führt.

"Wozu dient RAM Refresh aus EEPROM in einer RTC?"

Vom Refresh eines EEPROMs ist jedenfalls meilenweit nichts zu sehen.

: Bearbeitet durch User
von Peter D. (peda)


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.

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
Noch kein Account? Hier anmelden.