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
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
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
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
...weiterer Vorteil sollte sein, dass die Zeit auch bei Neuprogrammierung oder Absturz der µC's weiter läuft und nicht neu gestellt werden muss.
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
@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.
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.
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.
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...
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.
>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...).
>Ich bin der Meinung, die Zeit der RTCs ist abgelaufen
Deine schlaumeierischen Beiträge sind auch schon abgelaufen seit 1822.
-> 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.
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.
Ergänzung: Man muss komischerweise die Uhr auch stellen, wenn die Batterie nicht gewechselt wurde ("Uhrenquarz", Zeitumstellung)... ;-)
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
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.
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.
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.
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
@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.
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
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.
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
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...
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
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.
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?
Frage des Aufstellungsorts (Abschirmung des DCF-Signals bzw. Störfelder) und Mehrkosten für das DCF-Modul+Antenne.
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 ?
>Aber was soll man sonst machen, GSM ?
(S)NTP mit WLAN.
Was soll das am Ende werden?
@ unsichtbarer WM-Rahul: Danke! Wieder etwas dazugelernt. Mit NTP kann ich jetzt ganz bequem die PC-Uhr übers Internet stellen lassen.
>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...
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?
>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.
@ 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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.