Forum: Mikrocontroller und Digitale Elektronik Worum gehts bei RTC


von Peter Schmidt (Gast)


Lesenswert?

Hallo!
Bin ein Neuling bei Programmierung von µC und versuche erstmal ales 
grundlegende zu verstehen.
Real Time Clock, kann mir jemand dafür allgemeine Information geben?
Worum gehts da genau "Echtzeit", wir wird dieses programmiert.
Suche jede Info, die ich über diese Funktion bekommen kann!
Danke

FG Peter

von Frank (Gast)


Lesenswert?

Das ist einfach ne Uhr die vom Controller ausgelesen wird. Die rennt 
ohne Unterstützung von aussen und wird vom Programm des Controllers 
nicht beeinflusst (ausser vielleicht zum stellen). So kann sie die echte 
Zeit zählen und ist nicht auf Prozessorzeit angewiesen.

bye

Frank

von Franko P. (sgssn)


Lesenswert?

Zunächst ist RTC eigentlich keine Funktion, sondern ein Baustein. RTC's 
gibts z.B. von MAXIM/Dallas. Das ist ein Baustein mit einem eigenen 
Quarz. Funktion: Datum und Uhrzeit aktuell zu halten. Der begriff 
Real-time wird in der Elektrotechnik immer arg strapaziert. Ein 
Real-Time-System ist ein System, das in der Lage ist, innerhalb einer 
maximal vorgegeben Zeit immer auf externe Ereignisse zu reagieren. Statt 
dessen assoziert man damit oft ein Uhren/Kalender-Bauteil. Mit einem uC 
kann man auch RTC-Funktion nachbilden. Dazu schliesst man an dafür 
vorgesehen Anschlüsse einen Uhrenquarz an und der Microcontroller 
arbeitet an dieser Funktion auch dann, wenn er im Sleep-Modus ist.

Gerhard

von Peter D. (peda)


Lesenswert?

RTC ist eine Funktion, damit ist Uhrzeit und Datumszählung gemeint.

Man kann diese Funktion in Software (Timerinterrupt) realisieren oder 
umständlich nen extra Chip dafür anschließen.

Vorteil der Softwarelösung ist, man hat alle Werte bequem in Variablen 
im SRAM.

Externe RTCs müssen erst ausgelesen werden (SPI, I2C) und haben meist 
ein ziemlich vergurktes Zahlenformat, wo man die Bits erst mühsam 
auseinanderfummeln muß.

Einziger Vorteil der Hardwarelösung ist, sie braucht weniger Strom bei 
Batteriebetrieb.


Peter

von Jörg B. (manos)


Lesenswert?

...weiterer Vorteil sollte sein, dass die Zeit auch bei 
Neuprogrammierung oder Absturz der µC's weiter läuft und nicht neu 
gestellt werden muss.

von Peter D. (peda)


Lesenswert?

Jörg B. wrote:
> ...weiterer Vorteil sollte sein, dass die Zeit auch bei
> Neuprogrammierung oder Absturz der µC's weiter läuft und nicht neu
> gestellt werden muss.

Wie mans nimmt.

Das erste wird nur sehr selten der Fall sein, das zweite sollte doch nie 
der Fall sein.

Eine RTC um Qualitätsprobleme bei der Softwareentwicklung zu kaschieren, 
sehe ich persönlich nicht als Vorteil.


Peter

von Ronny (Gast)


Lesenswert?

@Peter:

Ich sehe da eher die Ausfallsicherheit bei Problemen mit der 
Versorgungsspannung.Das Gerät fällt runter und die Batterien in der 
billigen Halterung springen kurz.Die Spannung bricht kurz zusammen 
woraufhin der uC abstürzt.Alternativ auch die Möglichkeit das jemand 
ausversehen die Versorgungsspannung abzieht.Dann ist es schon 
praktisch,nicht jedesmal die Zeit neu einstellen zu müssen.

von Stephan (Gast)


Lesenswert?

Ich sehe den Vorteil auch beim Ausfall der Versorgungsspannung.
Und genau dafür sind die HW RTC´s ja auch gemacht.
Wer braucht in nem Fax Gerät schon eine DCF Uhr ??

@Peter, "aben meist ein ziemlich vergurktes Zahlenformat"

