kb:time_sync:gnss_systems:gps_wochennummer-uberlauf

GPS Wochennummern-Überlauf

Die von den GPS-Satelliten ausgesendete Zeit basiert auf der Anzahl von Wochen seit einem bestimmten Startpunkt, und der Anzahl von Sekunden in der laufenden Woche.

Leider übertragen die meisten Satelliten die Wochennummer nur mit 10 Bit codiert, d.h. es kann nur ein Bereich von 1024 Wochen abgedeckt werden. Die Wochennummer kann dabei Werte von 0 bis 1023 annehmen, und springt nach 1023 wieder zurück auf 0. Dieses Verhalten ist so geplant, und auch genau in der GPS-Spezifikation IS_GPS_200J.pdf dokumentiert (Paragraph 20.3.3.3.1.1).

Der Startpunkt der GPS-Systemzeit ist Sonntag, der 6. Januar 1980. Der erste Überlauf der Wochennummer erfolgte 1024 Wochen später, am Samstag, den 21. August 1999, und der nächste Überlauf wiederum 1024 Wochen später, nämlich am Samstag, den 6. April 2019.

Bei GPS-Empfängern, die ausschließlich zur Navigation verwendet werden, sollte der Wochennummern-Überlauf keine gravierenden Auswirkungen haben, da die Navigation nur auf der Auswertung von Zeitdifferenzen basiert. Bei GPS-Empfängern, die zur Zeitsynchronisierung verwendet werden, ist es jedoch wichtig, dass Wochennummern-Überläufe korrekt verarbeitet werden, damit das richtige aktuelle Datum aus den Satellitendaten abgeleitet werden kann.

Alle von Meinberg gefertigten Geräte mit eingebautem GPS- oder GNSS-Empfänger verarbeiten Überläufe der Wochennummer ohne Probleme.

Die folgenden Abschnitte enthalten weitergehende Details zu dem Thema.

Die GPS-Empfänger einiger Hersteller verarbeiten den Wochennummern-Überlauf auf sehr einfache Weise, z.B.:

“Wenn die von den Satelliten gesendete Wochennummer kleiner ist als 860, erwarten wir, dass der Überlauf bereits stattgefunden hat und addieren 1024, um die tatsächliche Wochennummer zu erhalten. Wenn die Wochennummer größer ist als 860, vermuten wir, dass der Überlauf noch nicht stattgefunden hat.”

Dieses Verfahren ist ähnlich, als wenn man eine zweistellige Jahreszahl auf eine vierstellige erweitern möchte. Wenn man “90” als Grenze annimmt, liegt die resultierende vierstellige Jahreszahl im Bereich 1990 bis 2089.

Für die GPS-Wochennummer würde sich in diesem Beispiel ein Zielbereich von 860 bis 1884 ergeben, aber nach der tatsächlichen Woche mit Nummer 1884 würde diese Art der Berechnung wieder einen Wert im Bereich 0 bis 860 ergeben, und als Ergebnis würde man ein Datum erhalten, das 1024 Wochen in der Vergangenheit liegt.

Das Schlimmste daran ist jedoch, dass der Zeitpunkt, wann dies geschieht, nicht mit dem angekündigten Datum für den Wochenünerlauf der ausgesendeten GPS-Daten zusammenfällt, sondern zu irgendeinem Wochenwechsel geschieht, wenn die Wochennummer den von den Entwicklern gewählten Grenzwert erreicht.

Geschehen ist das z.B. mit GPS-Empfängern anderer Hersteller, bei denen das Datum z.B. im Februar 2016 bzw. im Juli 2016 um 1024 Wochen zurückgesprungen ist. Der exakte Zeitpunkt hängt vom Empfänger-Modell und der Firmware-Version des jeweiligen Empfängers ab, und fällt nicht mit dem Überlauf der von den Satelliten gesendeten Wochennummer zusammen.

