Forum: PC Hard- und Software PC Uhr (RTC) läuft zu schnell


von Antikuser (Gast)


Lesenswert?

Hallo,

hat jemand eine Idee was man machen kann wenn bei einem PC die Hardware 
Uhr um einiges zu schnell läuft?

Es ist ein standalone System mit DOS 6.22 ohne Netzwerk
Mainboard: winnet g150 (VIA CPU onboard)

Die Bios Batterie wurde schon erneuert ohne Erfolg.

Der PC läuft 24x7. In 2 Tagen geht die Uhr um 5 Minuten vor.

Er hat keine klassische RTC mehr (DIL-Sockel)

von Planlos (Gast)


Lesenswert?

Kleines TSR schreiben, das alle 10 Stunden die RTC um 1 Minute 
zurückdreht?
Oder besser alle 10 Minuten um 1 Sekunde?

von guest (Gast)


Lesenswert?

Externen DCF- oder GPS-Empfänger dranhängen?

von Antikuser (Gast)


Lesenswert?

Stimmt das wäre auch eine (Software)-Lösung.

Eine Hardwarelösung währe dann vielleicht wenn ich den kleinen runden 
Quarz durch einen anderen mit theoretisch gleicher Frequenz tausche in 
der Hoffnung das der genauer läuft?

von Antikuser (Gast)


Lesenswert?

DCF ist etwas schwierig da der COM-Port bereits belegt ist.

von Sascha W. (sascha-w)


Lesenswert?

wenn du die Auswertung der Impulse mit einem Programm selbst machst 
würde auch ein Parallelport - soweit vorhanden - gehen.

Sascha

von c-hater (Gast)


Lesenswert?

Antikuser schrieb:

> hat jemand eine Idee was man machen kann wenn bei einem PC die Hardware
> Uhr um einiges zu schnell läuft?

Korrigieren, was denn sonst?

Aber vorher erstmal überlegen: Wie genau wird die RTC eigentlich 
genutzt? Ist da wirklich nur das OS dran, oder gibt es zusätzliche 
Programme, die (eventuell falsch) darauf zugreifen?

> Der PC läuft 24x7. In 2 Tagen geht die Uhr um 5 Minuten vor.

Das sind ca. 0,2% Fehler. So schlecht ist KEIN Uhrenquarz, nichtmal 
näherungsweise. Ergo: Da greift garantiert irgendein völlig idiotisch 
programmiertes Programm falsch auf die RTC zu und bringt sie damit aus 
dem Konzept.

Eventuell eins deiner Eigenprodukte? Oder eventuell auch ein 
vorsteinzeitlicher NTP-Client oder irgendwas in der Art?

Einzige Alternative: Die Hardware ist schlicht kaputt. In diesem Fall 
löst nur ein kühner Schwung->/dev/tonne das Problem...

von Garfield (Gast)


Lesenswert?

Turbo-Knopf herausdrücken!

von Antikuser (Gast)


Lesenswert?

Ah, jetzt kommen die guten...  äh Tipps

c-hater schrieb:
> Das sind ca. 0,2% Fehler. So schlecht ist KEIN Uhrenquarz
Fall er kaputt ist?


c-hater schrieb:
> Eventuell eins deiner Eigenprodukte?
Nein, TFX und GP ;)

c-hater schrieb:
> Oder eventuell auch ein
> vorsteinzeitlicher NTP-Client oder irgendwas in der Art?
Ohne LAN?
siehe:
Antikuser schrieb:
> ohne Netzwerk


c-hater schrieb:
> löst nur ein kühner Schwung->/dev/tonne das Problem...
Unter DOS nicht verfügbar.


Garfield schrieb:
> Turbo-Knopf herausdrücken!
Hat er nicht

von Georg (Gast)


Lesenswert?

Planlos schrieb:
> Kleines TSR schreiben, das alle 10 Stunden die RTC um 1 Minute
> zurückdreht?

Richtig, aber wer weiss überhaupt noch, was ein TSR ist, vom 
Programmieren mal ganz abgesehen? Aber wenn der TO das kann, Ok.

Für DCF77-Empfänger wird man auch nur noch Windows-Treiber bekommen.

Georg

von Max M. (jens2001)


Lesenswert?

Antikuser schrieb:
> Der PC läuft 24x7. In 2 Tagen geht die Uhr um 5 Minuten vor.

Die Systemzeit oder wirklich die RTC?

von Antikuser (Gast)


Lesenswert?

Max M. schrieb:
> Die Systemzeit oder wirklich die RTC?

Danke der Tipp war super :)

Es ist tatsächlich so das nur die Systemzeit vorgeht.
Im Bios passt Uhr noch.

Wird also in der Software die Zeit selbst "gebildet"?

Eine Abfrage mit time bringt also die falsche Zeit obwohl im Bios noch 
die richtige steht. Das war mir neu, gibt es dagegen Abhilfe?

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Georg schrieb:
> Für DCF77-Empfänger wird man auch nur noch Windows-Treiber bekommen.

braucht man nicht, Sourcen gibt es hier und eine kleine TSR unter Dos 
ist ja so unmöglich nicht, ich gestehe meine liegt 16 Jahre zurück unter 
QC war das nicht so schwer und wenn ich die HW erkannt habe gibt es 
einen parallel Port, der könnte als Input für DCF77 auch genommen 
werden.