nun die meisten zählen schon in BCD.
Einfach in Nibble aufteilen 30h für LCD Display dazu und Woila.
Für LED nix weiter notwendig außer man hat 7219 oder ähnliches.

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Das mit der Stromversorgung ist doch ein Grund, den man nicht anbringen 
kann.
Man kann nämlich auch die Pufferung (Knopfzellen) von RTC auslaufen 
lassen.
Notfalls kann man einen Controller auch per Goldcap o.dergl. puffern.
RTCs waren früher nötig, weil die Prozessoren genug mit anderen Sachen 
beschäftigt waren in Zeiten von zig MIPS langweilen sich Controller 
teilweise richtig. Wenn man ihnen dann noch eine RTC mitanklemmt, dann 
gründen sie womöglich noch eine Gewerkschaft...
Die Anwendung muß also entweder extrem zeitkritsch sein, wobei man bei 
sowas eher selten noch eine Uhr braucht, oder extrem schlecht 
programmiert sein. Sonst sehe ich keine sinnvolle Verwendung von RTCs 
mehr.

von Roger Sterley (Gast)


Lesenswert?

Fall:
Mobiles Gerät mit Akkufach für ganz normale AA Akkus, Kunde kann diese 
nach belieben wechseln -> Stromunterbrechnung.
Die Knopfzelle im inneren des Gerätes aus ihrer Halterung zu holen 
schafft der Kunde im Normalbetrieb nicht.

Soll der Kunde nun nach jedem wechseln der Batterien/Akkus die Zeit 
neuprogrammieren?

Ausserdem haben die meisten RTCs auch noch einen nicht flüchtigen SRAM, 
der als Nebeneffekt nicht zuverachten ist, da dieser Speicher sehr 
"sicher" ist...

von Sonic (Gast)


Lesenswert?

Ich glaube, ihr redet die ganze zeit von einem Timekeeper, gibt's auch 
mit SRAM, das sind die Teile mit der Huckepack-Batterie (z.B. M48T02 von 
ST). Die laufen erfahrungsgemäß auch nicht aus und halten 5..10 Jahre. 
Eine RTC (Real-Time-Clock) ist nix anderes als eine popelige Uhr, die 
die Echtzeit (Absolutzeit) anzeigt. RTC hat nix mit Bausteinen oder 
sonstiger Hardware zu tun.

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

>Die Knopfzelle im inneren des Gerätes aus ihrer Halterung zu holen
>schafft der Kunde im Normalbetrieb nicht.

Wie schon erwähnt:
Man kann den Mikrocontroller auch mit einer (oder zwei) Knopfzelle/n 
puffern. Dazu kann man dann auch einen Goldcap nehmen, wenn der Kunde 
die Battierien "schnell" genug wechselt.

Es geht um die Uhr, nicht um die Batterien.

>da dieser Speicher sehr "sicher" ist...
Sind (interne) EEPROMs und NVRAMS auch...

Ich bin der Meinung, die Zeit der RTCs ist abgelaufen...(Manche waren 
nicht mal Jahr-2000-kompatibel...).

von Klaus (Gast)


Lesenswert?

>Ich bin der Meinung, die Zeit der RTCs ist abgelaufen

Deine schlaumeierischen Beiträge sind auch schon abgelaufen seit 1822.

von Ronny (Gast)


Lesenswert?

-> Notfalls kann man einen Controller auch per Goldcap o.dergl. puffern.

Das kommt zum Teil auch auf die Anwendung an.So ein hochgezüchteter 
Rechenknecht verbraucht nunmal auch einiges an Strom.Da ist dann eine 
RTC mit eingebauter Knopfzelle schon nicht schlecht.Der Prozi geht 
aus,die RTC läuft munter weiter.Und wenn dann nach 10 Minuten der 
Spannungsausfall behoben ist,braucht man nicht alles wieder mühsam von 
Hand einstellen.

Allerdings geb ich dir Recht,die heutigen uC haben soviel 
Recheneleistung das das führen einer Zeit nicht problematisch 
ist.Etliche uC besitzen sogar eine interne RTC,mit eigenem Takteingang 
für einen Uhrenquarz.

von Jörg B. (manos)


Lesenswert?