Bereits als Meinberg in den 1990er Jahren die ersten eigenen GPS-Empfänger entwickelte, wurde darauf geachtet, dass der Überlauf der von den GPS-Satelliten gesendeten Wochennummer fehlerfrei verarbeitet wird. Die Firmware dieser GPS-Empfänger arbeitet intern mit einer 16 Bit-Wochennummer, die bei jedem Wochenwechsel einfach hochgezählt wird, auch wenn wenn die von den Satelliten ausgesendete Wochennummer von 1023 zurück auf 0 springt. Beim ersten Überlauf im August 1999 wurde die interne Wochennummer von 1023 auf 1024 weitergezählt, beim nächsten Überlauf im April 2019 von 2047 auf 2048, usw. Die erweiterte Wochennummer wird bei allen relevanten Berechnungen verwendet, und schon die ersten GPS-Empfänger von Meinberg haben sowohl den ersten Wochennummern-Überlauf im August 1999 als auch den zweiten im April 2019 problemlos verarbeitet.

Sowohl die aktuellen als auch die älteren Modelle der GPS-Empfänger von Meinberg arbeiten mit der erweiterten Wochennummer und haben den Rollover im April 2019 problemlos verarbeitet, unabhängig von der Firmware-Version. Natürlich wurde jedoch auch durch Tests verifiziert, dass sich die Empfänger verhalten, wie erwartet.

Die initiale erweiterte Wochennummer wird nach dem Einschalten des Empfängers aus dem aktuellen Datum des eingebauten, batteriegepufferten Uhrenchips (RTC) berechnet.

Falls allerdings die Backup-Batterie des Empfängers einmal ausfallen sollte oder erneuert werden muss, gehen Zeit und Datum in dem Uhrenchip verloren. Deshalb kann der GPS-Empfänger nach dem Einschalten mit einem falschen Datum starten, das je nach Firware-Version in die Bereiche 1980 bis 1999 oder 1999 bis 2019 fällt. Durch einmaliges Setzen des aktuellen Datums auf dem Gerät direkt nach Austausch der Batterie liefert der Empfänger wieder zuverlässig das korrekte Datum, dass dann auch wieder im Uhrenchip weitergeführt wird, solange die Batterie in Ordnung ist.

Das oben beschriebene Verhalten trifft exakt auf die von Meinberg selbst hergestellten GPS-Empfänger zu, das sind alle Module mit GPS im Namen, also z.B. GPS16x, GPS17x oder GPS18x.

Es gibt allerdings auch einige Geräte, die mit GNSS-Modulen anderer Hersteller bestückt sind, um z.B. auch die Signale von GLONASS- oder Galileo-Satelliten empfangen zu können. Dies sind Geräte mit GLN, GRC oder GNS im Namen, z.B. GLN170, GRC180 orderGNS181.

Auch diese Geräte wurden von Meinberg ausgiebig getestet, um sicherzustellen, dass auch die hier verwendeten Module keine Probleme mit dem Wochennummern-Überlauf haben, und auch nicht durch die oben beschriebene Art der Wochennummern-Berechnung beeinträchtigt werden.

Der Überlauf der Wochennummer geschieht in den Daten, die von den GPS-Satelliten gesendet werden. Um einen echten Test durchzuführen, benötigt man deshalb einen GPS-Simulator, der ein entsprechendes Signal erzeugen kann. Damit kann man dann überprüfen, ob die vom GPS-Empfänger ausgegebenen Zeit- und Datumsinformationen vor, während und nach dem Wochennummern-Überlauf konsistent fortschreiten.

Vorsicht ist geboten, wenn Tests durchgeführt werden und das Datum des GPS-Empfängers zum Test oder durch einen Simulator von einem Datum in der einen in ein Datum in einer anderen Epoche geändert wird. Der Grund ist, dass von den Satelliten gesendete Navigationsdaten wie Almanach, Ephemeris usw. im Empfänger ebenfalls mit einer erweiterten Wochennummer als Referenzzeit gespeichert werden. Wenn der Empfänger zunächst mit einem Datum nach dem Wochennummern-Überlauf betrieben wird und anschließend mit einem Datum davor (oder umgekehrt) könnten die empfangenen Daten mit einer falschen Referenzzeit abgespeichert werden, die 1024 Wochen in der Vergangenheit oder Zukunft liegt, was zu fehlerhaften internen Berechnungen führen kann.

Wenn also Tests durchgeführt werden sollen, sollte der Empfänger gleich nach dem Einstellen des Datums in den Cold Boot-Modus versetzt werden. Dadurch werden alle intern gespeicherten Satellitendaten gelöscht, anschließend von den Satelliten neu eingelesen und dann mit der korrekten, erweiterten Wochennummer gespeichert. Dieser Vorgang dauert etwa 12 Minuten, da die Satelliten einmal alle 12 Minuten die vollständigen Daten übertragen. Nach diesem Vorgang sind die gespeicherten Daten wieder konsistent und die Berechnungen im Empfänger liefern wieder die korrekten Ergebnisse.

