- Echtzeituhr
-
Eine Echtzeituhr oder physikalische Uhr ist eine Uhr, die 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, die die Uhrzeit (wie in praktisch allen modernen PCs) auch beim Ausschalten des Geräts behalten bzw. fortschreiben.
Inhaltsverzeichnis
Typen
Hardware-Uhr
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
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.
Verwendung
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. Beim Herunterfahren wird häufig die Hardware-Uhr auf den Wert der Software-Uhr gesetzt.
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.
Kategorien:- Uhrentyp
- Hardware
Wikimedia Foundation.