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)
Kleines TSR schreiben, das alle 10 Stunden die RTC um 1 Minute zurückdreht? Oder besser alle 10 Minuten um 1 Sekunde?
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?
wenn du die Auswertung der Impulse mit einem Programm selbst machst würde auch ein Parallelport - soweit vorhanden - gehen. Sascha
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...
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
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
Antikuser schrieb: > Der PC läuft 24x7. In 2 Tagen geht die Uhr um 5 Minuten vor. Die Systemzeit oder wirklich die RTC?
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?
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.
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.
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...
doch noch ne uelle gefunden: http://www.tritonimaginginc.com/site/content/public/downloads/Tools/DOS/
wäre zu einfach, quelle bitte ignorieren, das tool von dem link ist für was anders :/
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
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
> 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...
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
Wenn das Teil sowieso 25 Stunden am Tag läuft, so sollte doch eine softwaregesteuerte Korrektur möglich sein.
> 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.
synctime ist vllt. eine Lösung? http://www.uwe-sieber.de/util.html http://www.uwe-sieber.de/files/synctime.zip
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.