Forum: Mikrocontroller und Digitale Elektronik RTC extern oder Intern


von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Hallo Leute,

vor einer ganzen Weile hatte ich mir mal eine RTC DS1337 von Maxim 
besorgt samt Quarz.

Erst später hatte ich gelesen, dass einige Mikrocontroller bereits eine 
eigene RTC haben, wie etwa ATmega32.

Lohnt es sich da noch eine externe RTC zu verwenden?

Gruß
Fabian

von Karl H. (kbuchegg)


Lesenswert?

Fabian Hoemcke schrieb:

> Erst später hatte ich gelesen, dass einige Mikrocontroller bereits eine
> eigene RTC haben, wie etwa ATmega32.

?
Du kannst einen 32kHz Quarz anschliessen und damit dir deine eigene Uhr 
in Software bauen. Aber RTC würde ich das nicht unbedingt nennen.

> Lohnt es sich da noch eine externe RTC zu verwenden?

Was sagt dir das Stichwort "Stromausfall"?

von Falk B. (falk)


Lesenswert?


von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Fabian Hoemcke schrieb:
>
>> Erst später hatte ich gelesen, dass einige Mikrocontroller bereits eine
>> eigene RTC haben, wie etwa ATmega32.
>
> ?
> Du kannst einen 32kHz Quarz anschliessen und damit dir deine eigene Uhr
> in Software bauen. Aber RTC würde ich das nicht unbedingt nennen.
>
>> Lohnt es sich da noch eine externe RTC zu verwenden?
>
> Was sagt dir das Stichwort "Stromausfall"?

Danke.
1. Kann ich also den 32kHz separat zum normalen Oszi anschließen und nur 
für die eigene RTC nehmen? Oder müsste ich den an die XTAL anschließen 
und den Cotroller zu einen überdimensionalen RTC degradieren?
2. Habe jetzt nicht genau nachgelesen. Ich glaube mal nein. Also, gibt 
es keine Möglichkeiten (einfachen Hack) den RTC-Part über eine Batterie 
zu versorgen?

Falk Brunner schrieb:
> AVR - Die genaue Sekunde / RTC
Danke.

Gruß
Fabian

von Karl H. (kbuchegg)


Lesenswert?

Fabian Hoemcke schrieb:

> 1. Kann ich also den 32kHz separat zum normalen Oszi anschließen und nur
> für die eigene RTC nehmen?

Datenblattleser wissen mehr.
Der Timer2 hat eigene Anschlüsse für den 32kHz Quarz

> 2. Habe jetzt nicht genau nachgelesen. Ich glaube mal nein. Also, gibt
> es keine Möglichkeiten (einfachen Hack) den RTC-Part über eine Batterie
> zu versorgen?

Definiere 'einfach'.
Der springende Punkt ist der, dass die kommerzielle RTC das alles schon 
fertig hat. Inklusive eigener Anschlüsse, an die du nur noch die 
Batterie anschliessen musst.

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich nehme lieber eine externe. Kostet nicht die Welt und ist i.a. mit 
weniger Strom zufrieden als eine Controllerlösung. Am häufigsten benutze 
ich den M41T81 von ST.

von Karl (Gast)


Lesenswert?

H.joachim Seifert schrieb:
> Ich nehme lieber eine externe.

Ich auch. Batteriegepuffert kann man alles abschalten und muss nicht 
jedes mal die Zeit neu einstellen nach dem Einschalten. Dazu geht der 
Programmieraufwand gegen null. Lieblingsmodell ist die DS1307.

von Peter D. (peda)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Der springende Punkt ist der, dass die kommerzielle RTC das alles schon
> fertig hat.

Leider nicht.
Sie haben viele Nachteile:
- keine SW-Gangkorrektur
- keine Wochentagsberechnung
- keine Sommerzeit
- keine kleine Auflösung (1ms)
- krudes Zahlenformat
- zusätzliches Businterface nötig
- zusätzliche Synchronisationsfunktionen nötig (RTC stellen, lesen).

Bei den AVRs ist es kein großer Aufwand, die VCC mit 2 Dioden aus 
Batterie/Netzteil zu entkoppeln.
Das Absinken der VCC kann leicht mit dem ADC erkannt werden.


Peter

von hp-freund (Gast)


