Echtzeituhr

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.

Eine Echtzeituhr (englisch real-time clock, RTC) oder physikalische Uhr ist eine Uhr, welche die physikalische Zeit misst. Der Begriff wird meistens in der Computertechnik bzw. Informatik benutzt, um eine Unterscheidung zu logischen Uhren zu treffen. In diesem Zusammenhang werden Hardware- und Software-Echtzeituhren unterschieden. In einem etwas engeren Sinne sind mit Echtzeituhr (Hardware-)Uhren gemeint, welche die Uhrzeit (wie in praktisch allen modernen PCs) auch beim Ausschalten des Geräts behalten bzw. fortschreiben.

Typen[Bearbeiten]

Hardware-Uhr[Bearbeiten]

Echtzeituhr Typ ODIN, auf einer Leiterplatte in einem PC

Eine Hardware-Uhr ist ein Chip, der im Wesentlichen wie eine Quarzuhr einen Zähler und einen Uhrenquarz als Taktgeber enthält. Der Zähler wird bei jedem Takt des Frequenzgebers erhöht. Damit die Uhr nicht stehenbleibt, wenn das Gerät ausgeschaltet wird, ist im Gerät ein Energiespeicher untergebracht. Bei modernen PCs ist dies meist eine Lithiumzelle (3 V) auf der Hauptplatine. Bei älteren Hauptplatinen wurden für diesen Zweck drei Nickel-Cadmium-Akkus in Reihenschaltung (3,6 V) eingesetzt. Auf den gängigen Uhrenchips ist auch ein sogenanntes NVRAM untergebracht, der ebenfalls von der Batterie bzw. dem Akku gespeist („gepuffert“) wird. In PCs wird dieser NVRAM zum Speichern der BIOS-Einstellungen benutzt. Eine Zeitlang wurde auch oft ein Uhrenbaustein mit integrierter Batterie verbaut („Dallas-Chip“), was den Austausch erschwerte bzw. unmöglich machte.

Um die Zähler einfach zu halten, wird häufig eine Frequenz des Taktgebers von 32.768 Hz gewählt. Damit kann auf einfache Art durch wiederholtes Halbieren eine Frequenz von 1 Hz als Sekundentakt erzeugt werden. Die dabei benötigten Schwingquarze werden als „Uhrenquarz“ in sehr großen Stückzahlen produziert und daher besonders preisgünstig angeboten. Außerdem sind CMOS-Schaltungen bei solch niedrigen Frequenzen besonders stromsparend, was für die Lebensdauer der Batterie bzw. der Akkuladung wichtig ist.

Software-Uhr[Bearbeiten]

Bei einer Software-Uhr kommt nur das Taktsignal über eine Unterbrechungsanforderung (Interrupt Request) von der Hardware, der Zähler wird vom Betriebssystem (also der Software) geführt.

Alternative Schaltung[Bearbeiten]

In einigen Radioweckern und Mikrowellengeräten wird, um den Quarz einzusparen, als Zeitreferenz die Frequenz der Netzspannung genutzt. Sie wird zwischen Transformator und Gleichrichter kapazitiv entkoppelt und auf den Sekundentakt geteilt (/50 oder /60 je nach Netzfrequenz). Stromausfälle werden über einen ungenauen und driftenden RC-Oszillator überbrückt, sofern diese Teilschaltung implementiert ist.

Verwendung[Bearbeiten]

Die meisten Betriebssysteme führen zusätzlich zur meist eingebauten Hardware-Uhr auch eine Software-Uhr, die beim Booten mit der Hardware-Uhr abgeglichen wird.

Die Uhrzeit der Echtzeituhr besteht zunächst nur aus einem Zählerstand (meistens in Sekunden seit der Unix-Epoche). Die Umrechnung in eine für Menschen verständliche Form, sowie die Einbeziehung von Zeitzonen und Schaltjahren wird vom Betriebssystem übernommen. Viele Uhren-Chips jedoch enthalten Register, die die Uhrzeit im vom Menschen gewohnten Format (Sekunden, Minuten, Stunden, Tag, Monat, Jahr (oft nur zweistellig), Wochentag) fortschreiben. Einfache Mikrocontroller-Systeme können direkt mit diesen Werten arbeiten. In komplexeren Systemen (wie Betriebssystemen) werden die ausgelesenen Werte jedoch meist in ein Sekundenformat (wie die Unixzeit) umgewandelt, das erst bei der Ausgabe wieder in ein vom Menschen verständliches Format zurückgewandelt wird.

Es gibt verschiedene Ansätze, die Echtzeituhr eines Computers mit der tatsächlichen Uhrzeit zu synchronisieren. Das verbreitetste Verfahren ist, die Uhrzeit von einem oder mehreren Zeitservern zu erfragen und zusätzlich durch geschickte Umrechnungen die Verzögerung durch die Übertragungszeit auszugleichen. Siehe dazu Cristians Algorithmus, Berkeley-Algorithmus und das Network Time Protocol.