habe mal mein altes QC reingepackt, läuft auch unter anderen C Compiler 
ähnlich

TSR Routine die alle Minute die aktuelle Uhrzeit im Alarmregister der 
RTC sichert

dort könnte auch DCF gesammelt werden oder die Uhr korrigiert.

von Max M. (jens2001)


Lesenswert?

Antikuser schrieb:
> s ist tatsächlich so das nur die Systemzeit vorgeht.
> Im Bios passt Uhr noch.
>
> Wird also in der Software die Zeit selbst "gebildet"?

DOS hat seine eigene Zeit die von der Prozessorfequenz abgeleitet wird.
Und die Prozessorfrequenz ist nun mal nicht sehr genau.
Wenn ich mich recht erinnere gibts da Programme die die Systemzeit mit 
der RTC synchronisieren. Aber DOS ist bei mir lange her.

von Antikuser (Gast)


Lesenswert?

Hier sind Hinweise auf die Programme
synctime.exe und tad.exe

http://alt.msdos.batch.narkive.com/D07bYIsF/synchronize-real-time-clock-with-ms-dos-clock

Leider spukt gurgel keine wirkliche quellen dafür aus. Ich suche mal 
danach...

von Antikuser (Gast)


Lesenswert?


von Antikuser (Gast)


Lesenswert?

wäre zu einfach, quelle bitte ignorieren, das tool von dem link ist für 
was anders :/

von guest (Gast)


Lesenswert?

Antikuser schrieb:
> DCF ist etwas schwierig da der COM-Port bereits belegt ist

Die gibt auch als Steckkarten oder mit USB, z.B. 
https://www.meinberg.de/german/products/pc-clocks.htm

von Antikuser (Gast)


Lesenswert?

Jetzt aber eine Quelle für Synctime.exe getestet und tut was es soll.

http://www.uwe-sieber.de/util.html
und noch mehr alte DOS Tools.

guest schrieb:
> Steckkarten
Antikuser schrieb:
> Mainboard: winnet g150 (VIA CPU onboard)
nix Steckkarten möglich.

guest schrieb:
> oder mit USB
jepp
Antikuser schrieb:
> System mit DOS 6.22

von User (Gast)


Lesenswert?

> DOS hat seine eigene Zeit die von der Prozessorfequenz abgeleitet wird.

Nein, der Timer wird vom 14,31..MHz-Systemtakt bzw. einem Teiler davon 
gespeist. Alle ~18ms kommt ein Interrupt (Zählerunterlauf), mit dem das 
BIOS einen Softwarezähler hochsetzt.

Jetzt kann es sein, dass ein TSR oder auch Anwendungsprogramm geladen 
ist, dass sich einen anderen Takt als 18ms wünscht. Dieses muss den 
Interrupt selber abfangen und den BIOS-Handler in entsprechenden 
18ms-ähnlichen Zeitabständen aufrufen. Wenn dessen Berechnungen nicht 
passen, dann driftet die Zeit.

Oder der Quarzoszillator 14,xx MHz ist einfach ungenau geworden...

von Georg (Gast)


Lesenswert?

Max M. schrieb:
> DOS hat seine eigene Zeit die von der Prozessorfequenz abgeleitet wird.

Vor AT hatte ein PC garkeine RTC, da gab es Zusatzkarten mit RTC und 512 
kB RAM (für die Jüngeren: wirklich kB). Daher berechnet DOS seine eigene 
Zeit, ohne RTC muss man Datum und Zeit nach dem Einschalten eingeben. 
Allerdings sind sicher nicht mehr viele IBM-PCs/XTs in Betrieb.

Georg

von Amateur (Gast)


Lesenswert?

Wenn das Teil sowieso 25 Stunden am Tag läuft, so sollte doch eine 
softwaregesteuerte Korrektur möglich sein.

von User (Gast)


Lesenswert?

> Daher berechnet DOS seine eigene Zeit, ohne RTC muss man Datum und Zeit nach dem 
Einschalten eingeben.

Die Zeit muss man immer eingeben, wenn keine config.sys oder 
autoexec.bat vorhanden ist.

Der Ur-PC (ohne RTC) hatte schon einen Zeitzähler im BIOS implementiert. 
Dieser wird durch die RTC nur einmalig auf einen entsprechenden Stand 
gebracht. DOS berechnet dann die aktuelle Zeit aus diesem Zähler.

von bluppdidupp (Gast)


Lesenswert?


von oszi40 (Gast)


Lesenswert?

User schrieb:
> DOS berechnete dann die aktuelle Zeit aus diesem Zähler.

Das kann schon sein. Andere laufende Programme konnten aber auch durch 
ihren "Zeitverbrauch" die Berechnung etwas durcheinanderbringen. Heute 
sollte der Antikuser mal überlegen, ob in letzter Zeit zufällig ein 
===>"unnützes" Programm entfernt wurde, wenn jetzt die Uhr schneller 
läuft.

von User (Gast)


Lesenswert?

18 Millisekunden lang mit ausgeschalteten Interrupts laufen? Autsch :)

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.