Roger Sterley wrote:
> Soll der Kunde nun nach jedem wechseln der Batterien/Akkus die Zeit
> neuprogrammieren?
Komisch, da haben mich meine Uhrenhersteller bisher nie nach gefragt... 
bis auf meinen Wecker der eine 9V Pufferbatterie hat darf ich nach einem 
Stromausfall alle Uhren neu stellen die nicht DCF sind - selbiges gilt 
übrigens auch bei meinen Batteriebetriebenen.

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Lol

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Ergänzung: Man muss komischerweise die Uhr auch stellen, wenn die 
Batterie nicht gewechselt wurde ("Uhrenquarz", Zeitumstellung)... ;-)

von Ralf (Gast)


Lesenswert?

Es gibt aber doch einen Anwendungsfall für externe RTC-ICs:

Ich arbeite in einem Betrieb, der u.a. BDE bzw. Zeiterfassungsgeräte 
herstellt, und bei einem Stromausfall wäre es doch sehr doof, wenn die 
Uhrzeit fehlt, da dann die Zeiterfassung aus den Fugen gerät, bis jemand 
die Uhr neu gestellt hat. Da macht es dann schon Sinn...

Und neuere RTCs übernehmen die Sommer/Winterzeit-Umstellung selbst...

Ralf

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Nö, immer noch kein Grund für die Dinger.
Denn in so einem Kartenleser sitzt i.d.R. auch ein Mikrocontroller, den 
man irgendwie puffern kann.
Ausserdem kommuniziert jeder der Kartenlese-Knoten mit der Zentrale; 
wenn die Kommunikation ausbleibt, fragt die Zentrale solange nach, bis 
der Kartenleser wieder antwortet (Strom hat).
Dann kann die Zentrale auch alle Terminals mit der aktuellen Uhrzeit 
versorgen, was dazu führt, dass sie alle synchron laufen.

von Henrik J. (henrikj)


Lesenswert?

Warum sollte man RTCs nicht brauchen? Angenommen du pufferst deinen µC 
statt der RTC. Klar! Geht! Aber der µC braucht ja nunmal ne Menge mehr 
Strom statt RTC. Und kann der µC noch die Uhrzeit weiterrechnen, wenn er 
am rumdösen (SleepMode) ist?

Zum Vergleich -> RTC DS1307 0,5µA
ATMega8 (PowerDown Mode) -> 3µA

Also immerhin das 6fache. Also 6fach kürzere Batterielebensdauer. Und 
ich bezweifle, dass man den Timer weiterlaufen lassen kann im PowerDOwn 
Mode.

von Sonic (Gast)


Lesenswert?

Der mega163 im IDLE-Mode <3µA, der externe Uhrenquarz lässt den Timer2 
weiterlaufen und weckt den µC jede Sekunde um die Uhr weiterzurechnen.

Nochmal: RTC ist KEINE Hardware sondern eine Funktion! Wie und wo auch 
immer diese verwirklicht ist.

von Peter D. (peda)


Lesenswert?

Henrik Jahnke wrote:

> Zum Vergleich -> RTC DS1307 0,5µA
> ATMega8 (PowerDown Mode) -> 3µA

Wo ist das Problem ?

Angenommen ein Golkap (= 1F) dient zur Pufferung und der AVR kommt mit 
3V aus, dann haben wir (5V-3V) * 1F / 3µA = 185h Pufferzeit.

Das sollte doch wohl dicke reichen.


Peter


von johnny.m (Gast)


Lesenswert?

@Sonic:
> Der mega163 im IDLE-Mode <3µA,...

Im Idle-Modus eher "< 3 mA". Selbst im Power-Save-Modus brauchen die 
AVRs immer noch einige µA, z.B. beim Mega8 > ~8 µA. Und nur im 
Power-Save-Modus läuft der asynchrone Timer weiter.

@Henrik:
Im Power-Down-Modus ist der asynchrone Timer 2 deaktiviert! Da ist nix 
mehr mit RTC...

Ansonsten hat Peter recht: Für viele Anwendungen genügt die Funktion der 
µCs völlig. Wenns allerdings daran geht, die RTC in einem Gerät, das die 
meiste Zeit von der Spannungsversorgung getrennt ist, z.B. mittels 
Knopfzellen zu versorgen, könnte das zu etwas häufigeren 
Batteriewechseln führen. Ob man einen externen Baustein nimmt oder nicht 
muss man im Einzelfall entscheiden. I.d.R. sind auch die in 
RTC-Bausteinen verbauten Quarze etwas präziser als die handelsüblichen 
Uhrenquarze, was gerade bei Langzeitanwendungen vorteilhaft sein kann.

