Forum: Mikrocontroller und Digitale Elektronik RTC Chip mit SRAM


von Mike (Gast)


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.

von Georg G. (df2au)


Lesenswert?

Wie wäre es mit dem Urvater aller CMOS Uhr-RAM Bausteine: DS1287. 
Ähnliches gibt es von anderen Herstellern auch. Stichworte: PC, CMOS, 
Clock, NVRAM

von bla (Gast)


Lesenswert?

DS1307 ist auch ein weit verbreiteter Kandidat.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

DS1307 (RTC)  +  24C32 (I2C)
 56Byt RAM    +   4KB EEP

 Weniger als 1 EUR bei AliExpress.

von Max H. (hartl192)


Lesenswert?

Der MCP7940N hat 64 Byte SRAM

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Marc Vesely schrieb:
> DS1307 (RTC)  +  24C32 (I2C)
>  56Byt RAM    +   4KB EEP
>
>  Weniger als 1 EUR bei AliExpress.

 Edit geht nicht mehr, also:

 5 Stuck bestellt, Abweichung von 1.5s/Tag bis 6s/Tag.
 Habe eine kleine Tabelle im 24C32, Zeit wird mithilfe dieser
 Tabelle korrigiert, bei Raumtemperatur habe ich einen Fehler von
 max. 1s/Monat.

von Amateur (Gast)


Lesenswert?

Ungenügende Angaben!

Geht es um ein paar zusätzliche Bytes oder gleich um ein paar Kilo 
davon?

von Mike (Gast)


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.

von Gerhard O. (gerhard_)


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.

von Frank K. (fchk)


Lesenswert?

Wenn es genauer sein darf: DS3232 (Quarz) oder DS3232M (MEMS).

fchk

von Joachim B. (jar)


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

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

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

 Brauchst du gar nicht, die befinden sind schon auf einer Platine,
 zusammen mit CR2032 Batterie.

von m.n. (Gast)


Lesenswert?

Den PCF8583 kennt wohl keiner mehr?

von m.n. (Gast)


Lesenswert?


von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Joachim B. schrieb:
> mir nicht mehr, externer Quarz, relativ ungenau, ich verwende nur noch
> DS3231 mit externem i2c EEPROM

 Ja, die sind schon genauer, haben aber kein SRAM.

von Frank K. (fchk)


Lesenswert?

Marc Vesely schrieb:
> Joachim B. schrieb:
>> mir nicht mehr, externer Quarz, relativ ungenau, ich verwende nur noch
>> DS3231 mit externem i2c EEPROM
>
>  Ja, die sind schon genauer, haben aber kein SRAM.

Wer SRAM will, nimmt den DS3232.

fchk

von Joachim B. (jar)


Lesenswert?

Marc Vesely schrieb:
> Ja, die sind schon genauer, haben aber kein SRAM.

wenns nötig ist, EEPROM geht ja auch, kommt immer drauf an.

ohne Akku und teurer:
http://www.ebay.de/itm/INBOARD-RTC-DS3232-Real-Time-Clock-and-Temperature-Sensor-I2C-BUS-PIC-AVR-ARM-/120841157983?pt=LH_DefaultDomain_0&hash=item1c22b1bd5f

: Bearbeitet durch User
von Mike (Gast)


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.

von Mike (Gast)


Lesenswert?

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

von m.n. (Gast)


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.

von Joachim B. (jar)


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

von m.n. (Gast)


Lesenswert?

Joachim B. schrieb:
> ob RTC Time < Compile Time

Dann darf die Uhr aber keine Sekunde nachgehen ;-)

von Mike (Gast)


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.

von Joachim B. (jar)


Lesenswert?

m.n. schrieb:
> Dann darf die Uhr aber keine Sekunde nachgehen ;-)

doch kann sie, das wird nicht verhindert

ich wunderte mich gerade nach Neustart das ich die Uhr nicht 
zurückdrehen kann hatte nur hh und mm zugelassen und frührere Stunde als 
Compiletime geht halt nicht :-)

: Bearbeitet durch User
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.