PC-Uhr ungenau!

Hallo Fachleute,
insbesondere Windows-Soft-Spezialisten sind hier gefragt.
Mein Problem ist folgendes: Ich brauche eine rel. genaue Uhrzeit im PC. Einige 1/10-Sek. Abweichung sind problematisch.
Früher, mit dem alten MS-DOS-PC benutzte ich ein kleines Programm, welches die Impulse von DCF77 benutzte, um die interne Uhr zu stellen. Das funktionierte einwandfrei. Heutzutage gibt es für einen Windows7-PC keine billige Software für meinen Zweck. Das einzige ist ein System für viele 100-Euro, was aber für ein Hobby zu viel ist.
Alle Versuche, die interne PC-Uhr übers Internet zu kontrollieren schlugen bisher fehl. Ich habe sogar noch ein neues Problem festgestellt: die interne Uhrzeit schwankt bis zu 200 mSek im Laufe einer Minute.
Nun 2 Fragen:
Wie wird die interne Uhrzeit erzeugt? Ein Quarz kann doch nicht 200mS in kurzer Zeit abweichen.
Kennt jemand eine Möglichkeit, die interne Uhr von einem ext. Signal (eigener DCF-gesteuerter Sekunden-„Generator“) nachzusteuern? Damals (MS-DOS) wurden "meine"ext. Sek-Impulse, wenn ich mich recht erinnere, über den seriellen Eingang in den PC hineingeführt.
Eine akzeptable Verzögerung durch die Verarbeitung im PC wäre 50mSek.
Danke für eine Antwort.
Beste Grüße, Edi

wie eine hardware uhr funktioniert
http://de.wikipedia.org/wiki/Echtzeituhr

Hallo,

mit Hilfe des Windowszeitdienstes, der die Internetzeit verwendet, kann eine Gangabweichung der lokalen Systemzeit von weniger als 1/10 Sekunde pro Tag ohne Probleme erreicht werden. Normalerweise wird die Internetzeit von deinem System in einem relativ großen Zeitabstand abgerufen, damit können deine hohen Ansprüche nicht realisiert werden.
Unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameter\SpecialPollIntervall gibt man in der Regiistry den Zeitraum in Sekunden an, in denen der Zeitserver abgefragt werden. In der Regel ist eine Abfrage /Tag (= 86400 s) völlig ausreichend. Bei großer Gangabweichung halbiert Windows automatisch die Intervallzeit.

Den Zeitserver kannst du beispielsweise mit dem Befehlszeilenkommando
net time /setsntp:„ptbtime1.ptb.de in die Registry eintragen. Nach einem Neustart des Zeitdienstes oder des Systems wird der Eintrag erst gültig.

Generell ist die Genauigkeit um so höher, je geringer die Entfernung zu dir ist. Eine Liste von Zeitservern findest du z.B. hier:
http://www.helmut.hullen.de/filebox/DCF77/ntpsrvr.html

Bei relativ großen Zeitabweichungen passt der Zeitdienst die lokale Zeit schrittweise an, damit keine Zeitsprünge auftreten. Dies kann eine Erklärung sein, warum du so große Gangabweichungen festgestellt hast. Es kann mehre Minuten, ja Stunden dauern, bis die lokale und die Internetzeit übereinstimmen. Mit dem Befehlszeilenkommando w32tm /resync /nowait kannst du aber einen Zeitabgleich erzwingen. Diesen Befehl solltest du beim Systemstart z.B. über die Aufgabenplanung ausführen.

LG Culles

Hallo,

Früher, mit dem alten MS-DOS-PC benutzte ich ein kleines
Programm, welches die Impulse von DCF77 benutzte, um die
interne Uhr zu stellen.

Ja, das war kein Problem so. DOS-Zeiten sind aber vorbei.

die interne Uhrzeit schwankt bis zu 200 mSek im Laufe
einer Minute.

Windows ist kein Echtzeitbetriebssystem.
http://de.wikipedia.org/wiki/Echtzeitbetriebssystem

Wenn sich ein Prozess aufhängt, kann es noch viel länger
dauern, ehe eine aktuelle Zeit kommt.

Nun 2 Fragen:
Wie wird die interne Uhrzeit erzeugt? Ein Quarz kann doch
nicht 200mS in kurzer Zeit abweichen.

Nein, aber die Zeitmessung ist auch nur eine Task, die
von Windows nach gusto immer mal abgearbeitet wird.
Windows kann eh keine hohe zeitliche Auflösung bringen.
Unter DOS war das anders, weil man da die Hardware
voll im Griff hatte und nur ein Programm aktiv abgearbeitet
wurde.

Kennt jemand eine Möglichkeit, die interne Uhr von einem ext.
Signal (eigener DCF-gesteuerter Sekunden-„Generator“)
nachzusteuern?

Es ist nicht das Problem der Ganggenauigkeit an sich.

Eine akzeptable Verzögerung durch die Verarbeitung im
PC wäre 50mSek.

Kann man unter Windows so wohl nicht garantieren.
Schreibe mal genauer, was du machen willst.
Gruß Uwi

Hallo Uwi,
danke für die Erklärungen. Das ist des Rätsels Lösung. Ich habe nicht bedacht, dass es ja einen Unterschied gibt zwischen der intern laufenden Uhr und der Anzeige auf dem Schirm. Durch das „Multitasking“ von Wind.8 kann man keine exakte Anzeige erwarten.
Es handelt sich bei meinen „Experimenten“ um Versuche im Amateurfunk, Daten extrem schmalbandig zu übertragen, WSPR, WSJT u. ä.
Wenn ich von der Gegenstation die Meldung bekomme, dass meine Start/Stopzeit um …ms von der Norm abweicht, möchte ich sicher sein, dass der Fehler bei mir liegt und nicht etwa das „Zeitnormal“ der Gegenstation daneben liegt.
Ich kenne den Zeitzeichensender DCF77 seit fast 40 Jahren und kontrolliere meine Uhren und meine Sendefrequenzen seit damals mittels dem DCF-Signal. Im Laufe der Jahre bin ich daher gewohnt, dass meine Zeit immer die exakte Zeit ist. Daher war ich erstaunt, dass mein PC immer etwas daneben liegt.
Ich habe heute am PC den Zeitserver der PTB eingestellt und werde mal beobachten.
Nochmal danke für die „Wegweisung“.
Beste Grüße, Edi

Hallo,

ich weiß nicht, ob es dir weiterhilft, aber unter XP ich benutze immer das Programm „Atomzeit“ zum Nachstellen der Uhr.

Ein Doppelklick drauf bei laufende Internetverbindung und bist auf dem Stand der Atomuhr in Braunschweig.

Schönen Gruß
Jörg