Lesenswert?

DS3232SN#

Sieht sehr gut aus.
Werd ich bei der nächsten Bestellung mal ausprobieren.

von H.Joachim S. (crazyhorse)


Lesenswert?

Peter Dannegger schrieb:
> Karl Heinz Buchegger schrieb:
>> Der springende Punkt ist der, dass die kommerzielle RTC das alles schon
>> fertig hat.
>
> Leider nicht.
> Sie haben viele Nachteile:
> - keine SW-Gangkorrektur
doch
> - keine Wochentagsberechnung
doch
> - keine Sommerzeit
das hat eine Software-RTC auch nicht von allein.
> - keine kleine Auflösung (1ms)
dafür kann man dann ja den eingesparten Timer2 nehmen und 
synchronisieren
> - krudes Zahlenformat
da haste Recht, aber wenn man es einmal gemacht hat, kann man es ja 
weiter benutzen
> - zusätzliches Businterface nötig
was heisst Businterface - I2C, ist eh meist da. Und wenn nicht - ob ich 
nun 2 Pins für I2C nehme oder für de Quarz an Timer2 - Jacke wie Hose
> - zusätzliche Synchronisationsfunktionen nötig (RTC stellen, lesen).
ja, aber das ist wirklich nicht dolle
> Bei den AVRs ist es kein großer Aufwand, die VCC mit 2 Dioden aus
> Batterie/Netzteil zu entkoppeln.
> Das Absinken der VCC kann leicht mit dem ADC erkannt werden.
Jo

Und wenn ich mir jetzt mal das Datenblatt eines Standard-AVR (also keine 
P-Typen) her nehme und das richtig interpretiere (Mega8):
Will man den Timer2 weiterlaufen lassen: power-save-Modus, 10..15µA, 
gegenüber 0,5µA einer echten RTC. Naja, kommt dann eben auch auf die 
Einsatzbedingungen an. Ständiger bzw. häufiger Batteriebetrieb? Oder 
eher nur kurze Netzausfälle überstehen?
Sehr schön finde ich auch die Möglichkeit, per Alarmprogrammierung den 
MC zu wecken.

Wie so oft - beides hat Vor- und Nachteile, muss jeder für sich 
entscheiden.

von Peter D. (peda)


Lesenswert?

H.joachim Seifert schrieb:
>> - zusätzliche Synchronisationsfunktionen nötig (RTC stellen, lesen).
> ja, aber das ist wirklich nicht dolle

Man muß es wissen und behandeln, sonst gibt es lustige Effekte.
Z.B. Du willst von 14:59 auf 14:58 zurückstellen. Also zählst Du die 
Minuten um 1 runter, wandelst in packed-BCD und schreibst sie zurück. In 
der Zwischenzeit hat die RTC aber weitergezählt auf 15:00 und zeigt nun 
15:58 an und Du guckst blöd aus der Wäsche.


Peter

von (prx) A. K. (prx)


Lesenswert?

H.joachim Seifert schrieb:

> Sehr schön finde ich auch die Möglichkeit, per Alarmprogrammierung den
> MC zu wecken.

Solche Alarme lösen ein Problem, das man bei einem AVR mit interner RTC 
überhaupt nicht hat. ;-)

Denn wenn der sowieso alle Sekunde hochschreckt, um seineUhr weiter zu 
zählen, dann kann der darin auch einen Alarm erledigen.

von hp-freund (Gast)


Lesenswert?

Um all diese Probleme zu minimieren würde ich versuchen alles komplett 
auszulagern. Deshalb mein Hinweis auf den DS3232SN#.

Hat jemand mit dem Erfahrung?

von Peter D. (peda)


Lesenswert?

H.joachim Seifert schrieb:
>> - keine SW-Gangkorrektur
> doch
>> - keine Wochentagsberechnung
> doch

Der hier empfohlene DS1337 hat beides nicht.
Der Quarz wird fest durch 32768 geteilt, Gangkorrektur geht nur 
altmodisch mit Trimmer.
Und der Wochentag ist ein extra zu stellender Zähler, er wird nicht aus 
dem Datum berechnet.

Es gibt allerdings einige neuere RTC, wo sich der Teiler durch ein 
Korrekturregister fein justieren läßt.


Peter

von Anton (Gast)


