RTC Chip mit SRAM

Gast #4106596
Lesenswert?

Hi.

Ich möchte bei meinem Gerät eine möglichst genaue Uhrzeit haben, und 
zwar über einen Zeitraum von ca 1 Jahr.

Die Zeit soll auch erhalten bleiben, wenn das Gerät nicht am Strom ist.

Daher suche ich nach einem RTC Chip, der die Uhrzeitfunktion übernimmt 
und mit einer CR2032 Knopfzelle mindestens mehrere Monate bis 2 Jahre 
betrieben werden kann.

Schön wäre es, wenn das RTC Modul auch einen kleinen SRAM Speicher 
hätte, um Daten zu speichern, die nach einem Verlust der Uhrzeit (CR2032 
entfernt oder leer) nicht mehr weiter verwendet werden sollen / dürfen.

Wenn die Uhrzeit wegen entfernter oder leerer Batterie defintiv nicht 
mehr stimmt, muss das Gerät durch den Anwender auf jeden Fall neu 
eingestellt werden, in dem es an den PC angeschlossen und neu 
synchronisiert wird.
Gast #4106667
Lesenswert?

56 Byte reicht.

Die Kombi mit DS1307 und 24C32 gefällt mir.

Die beiden Chips können dann zusammen mit der Batterie auf eine Platine 
gepackt werden, die dann im Zielsystem eingelötet wird.

Ich brauch ja nur das Einrichtungsdatum im RTC und im EEPROM zu 
speichern. Wenn beides nicht übereinstimmt, bzw die aktuelle Zeit keinen 
Sinn macht (Vergangenheit, mehr als 3-4 Jahre nach Einrichtungsatum) 
wird die gesamte Config als nicht zulässig gewertet.
#4106675
Lesenswert?

Der DS3232 hat ein eingebautes SRAM und eine Genauigkeit von +/- 2 min 
im Jahr und sollte bei einem mittleren Strom von 3uA und einer CR2032 
mindesten ein paar Jahre laufen. I2C Schnittstelle. Es gibt auch noch 
eine MEMS Resonator Version, den DS3232M, im 8-Pin Gehäuse.


Mike schrieb:
> Hi.
>
> Ich möchte bei meinem Gerät eine möglichst genaue Uhrzeit haben, und
> zwar über einen Zeitraum von ca 1 Jahr.
>
> Die Zeit soll auch erhalten bleiben, wenn das Gerät nicht am Strom ist.
>
> Daher suche ich nach einem RTC Chip, der die Uhrzeitfunktion übernimmt
> und mit einer CR2032 Knopfzelle mindestens mehrere Monate bis 2 Jahre
> betrieben werden kann.
>
> Schön wäre es, wenn das RTC Modul auch einen kleinen SRAM Speicher
> hätte, um Daten zu speichern, die nach einem Verlust der Uhrzeit (CR2032
> entfernt oder leer) nicht mehr weiter verwendet werden sollen / dürfen.
>
> Wenn die Uhrzeit wegen entfernter oder leerer Batterie defintiv nicht
> mehr stimmt, muss das Gerät durch den Anwender auf jeden Fall neu
> eingestellt werden, in dem es an den PC angeschlossen und neu
> synchronisiert wird.
#4106715
Lesenswert?

Mike schrieb:
> Die Kombi mit DS1307 und 24C32 gefällt mir.

mir nicht mehr, externer Quarz, relativ ungenau, ich verwende nur noch 
DS3231 mit externem i2c EEPROM
http://www.ebay.de/itm/1x-DS3231-AT24C32-IIC-Modul-Prazision-Echtzeituhr-Time-Speichermodul-Fur-Arduino-/171366856553?pt=LH_DefaultDomain_77&hash=item27e642b769

Achtung, die werden mal mit mal ohne Akku! ausgeliefert, genau lesen 
und/oder Händler befragen, die LiR hier nachkaufen wird teurer als das 
komplette Modul.

Akku Version hat Ladediode und R bestückt und braucht 5V und verbietet 
CR2032 wegen der Ladeschaltung, es gibt auch welche die werden ohne 
Diode und R geliefert für den CR2032 Betrieb.

Akku ist besser wenn selten stromlos geschaltet wird, LR oder LiR 2032 
50mAh
Batterie ist besser wenn wenn eher oft stromlos geschaltet wird, CR 2032 
200mAh hält also min. 4x länger.

Den 3232 muss ich mir mal ansehen
Gast #4106788
Lesenswert?

Ich habe mal die Datenblätter der verschiedenen IC gelesen.
Der PCF8583, der DS3232 oder DS3232M wären momentan meine Kandidaten.

Wobei DS3232 irgendwie schwer zu bekommen sind als Bastler.

Reichelt bietet ehr noch die DS1307

Der DS3231 hat zwar kein SRAM, aber mit einem Trick könnte ich ihn 
nehmen.
Ich könnte die System-Setup Zeit einfach in das Alarmregister 2 
schreiben.

Oder sonstige Registerbits setzen, die nach einem Power+Battery Failure 
mit Uhrzeitverlust dann wieder auf 0 stehen.
Gast #4106802
Lesenswert?

Mike schrieb:
> Der SRAM wird ja nur dafür gebraucht, sicherzustellen, dass das System
> nach einem kompletten Spannungsausfall nicht mit einer nicht gestellten
> Uhr benutzt wird.

Da mußt Du nur ein Register abfragen, was bei einem Spannungsabfall 
gelöscht wird. Manche Bausteine haben dafür ein extra Statusbit.
#4106812
Lesenswert?

m.n. schrieb:
> Da mußt Du nur ein Register abfragen, was bei einem Spannungsabfall
> gelöscht wird. Manche Bausteine haben dafür ein extra Statusbit.

entweder das oder ob RTC Time < Compile Time

ich schreibe die Compiletime in den Source wird neu gestartet wird mit 
der RTC verglichen, ist die RTC leer dürfte die RTC Time < Compiletime 
sein

Mit RAM kann man einen time is set setzen mit EEPROM auch
Gast #4106893
Lesenswert?

Mein derzeitiger Plan ist folgender:

Jedes Mal, wenn das System konfiguriert wird, wird die Zeit über den PC 
neu gestellt, und der Zeitwert auch im Config EEPROM gespeichert.
Außerdem wird im Alarmregister eine Zeit eingetragen, die 2 Jahre in der 
Zunkunft liegt.

Anschließend wird bei jedem Systemstart geprüft, ob die Zeit im RTC vor 
dem letzten Config Zeitpunkt liegt, und ob das Alarmregister leer ist 
oder der Wert überschritten ist.


Falls ja, wird der User dazu aufgefordert, die Zeit neu zu stellen, weil 
davon auszugehen ist, dass die Zeit ungenau oder falsch ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren