Zeit und Raum
-
HI!
Ich stehe grade vor einer schwierigen aufgabe. 2PC'2 sollen die "gleiche" systemzeit haben. mit gleich ist ca 50µs gemeint!
nach einiger zeit kopfzerbrechen, googeln und probiern hab ich entschlossen, dass es nicht übers internet möglich ist.
also alternativen:
GPS(immer nach draußen gehen fürs synchronisieren ^^)
Funkuhr
...aber gibt es wirklich keine einfachere lösung? software lösung wäre ideal, aber unwahrscheinlich. hardware kostet(100€ wären locker möglich) und ist umständlich.
hat jemand eine idee wie man das lösen könnte ?mfg
Luke
-
der titel ist cool. ich dachte jetzt kommt der philosoph ;). nur eine idee: nutze eine art beats (von swatch) einheit und errechne damit in einem zeitgleichen intervall die uhrzeit.
-
luki90 schrieb:
HI!
Ich stehe grade vor einer schwierigen aufgabe. 2PC'2 sollen die "gleiche" systemzeit haben. mit gleich ist ca 50µs gemeint!
nach einiger zeit kopfzerbrechen, googeln und probiern hab ich entschlossen, dass es nicht übers internet möglich ist.
also alternativen:
GPS(immer nach draußen gehen fürs synchronisieren ^^)
Funkuhr
...aber gibt es wirklich keine einfachere lösung? software lösung wäre ideal, aber unwahrscheinlich. hardware kostet(100€ wären locker möglich) und ist umständlich.
hat jemand eine idee wie man das lösen könnte ?mfg
LukeDu kannst doch die beiden PCs mit UDP synchronisieren?
-
p.s. GPS aktualisiert nur jede sekunde. da würde dir also auch das internet eine hilfe sein. genau so effektiv
-
luki90 schrieb:
Ich stehe grade vor einer schwierigen aufgabe. 2PC'2 sollen die "gleiche" systemzeit haben. mit gleich ist ca 50µs gemeint!
nach einiger zeit kopfzerbrechen, googeln und probiern hab ich entschlossen, dass es nicht übers internet möglich ist.Was genau gefällt dir denn an NTP nicht?
-
Was genau gefällt dir denn an NTP nicht?
mir gefällt nicht, dass bei der internetgenuigkeit 10ms angegeben sind!
das ist bei weitem zu viel.
-
luki90 schrieb:
HI!
Ich stehe grade vor einer schwierigen aufgabe. 2PC'2 sollen die "gleiche" systemzeit haben. mit gleich ist ca 50µs gemeint!
nach einiger zeit kopfzerbrechen, googeln und probiern hab ich entschlossen, dass es nicht übers internet möglich ist.
also alternativen:
GPS(immer nach draußen gehen fürs synchronisieren ^^)
Funkuhr
...aber gibt es wirklich keine einfachere lösung? software lösung wäre ideal, aber unwahrscheinlich. hardware kostet(100€ wären locker möglich) und ist umständlich.
hat jemand eine idee wie man das lösen könnte ?Mit einer Funkuhr kann das IMHO nichts werden. In 50 Mikrosekunden legt das Funksignal nur knapp 15km zurück, das heißt, du müsstest deine beiden PCs signifikant näher beieinander haben oder die Verzögerung durch die Lichtgeschwindigkeit mit einrechnen.
GPS könnte noch deine beste Möglichkeit sein; zum Beispiel das Modul SkyTraq Venus 5 liefert dir laut Datenblatt die aktuelle GPS-Zeit auf 1 Mikrosekunde genau.
Allerdings halte ich es für praktisch ausgeschlossen, dass du diese absolute Genauigkeit beibehältst, wenn du die Zeit vom GPS-Modul an den PC überträgst. Mit einem normalen Betriebssystem/normalen Schnittstellen hast du da überhaupt keine Chance, IMHO.
Darf man fragen, wofür du eine solche Genauigkeit brauchst?
-
luki90 schrieb:
Was genau gefällt dir denn an NTP nicht?
mir gefällt nicht, dass bei der internetgenuigkeit 10ms angegeben sind!
Wikipedia schrieb:
NTPv4 kann die lokale Zeit eines Systems über das öffentliche Internet mit einer Genauigkeit von 10 Millisekunden halten, in lokalen Netzwerken sind unter idealen Bedingungen sogar Genauigkeiten von 200 Mikrosekunden und besser möglich. Bei einem hinreichend stabilen lokalen Taktgeber (thermostatgesteuerter Quarzoszillator, Rubidium-Oszillator etc.) lässt sich unter Verwendung der Kernel-PLL (siehe oben) der Phasenfehler zwischen Referenzzeitgeber und lokaler Uhr bis in die Größenordnung von wenigen Mikrosekunden reduzieren.
Dass du nicht einfach normales ntp machen kannst ist schon klar, aber das Problem, Rechneruhrzeiten unter Berücksichtigung der Kommunikationszeiten zu synchronisieren, ist dort schonmal gelöst, warum also das Rad neu erfinden?
Wieso muss es eigentlich so genau sein? Hast du da spezielle Echtzeit-Betriebssysteme zu laufen oder wie? Normalerweise pfuscht einem doch in dem Zeitrahmen schon die Taskumschaltung dazwischen.
-
Bashar schrieb:
Wikipedia schrieb:
Bei einem hinreichend stabilen lokalen Taktgeber (thermostatgesteuerter Quarzoszillator, Rubidium-Oszillator etc.) lässt sich unter Verwendung der Kernel-PLL (siehe oben) der Phasenfehler zwischen Referenzzeitgeber und lokaler Uhr bis in die Größenordnung von wenigen Mikrosekunden reduzieren.
Dieser Punkt ist wichtiger als er scheint. Ich habe gerade nochmal nachgerechnet: Wenn deine PC-Uhr einen Drift von nur 2.6 Sekunden pro Monat besitzt (ein nicht unüblicher Wert), dann driftet die schon 1 Mikrosekunde pro 1 Sekunde. Das heißt, schon nach 50 Sekunden Laufzeit ohne Synchronisation hast du einen Drift von 50 Mikrosekunden angesammelt und deine Genauigkeit ist komplett vorbei.
-
Christoph schrieb:
Darf man fragen, wofür du eine solche Genauigkeit brauchst?
Messdaten sollen mit einem timestamp versehen werden. es ist nur 50µs als ziel genannt worden.
Christoph schrieb:
Wenn deine PC-Uhr einen Drift von nur 2.6 Sekunden pro Monat besitzt (ein nicht unüblicher Wert), dann driftet die schon 1 Mikrosekunde pro 1 Sekunde. Das heißt, schon nach 50 Sekunden Laufzeit ohne Synchronisation hast du einen Drift von 50 Mikrosekunden angesammelt und deine Genauigkeit ist komplett vorbei.
hmmm... es muss eigentlich nicht die PC uhr sein.
Christoph schrieb:
normalen Schnittstellen hast du da überhaupt keine Chance
solange der fehler konstant ist, ist es kein problem. (kürzt sich weg)
es geht ja im wesentlichen drum 2 signale zu synchronisieren. die absoulute (xD) zeit ist egal
-
luki90 schrieb:
Christoph schrieb:
Wenn deine PC-Uhr einen Drift von nur 2.6 Sekunden pro Monat besitzt (ein nicht unüblicher Wert), dann driftet die schon 1 Mikrosekunde pro 1 Sekunde. Das heißt, schon nach 50 Sekunden Laufzeit ohne Synchronisation hast du einen Drift von 50 Mikrosekunden angesammelt und deine Genauigkeit ist komplett vorbei.
hmmm... es muss eigentlich nicht die PC uhr sein.
Ok, dann würde ich gar keinen PC nehmen, sondern direkt so ein GPS-Modul per Mikrocontroller ansteuern. Damit müsstest du so genaues Timing hinbekommen können, solange das GPS-Modul korrekte Werte liefert.
luki90 schrieb:
Christoph schrieb:
normalen Schnittstellen hast du da überhaupt keine Chance
solange der fehler konstant ist, ist es kein problem. (kürzt sich weg)
es geht ja im wesentlichen drum 2 signale zu synchronisieren. die absoulute (xD) zeit ist egalBei normalen Betriebssystemen ist der Fehler nicht konstant, wie Bashar schon gesagt hat.