Lesenswert?

Schau mal bei www.emmicroelectronic.com vorbei.
Die haben recht interessante RTC.
Mit der V3020 habe ich schon sehr gute Erfahrungen gemacht.

von Thomas E. (thomase)


Lesenswert?

H.joachim Seifert schrieb:
> Und wenn ich mir jetzt mal das Datenblatt eines Standard-AVR (also keine
> P-Typen) her nehme und das richtig interpretiere (Mega8):
> Will man den Timer2 weiterlaufen lassen: power-save-Modus, 10..15µA,
> gegenüber 0,5µA einer echten RTC. Naja,
Du wirst sicherlich eine noch ältere alte Gurke finden, die noch mehr 
Strom verbraucht.

Atmega 48pa:– Power-save Mode: 0.75μA (Including 32kHz RTC)
Atmega 644pa:– Power-save Mode: 0.6μA (Including 32 kHz RTC)

Und ja, die PA-Typen sind mittlerweile Standard. Allein schon vom Preis 
her.

mfg.

von Falk B. (falk)


Lesenswert?

@  Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)

>Atmega 48pa:– Power-save Mode: 0.75μA (Including 32kHz RTC)
>Atmega 644pa:– Power-save Mode: 0.6μA (Including 32 kHz RTC)

WOW, da hat sich ja einiges getan!

von Steffen (Gast)


Lesenswert?

xmega256a3bu - 500nA rtc und battery backup domain---

von Peter D. (peda)


Lesenswert?

Hier noch ein Codebeispiel:

Beitrag "Berechnung Datum + Uhrzeit + Sommerzeit"


Peter

von H.Joachim S. (crazyhorse)


Lesenswert?

Ok, das mit dem Strom passt jetzt also, gut zu wissen.
Hab mich länger nicht drum gekümmert.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Guckst du hier:
http://www.fritzler-avr.de/HP/Librarys/PCF8583_his.php

Die Lib umgeht auch das von Peter beschriebene Problem, der Zähler wird 
beim schreiben kurz angehalten.
Der Wochentag wird auch von der Lib berechnet beim Datum schreiben.

Ich verwende immer externe RTC, weil ich die Timer meist für was 
besseres brauch.

von Steffen (Gast)


Lesenswert?

Martin Wende schrieb:
> Ich verwende immer externe RTC, weil ich die Timer meist für was
> besseres brauch.

Beim oben erwähnten Xmega gibt es 7x 16Bit Timer--dürfte wohl reichen?

von tt2t (Gast)


Lesenswert?

es gibt aber externe RTC, die haben eine Temperaturkompensation, z.B. 
DS3231 oder RV-3029-C2, beim DS3231 kannst Du 2-3ppm erreiche, da wirst 
Du mit dem µC Probleme bekommen ...

von Florian V. (Gast)


Lesenswert?

tt2t schrieb:
> die haben eine Temperaturkompensation, z.B.
> DS3231 oder RV-3029-C2, beim DS3231 kannst Du 2-3ppm erreiche, da wirst
> Du mit dem µC Probleme bekommen ...

Ich weiß ja nicht, wie das bei AVRs ist, aber die RTCC bei moderneren 
PICs kann auch genau das. Siehe AN1155

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

@Steffen
schön, dass der xmega es hat, aber der TE und ich nutzen atmegas =P

von Junge mit nem uC (Gast)


Lesenswert?

> Sie haben viele Nachteile:
> - keine SW-Gangkorrektur
doch
> - keine Wochentagsberechnung
Doch meine hatten das immer
> - keine Sommerzeit
Doch sogar Schaltjahr
> - keine kleine Auflösung (1ms)
Nein aber bei den von mir benutzen ICs gab es die Möglichkeit interne 
timer zu benutzen.
> - krudes Zahlenformat
BCD?
> - zusätzliches Businterface nötig
jup oder halt in vorhanden Bus einbauen...


MfG

von tt2t (Gast)


Lesenswert?

> Ich weiß ja nicht, wie das bei AVRs ist, aber die RTCC bei moderneren
> PICs kann auch genau das. Siehe AN1155

... aber nur, wenn die Temperatur dann konstant bleibt. Die o.g. Chips 
kommen auch mit Temperaturänderungen klar, z.B. beim Betrieb draussen.

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.