von Peter Schmidt (Gast)


Lesenswert?

Wow !
Erstmal danke für das große Feedback hier!
Ist ja ein richtiger Hammer...
Nun zur Technik, ich werde dann ein µC verwenden der eine integrierte 
RTC hat. Im Prinzip möchte ich auch eine "Echtzeit" haben, ein DCF-Modul 
anzusteuern hat allerdings auch sein Vor- und Nachteile.
Was ist Eure Meinung [DCF] dazu ?

Ich werde mal schauen, ob ich solch ein System in Gang setzen kann.
Bin weiterhin dankbar für jede gute Information!
FG Peter

von Henrik J. (henrikj)


Lesenswert?

Klar ist 185h ne lange Zeit. Mein Motorrad steht aber 2880h (4 Monate) 
ohne Batterie in der Werkstatt.

Ich will die RTC's nicht abschreiben. Die haben sicher ihre 
DaSaeinsberechtigung.

Aber der anderen "Partei" gebe ich auch recht. Für "kurze" 
Überbrückungen kann auch der µC gepuffert werden. Daran hatte ich noch 
gar nicht gedacht.

von uCler (Gast)


Lesenswert?

Oder ein anderes Beispiel aus der Praxis. Urlaub vom 18.12 bis 29.12.06 
- sind 8 Urlaubstage. Aber mindestens 17 Tage, an denen ein z.B. 
Laborgerät nicht an der Steckdose ist (Raum Notaus).

Das würde mit einem Controller echt heftig - mit der 1307 kein Problem.

Gruss Udo

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Peter Schmidt wrote:
> Real Time Clock, kann mir jemand dafür allgemeine Information geben?
> Worum gehts da genau "Echtzeit", wir wird dieses programmiert.
Real hat nix mit Echtzeit zu tun!

real ist hier eher als "wirklich, tatsächlich" zu verstehen. Also eine 
Uhr nach der sich z.B. verschiedene Controller/Prozesse an der 
"Weltzeit" syncronisieren können.

Echtzeit ist da eine ganz andere Sparte...



von Martin K. (maart)


Lesenswert?

Zur Pufferung des µC: Die Stromberechnungen, die ihr da alle für den µC 
aufstellt sind ja schön und gut. Aber: Ist denn so eine geringe 
Stromaufnahme überhaupt realistisch? Ich nehme nur mal meine einfache 
Heizungssteuerung in Betracht: da wird ein Relais mit einem Transistor 
angesteuert, diverse LEDs -> da kommen schon ein paar mA (nicht µA) 
zusammen.
Wie würde man soetwas lösen? Die Spannung ständig mit dem µC messen und 
bei erkanntem Spannungsausfall sofort alle Ausgänge deaktivieren und nur 
noch die Uhr intern weiterzählen? Sooo "out of date" sind diese 
Time-Keeper Bausteine dann vielleicht doch nicht?

Gruß, Martin

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Die Versorgungsspannung des Controllers mit einer Diode entkoppeln.

von Sonic (Gast)


Lesenswert?

Die Timekeeper sind bestimmt nicht 'out-of-date', sonst würden sie nicht 
mehr produziert werden. Es ist die einfachste Art eine Uhr bei häufig 
ausgeschalteter Spannung laufen zu lassen, wird heute auch noch oft 
praktiziert. Man kann auch eine DCF77-Antenne an den µC mit Software-RTC 
hängen, wenn's auf die Eine oder Andere Minute nicht ankommt, z.B. bei 
meteorologischen Datenloggern die alle 10 Minuten messen. Dann ist die 
Uhr auch nach Spannungsausfall immer genau.

von Peter Schmidt (Gast)


Lesenswert?

Also,
wenn ich Eure Beiträge so richtig verstanden habe wird es wohl das beste 
sein, ein DCF-Modul mit einer RTC zu verschalten {}. Dann würde ich mir 
die  Zeit, sagen wir mal jede Stunde aktualisieren lassen und das 
Prinzip würde aufgehen. Das Produkt soll, mindestens 3 Jahr unabhängig, 
ohne Wartung funktionieren!
Was meint Ihr?

von Jörg B. (manos)


Lesenswert?