Ein Test z.B. mit angeschlossener Antenne, wenn die aktuelle Wochennummer 873 ist, und es ist der vierte Tag der Woche:

Wenn das Datum im GPS-Empfänger vor 1999 eingestellt wird, erwartet der GPS-Empfänger die Epoche 0, for dem ersten Überlauf, und berechnet aus Wochennummer 873 und Wochentag 4 den 3. Oktober 1996.

Wenn das Datum im GPS-Empfänger nach 1999 eingestellt wird, erwartet der GPS-Empfänger die Epoche 1, nach dem ersten Überlauf, und berechnet aus Wochennummer 1897 und Wochentag 4 den 19. Mai 2016.

Die meisten Meinberg-GPS/GNSS-Empfänger haben einen Aufkleber mit der Gerätebezeichnung darauf, oder der Name ist ins Kupfer auf der Leiterplatte gedruckt. Oft ist es jedoch auch möglich, die genaue Bezeichnung durch Software herauszufinden.

Bei LANTIME-Geräten kann der Typ des eingebauten GPS- oder GNSS-Empfängers über das Web-Interface ermittelt werden. Die Hinweise in diesem Abschnitt beziehen sich auf LANTIMEs mit einer Firmware v6.x. Die entsprechenden Information für LANTIMEs mit software v5.x finden Sie im nächsten Abschnitt.

Auf der Webseite des LANTIMEs klicken Sie auf den Tab Clock, dann erweitern Sie den Eintrag Receiver Information, und Sie finden den Eintrag Model:.

Einer der Screenshots unten zeigt einen Eintrag GPS180 mit GPS im Namen des Modells, also handelt es sich um einen von Meinberg direkt gefertigten GPS-Empfänger. Der Name des Modells im zweiten Screenshot ist GRC180, wodurch angegeben wird, dass hier ein fertiges GNSS-Modul eingebaut ist.

Auf LANTIME-Geräten mit Firmware v5.x sieht das Web-Interface anders aus als bei Geräten mit Firmware v6.x.

Zunächst klicken Sie auf den Local-Button oben auf der Seite, dann auf List detailed version information, wie im erste Screenshot unten gezeigt. Die angezeigte Information enthält den Typ des GPS/GNSS-Empfängers wie im zweiten Screenshot unten hervorgehoben.

Unter Windows kann das Monitorprogramm mbgmon.exe aus dem Treiberpaket für Windows verwendet werden, um die genaue Bezeichnung zu ermitteln:

Im Screenshot oben lautet der hervorgehobene Teil der Geräte-Bezeichnung GPS, also handelt es sich um einen von Meinberg direkt gefertigten GPS-Empfänger.

Unter Linux, FreeBSD usw. kann das Programm mbgstatus verwendet werden, um Geräte-Informationen anzuzeigen.

Hier ist die Ausgabe für eine PCI Express-Karte GPS180PEX, bei der es sich um einen von Meinberg direkt gefertigten GPS-Empfänger handelt:

GPS180PEX 029511026220 (FW 2.14, ASIC 8.06) at port 0xE000, irq 16
Normal Operation, 7 GPS sats tracked, 13 expected to be visible
…

Eine ältere PCI-Karte GPS170PCI enthält ebenfalls die Bezeichnung GPS, also handelt es sich ebenfalls um einen von Meinberg direkt gefertigten GPS-Empfänger:

GPS170PCI 028210999960 (FW 1.15, ASIC 1.00) at port 0xD000, irq 16
Normal Operation, 8 GPS sats tracked, 13 expected to be visible
…

Im Beispiel unten enthält die Bezeichnung dagegen GNS, also ist hier ein fertiges GNSS-Modul eingebaut:

GNS181PEX 011411000360 (FW 2.31, ASIC 12.00) at port 0xDE00, irq 18
Normal Operation:
…

Martin Burnicki martin.burnicki@meinberg.de 2019-04-29

  • kb/time_sync/gnss_systems/gps_wochennummer-uberlauf.txt
  • Last modified: 2020-09-21 12:45
  • by 127.0.0.1