Frage des Aufstellungsorts (Abschirmung des DCF-Signals bzw. Störfelder) 
und Mehrkosten für das DCF-Modul+Antenne.

von Peter Schmidt (Gast)


Lesenswert?

Da hast Du recht!
Der Signalempfang stört mich auch. Der Einsatzort wird in einer 
Lagerhalle sein, bestimmt mit Metall / Alu Bedachung und Außenwände !
Aber was soll man sonst machen, GSM ?

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

>Aber was soll man sonst machen, GSM ?

(S)NTP mit WLAN.

Was soll das am Ende werden?

von Martin K. (maart)


Lesenswert?

@ unsichtbarer WM-Rahul: Danke! Wieder etwas dazugelernt. Mit NTP kann 
ich jetzt ganz bequem die PC-Uhr übers Internet stellen lassen.

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

>Mit NTP kann ich jetzt ganz bequem die PC-Uhr übers Internet stellen >lassen.

Unter der Vorraussetzung von WindowsXP braucht man sich nicht mal mehr 
darum kümmern: Das macht Windows ganz alleine...

von Martin K. (maart)


Lesenswert?

>Das macht Windows ganz alleine...

Mein Win2k jetzt auch :-)

von Michael S. (rbs_phoenix)


Lesenswert?

Der Beitrag ist zwar schon älter, aber ich wollte mal Fragen, wie das 
mit der Temperatur-Abhängigkeit aussieht? Ich sehe da beim µC + 
Uhrenquarz ein Diagramm, dass bei 25°C zwar genau geht, bei 0° (Winter) 
aber schon eine Recht hohe Abweichung hat. Ich hab einen DS3231 und da 
ist im Diagramm quasi ein minimale Ungenauigkeit im Bereich von -40 bis 
0 und von 40 bis 85 °C. Dazwischen soll er hochgenau sein.

http://www.maxim-ic.com/products/timers/DS3231_demo/

Ist das ein entscheidendes Kriterium für einen externen RTC?

Oder hat sich das in Laufe der letzten 4 Jahre auch bei den Quarzen 
geändert?

von Jörg S. (joerg-s)


Lesenswert?

>Ist das ein entscheidendes Kriterium für einen externen RTC?
Wenn man's braucht schon. Wenn du ein Gerät baust wo alle halbe Jahr 
wegen Sommer/Winterzeit eh neu eingestellt wird, ist sowas hochgenaues 
eher unwichtig. Vor allem wenn das Gerät sowieso im Haus bei 
gleichbleibender Temperatur betrieben wird.

>Oder hat sich das in Laufe der letzten 4 Jahre auch bei den Quarzen
>geändert?
TCXOs gab es auch früher schon. Gibt jetzt halt Bausteine die das alles 
auf einer Chipfläche integriert haben.

von Falk B. (falk)


Lesenswert?

@  Michael Skropski (rbs_phoenix)

>Uhrenquarz ein Diagramm, dass bei 25°C zwar genau geht, bei 0° (Winter)
>aber schon eine Recht hohe Abweichung hat.

Ja. Siehe auch

AVR - Die genaue Sekunde / RTC

> Ich hab einen DS3231 und da
>ist im Diagramm quasi ein minimale Ungenauigkeit im Bereich von -40 bis
>0 und von 40 bis 85 °C. Dazwischen soll er hochgenau sein.

Ist sicher auch so. Die Schaltung ist halt temperaturkompensiert, 
sprich, durch analoge oder digitale Schaltungsmassnahmen wird der Fehler 
deutlich verringert (gegengerechnet).

>Ist das ein entscheidendes Kriterium für einen externen RTC?

Ja.

>Oder hat sich das in Laufe der letzten 4 Jahre auch bei den Quarzen
>geändert?

AFAIK nein.

MFG
Falk

von Michael S. (rbs_phoenix)


Lesenswert?

Falk Brunner schrieb:
> Ja. Siehe auch
>
> AVR - Die genaue Sekunde / RTC

Als ich da geguckt habe, ist mir das aufgefallen ;)

Falk Brunner schrieb:
>>Ist das ein entscheidendes Kriterium für einen externen RTC?
>
> Ja.

Dann werde ich wohl den RTC benutzen, je genauer, desto besser.

von Jörg S. (joerg-s)


Lesenswert?

Wenn Geld keine Rolle spielt...

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.