Tijd synchronisatie met een Garmin GPS
- Inleiding in het GPS systeem
- Computer tijdsynchronisatie
- Selecteren van een geschikte GPS ontvanger
- Connectors monteren aan de Garmin 18x LVC
- Gebruik van de Garmin GPS voor tijdsynchronisatie
- GPS tijdsynchronisatie in de praktijk
Inleiding in het GPS systeem
GPS of Global Positioning System is een navigatie hulpsysteem, dat gebruik maakt van signalen van satellieten om de actuele positie van een GPS ontvanger te berekenen. De GPS satellieten zijn onderdeel van het militaire navigatiesysteem van het Amerikaanse leger, maar zenden ook navigatiesignalen uit op publieke frequenties die vrij door iedereen gebruikt mogen worden.
Het GPS systeem staat maximaal 32 satellieten toe rond de aarde die elk met reguliere intervallen hun eigen positie en tijd naar de aarde zenden. Een GPS ontvanger zal deze signalen ontvangen en geometrische berekeningen maken om de lokatie te schatten waar de ontvanger is ten opzichte van deze satellieten. Dit GPS systeem kan niet alleen worden gebruikt om een positie te bepalen, maar het kan ook worden gebruikt als een zeer nauwkeurige tijdbasis. Om een positie binnen meters nauwkeurig te berekenen moet het tijdsignaal een nauwkeurigheid hebben binnen nanoseconden. Dit, samen met de brede beschikbaarheid van goedkope GPS ontvangers maakt het GPS systeem de ideale methode voor nauwkeurige tijdsynchronisatie van computers.
Computer tijdsynchronisatie
Sinds enkele jaren beheer ik een aantal NTP tijdservers op verschillende continenten op aarde. NTP tijdservers gebruiken het Network Time Protocol om tijd te synchroniseren en te werken als tijdbasis voor andere computers in het netwerk. Op computers die gebruik maken van NTP loopt een klein programma in de achtergrond dat periodiek de tijd opvraagt op omringende computers en de lokale tijd vervolgens aan die gegevens aanpast. Tot nu toe gebruikte ik andere computers op het internet als tijdbasis voor mijn servers, maar recentelijk heb ik besloten om mijn eigen nauwkeurige tijdbasis te installeren, gebasseerd op een eenvoudig beschikbaar GPS apparaat. In het algemeen geldt dat hoe groter het aantal hops tussen een computer en de originele tijdbasis, deste groter de fout in de synchronisatie zal zijn. Het aantal hops tussen een tijdserver en de nauwkeurige tijdbasis wordt normaliter het stratum van die server genoemd. Mijn tijdservers werkten allemaal als stratum 2 servers wat betekent dat ze de tweede computer in rij zijn in de verbinding met de tijdbasis. De praktijk van de afgelopen jaren heeft geleerd dat dit een nauwkeurigheid geeft van ongeveer 5 msec. Een stratum 1 server kan echter gemakkelijk een nauwkeurigheid bereiken van enkele microseconden omdat de fout die wordt veroorzaakt door vertragingen in het computernetwerk volledig is geëlimineerd. Hoewel voor het meeste werk dat ik doe zo’n verbetering van de nauwkeurigheid van de tijdbasis op mijn netwerk nog niet noodzakelijk is, is het opwaarderen van één van mijn servers tot stratum 1 een goede oefening in het interfacen van GPS apparaten met computers.
Selecteren van een geschikte GPS ontvanger
Er zijn vele goedkope GPS ontvangers beschikbaar in de markt. De meesten daarvan gebruiken ofwel een RS232, ofwel een USB verbinding om hun informatie te verzenden naar de aangesloten computer. Hoewel de klok binnenin de ontvanger loopt met een nauwkeurigheid van enkele nanoseconden zorgt de overdracht van de gegevens naar de computer voor zo’n grote vertraging dat het in de praktijk niet mogelijk blijkt de klok van de lokale computer te synchroniseren met een nauwkeurigheid die beter is dan een handvol milliseconden. Dat niveau van nauwkeurigheid kan ook worden bereikt door met een vrijelijk beschikbare NTP tijdserver op het internet te synchroniseren. Alleen GPS apparaten die een speciale snelle en betrouwbare synchronisatie methode met de computer kennen kunnen worden gebruikt als tijdsynchronisatie apparaat. De duurste en nauwkeurigste methode is om een GPS ontvanger te nemen die in een lokaal PCI of PCIex slot van de computer past. Maar deze kaarten zijn vrij duur en niet overal verkrijgbaar. De andere oplossing is gebruik te maken van een trage en onnauwkeurige RS232 of USB interface om algemene gegevens te versturen en de tijdsynchronisatie te doen met een puls. De opgaande of neergaande flank van die puls kan dan worden gebruikt voor de synchronisatie van de tijd in de computer.
In de praktijk heeft de USB interface geen mechanisme om een pulssignaal te sturen naar een host computer, maar de oude RS232 kan wel pulssignalen verwerken met de handshake ingangen die aanwezig zijn op de meeste RS232 poorten. De handshake ingangen zijn via de UART verbonden met een interrupt in de computer en een wijziging van de input status kan daardoor een software actie in de computer bewerkstellingen binnen een vastgelegde hoeveelheid tijd. Uiteraard hebben te technische eigenschappen van de poortelektronica, de CPU snelheid en de machine belasting een zekere invloed hebben op de performance, maar in het algemeen kan gezegd worden dat dit type synchronisatie een aantal factoren nauwkeuriger is dan gebruik te maken van een seriële datastroom. Vaak zijn betrouwbaarheden binnen microseconden mogelijk bij het ontvangen van pulsen door het seriële interrupt systeem. Op de meeste GPS apparaten met puls mogelijkheid wordt de puls elke seconde verzonden, beginnend op het begin van elke nieuwe seconde. Dit is waarom deze GPS apparaten ook vaak GPS met PPS worden genoemd, naar puls per seconde.
Helaas zijn er niet een groot aantal GPS ontvangers die over de extra PPS uitgang beschikken. Ik gebruik Garmin GPS ontvangers in Kazachstan voor mijn toerisme activiteiten en ik heb daarom eerst gekeken naar mogelijke beschikbare apparaten van deze fabrikant. Op dit moment zijn er twee Garmin GPS ontvangers die voor een directe verbinding met een computer kunnen worden gebruikt: de Garmin GPS 16x LVS en de Garmin GPS 18x LVC. Ze werken beiden op een voedingsspanning van +5 Volt die direct beschikbaar is op een computer, ze zenden beide de algemene data uit in het NMEA protocol over een RS232 interface en ze hebben beiden een PPS uitgang. Zowel de 16x als de 18x GPS ontvangers zijn hoge-gevoeligheid versies van oudere Garmin modellen. De Garmin GPS 16x LVS is robuster en speciaal geschikt op bewegende installaties in ruwe omstandigheden. De 18x GPS ontvanger is ook waterdicht op niveau IP67 en kan daarom buiten worden toegepast. De constructie is minder solide, maar voor een statische situatie om een computerklok te synchroniseren is dat niet een echt nadeel. Rekening houdende met zijn lagere prijs heb ik voor de Garmin GPS 18x LVC gekozen als de tijdbasis voor mijn stratum 1 tijdserver.
Connectors monteren aan de Garmin 18x LVC
De Garmin 18x LVC GPS is een OEM apparaat. Het wordt normaliter gebruikt om te worden geïntegreerd in systemen en het wordt ofwel met een kleine witte connector geleverd, of zonder connectoren. Het model dat ik kreeg had de witte connector die ik direct heb afgeknipt. Zeven draden plus afscherming zijn beschikbaar die moeten worden verbonden met de RS232 connector en de voedingsspanning. Dit GPS model werkt op +5 Volt met een maximale stroom van 90 mA. Een USB poort kan minimaal 100 mA leveren per poort en dat is waarom ik gekozen heb om één van de USB poorten op de computer te gebruiken als voedingsbron. Omdat op de meeste computers de RS232 en USB poorten dicht bijelkaar zitten zijn slechts korte kabels nodig van het eind van de GPS kabel naar beide connectoren. Ik heb een USB connector gebruikt waaraan nog een klein stuk kabel verbonden zat van een USB apparaat dat ik niet meer gebruikte. Maar je kunt ook een USB kabel kopen en daarvan de platte A connector met een klein stuk aangesmolten kabel afknippen. Het is waarschijnlijk goedkoper dan om te proberen bij een elektronicawinkel een aparte USB connector te kopen.
Draad | DB9 seriëel (vrouwelijk) | USB | Functie |
---|---|---|---|
Rood | – | Rood | +5 Volt voeding |
Zwart (dik) | – | Zwart | Voeding 0 |
Zwart (dun) | 5 | – | Signaalnul |
Zwart (los in kabel) | – | – | niet gebruikt |
Geel | 1 | – | PPS puls |
Wit | 2 | – | TxD van GPS |
Groen | 3 | – | RxD naar GPS |
Afscherming | – | Afscherming | Afscherming |
Er bevinden zich in totaal drie zwarte draden in de kabel van de GPS. De dikke draad wordt gebruikt voor de voeding nul. De dunne draad die met de witte connector is verbonden wordt gebruikt als signaal nul. Hoewel Garmin deze draad in haar schema’s verbindt met de nul van de voeding vlakbij de voeding, is dit fout vanuit het oogpunt van signaalkwaliteit. Beide zwarte draden zijn reeds in de GPS met elkaar verbonden en door ze dicht bij de voeding nog een keer met elkaar te verbinden zal de dunne draad ook een deel van de voedingsstroom vervoeren, waardoor het nulniveau in die draad op en neer gaat afhankelijk van de stroom die door de GPS getrokken wordt. Dit is niet de bedoeling en kan problemen geven in de communicatie. De derde zwarte draad kan binnenin de kabel gevonden worden. Deze is niet verbonden en moet in onze toepassing ook niet verbonden worden.
Afscherming is er voornamelijk om inteferentie van buiten die de communicatie zou kunnen beïnvloeden te voorkomen. Met korte kabellengtes zoals de 5 meter die normaal geleverd wordt met de Garmin GPS 18x LVC de lage baudrate die niet boven de 19200 bps uit kan komen en de omgeving waarin de GPS ontvanger wordt gebruikt (je hebt waarschijnlijk geen zware motoren of lasapparatuur geplaatst naast de computer die moet worden gesynchroniseerd) is het niet noodzakelijk om het laatste kleine stuke van de GPS kabel naar de RS232 poort af te schermen. Het is daarom voldoende om de afscherming te verbinden met de afscherming van de USB kabel. Wanneer alles volgens bovenstaande tabel met elkaar wordt verbonden ziet het resultaat er uit als hieronder.
Gebruik van de Garmin GPS voor tijdsynchronisatie
Vanaf dit punt neem ik aan, dat de installatie één of ander Unix gebasseerd systeem betreft. Dit mag Linux zijn, FreeBSD of één van de commerciële varianten zoals HP-UX. Helaas heb ik moeten ondervinden dat het synchroniseren van een Windows computer met een GPS met PPS signaal in het geheel niet werkt. Zelfs met gespecialiseerde software die claimt de PPS puls en het NMEA signaal van de ontvanger correct te verwerken heb ik afwijkingen gezien van meerdere seconden op mijn eigen computers.
Ik neem aan dat de Garmin 18x LVC GPS gebruikt gaat worden zonder herprogrammering. Het werkt direct uit de doos voor tijdsynchronisatie, dus herprogrammeren is niet echt noodzakelijk. Ik heb het apparaat opnieuw geprogrammeerd om het te laten communiceren op een hogere baudrate van 19200 bps vergeleken met de standaard 4800 bps en om wat meer NMEA zinnen te genereren met positiegegevens. Maar dat slechts voor de lol en voor wat toekomstige projecten die ik in het achterhoofd heb met het verbinden van GPS apparaten met computers. De Garmin 18x LVC zal zo uit de doos werken in de configuratie zoals die hieronder beschreven is.
Installeer ntpd
Ntpd is het achtergrondprogramma dat helpt om de interne computerklok te gesynchroniseerd te houden met een tijdbasis. Het ntpd programma begrijpt het Network Time Protocol en kan zoasl als client als server fungeren in een NTP netwerk. Daarnaast kan het ook synchroniseren met lokale tijdbronnen. Het ntpd achtergrondprogramma kan niet direct met GPS apparaten communiceren, maar het heeft een aantal goed gedocumenteerde interfaces die door andere achtergrondprogramma’s kunnen worden gebruikt om GPS informatie te gebruiken met ntpd.
Het ntpd achtergrondprogramma is ofwel reeds geinstalleerd op je systeem, of het kan worden gedownload via één van de pakketarchieven. Linux distributies zoals Debian, Ubuntu en RedHat hebben allemaal ntpd in hun standaard pakketten. Wanneer er niet een direct installeerbaar ntpd pakket beschikbaar is kan het worden gedownload van de project website www.ntp.org. De installatie zou niet teveel hoofdbrekens moeten kosten.
Installeer gpsd
Omdat ntpd niet direct kan communiceren met een GPS ontvanger is een apart achtergrondprogramma noodzakelijk voor de GPS communicatie. Zoals altijd in Unix land is er meer dan één oplossing voor dit probleem, maar ik heb gekozen om het gpsd programma te gebruiken voor deze taak. Het gpsd programma is het meest veelzijde van alle GPS programma’s die op dit moment beschikbaar zijn. Het communiceert niet alleen goed met de meeste GPS modellen die beschikbaar zijn, maar het communiceert ook goed met ntpd en heeft een speciale interface die het mogelijk maakt om het te integreren met web pagina’s en dergelijke. Het gpsd achtergrondprogramma kan gedownload worden van www.berlios.de/software/gpsd/. Het is beschikbaar in broncode, niet in een voorgekookt pakket, dus het moet zelf gecompileerd worden.
In de standaard configuratie wordt de gpsd applicatie geïnstalleerd in de /usr/local/sbin directory. Ik heb dat niet veranderd in de compileerinstellingen om het in de toekomst eenvoudig mogelijk te maken een nieuwe versie van de software te downloaden en te installeren. In plaats daarvan heb ik het programma vanuit de algemene /usr/sbin directory gelinkt met het commando
ln -s /usr/local/sbin/gpsd /usr/sbin/gpsd
waardoor het gpsd achtergrond programma beschikbaar wordt, zelfs wanneer /usr/local/sbin niet in het PATH voorkomt.
Het gpsd achtergrond programma is normaliter niet voorzien van een script waarmee het wordt opgestart wanneer de computer wordt ingeschakeld. Ik heb daarom mijn eigen script geschreven. Het is gebasseerd op Centos, maar het zou niet al te moeilijk moeten zijn om het aan te passen aan een specifieke installatie. Er zijn twee files bij betrokken. Eén file wordt geplaatst in de /etc/rc.d/init.d directory en bevat het eigenlijke opstart script. Het andere bestand gaat in de /etc/sysconfig directory en bevat de instellingen voor het opstarten.
/etc/sysconfig/gpsd
DAEMON_OPTS="-n"
BAUDRATE="4800"
DEVICE="/dev/ttyS0"
De BAUDRATE en DEVICE instellingen in dit bestand zouden gewijzigd moeten worden naar waarden die gelden voor de eigen situatie. Een GPS communiceert standaard op 4800 baud. Het apparaat /dev/ttyS0 is de eerste seriële poort op de computer, ook vaak benaamd als COM1.
/etc/rc.d/init.d/gpsd
#!/bin/bash
#
# gpsd This shell script takes care of starting and stopping
# gpsd (GPS daemon).
#
# chkconfig: 2345 50 80
# description: gpsd is the GPS daemon. \
# The GPS daemon gets the actual position and time information from \
# an attached GPS device and makes this information available for \
# other daemons and applications.
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
if [ -f /etc/sysconfig/gpsd ];then
. /etc/sysconfig/gpsd
fi
RETVAL=0
prog="gpsd"
start() {
setserial $DEVICE low_latency
stty $BAUDRATE -F $DEVICE
echo -n $"Starting $prog: "
daemon gpsd $DAEMON_OPTS $DEVICE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/gpsd
return $RETVAL
}
stop() {
echo -n $"Shutting down $prog: "
killproc gpsd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/gpsd
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status gpsd
RETVAL=$?
;;
restart|reload)
stop
start
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/gpsd ]; then
stop
start
RETVAL=$?
fi
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=3
esac
exit $RETVAL
Verbind gpsd en ntpd
Ik ga er van uit dat gpsd getest is volgens de installatie instructies die bij de broncode van het achtergrond programma worden geleverd. Als dat niet werkt zal dat probleem eerst moeten worden opgelost alvorens verder te gaan. De beste manier om het gpsd achtergrondprogramma te testen is door het in de voorgrond op te starten. Hierbij wordt het programma in debug mode opgestart, waarbij alle informatie direct op het scherm getoond wordt. De uitvoer zal er ongeveer als volgt uitzien:
$ sudo /usr/local/sbin/gpsd -n -N -D2 /dev/ttyS0
gpsd: launching (Version 2.91dev)
gpsd: listening on port gpsd
gpsd: running with effective group ID 0
gpsd: running with effective user ID 0
gpsd: opening GPS data source at '/dev/ttyS0'
gpsd: speed 19200, 8N1
gpsd: garmin_gps Linux USB module not active.
gpsd: speed 9600, 8O1
gpsd: speed 19200, 8N1
gpsd: gpsd_activate(): opened GPS (fd 4)
gpsd: NTPD ntpd_link_activate: 0
gpsd: => Probing device subtype 0
gpsd: => Probing device subtype 1
gpsd: => Probing device subtype 2
gpsd: => Probing device subtype 3
gpsd: => Probing device subtype 4
gpsd: => Probing device subtype 5
gpsd: => Probing device subtype 6
gpsd: => Probing device subtype 7
gpsd: => Probing device subtype 8
gpsd: PPS cycle: 584180992, duration: 584180992 @ 1263141876.000000
gpsd: PPS pulse rejected
gpsd: PPS cycle: 584280994, duration: 100002 @ 1263141876.100002
gpsd: PPS pulse rejected
gpsd: PPS cycle: 1000000, duration: 899998 @ 1263141877.000000
gpsd: PPS cycle: 999999, duration: 100001 @ 1263141877.100001
gpsd: PPS pulse rejected
gpsd: PPS cycle: 999998, duration: 899997 @ 1263141877.999998
gpsd: PPS cycle: 1000000, duration: 100003 @ 1263141878.100001
gpsd: PPS pulse rejected
De eerste regels tonen het resultaat van de model test routines van het gpsd programma. Het programma test verschillende baudrates en dataformaten om te bepalen welk GPS model verbonden is met de seriële poort. Na enkele seconden zien we PPS pulsen binnenkomen. De eerste pulsen worden verworpen omdat de cyclustijd en duur niet binnen de grenzen zijn waarbinnen gpsd verwacht dat ze moeten liggen. Maar dit probleem zou over moeten zijn nadat een paar pulsen zijn gedetecteerd.
Je zult waarschijnlijk de melding PPS pulse rejected zien op elke derde regel. Dit is geen fout, maar wordt veroorzaakt door de manier waarop gpsd werkt. Sommige GPS apparaten kunnen een positieve puls uitzenden en anderen een negatieve. Bovendien keert de RS232 ingangselektronica het signaal nog eens om vanwege ontwerp eigenschappen. Daarom detecteert gpsd zowel de opgaande als neergaande flank van de puls en na vergelijking met de computertijd wordt besloten welke moet worden weggegooid. Daarom wordt steeds één van de twee pulsflanken per seconde verworpen.
Wanneer de uitvoer lijkt op deze uitvoer kun je gpsd stoppen met Ctrl-C en het ntpd programma voorbereiden om synchronisatieinformatie te ontvangen van gpsd. Het configuratiebestand is /etc/ntp.conf op de meeste systemen. Een basis configuratie zou er als volgt uit moeten zien
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer
restrict -6 default kod nomodify notrap nopeer
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1
# Read the rough GPS time from device 127.127.28.0
# Read the accurate PPS time from device 127.127.28.1
server 127.127.28.0 minpoll 4 maxpoll 4
fudge 127.127.28.0 time1 0.535 refid GPS
server 127.127.28.1 minpoll 4 maxpoll 4 prefer
fudge 127.127.28.1 refid PPS
# Use servers from the ntp pool for the first synchronization,
# or as a backup if the GPS is disconnected
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org
# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift
statsdir /var/log/ntp/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys
In deze configuratie hebben we vier normale NTP servers die we genomen hebben van de NTP pool om de klok binnen een aantal milliseconden te brengen van de echte tijd. Dit werkt bovendien als een backup systeem, mochten er problemen zijn met de GPS klok.
De seriëel verkregen GPS tijd is beschikbaar via interface 127.127.28.0. Deze tijd is absoluut, en direct beschikbaar nadat het GPS apparaat is verbonden met de computer, maar door het seriële overdrachtsmechanisme om deze informatie in de computer te krijgen kan dit signaal met 50 msec of meer fluctueren. De waarde 0.535 is een correctieparameter die met de hand moet worden bijgesteld. Op mijn systeem geeft dit een ongeveer correcte tijd met een GPS ontvanger die is ingesteld om alle beschikbare NMEA zinnen te genereren over19200 bps. In een specifieke situatie kan het nodig zijn deze waarde te verhogen of te verlagen.
Zodra de PPS synchronisatie is bewerkstelligd door gpsd wordt de nauwkeurige tijd volgens dit signaal doorgegeven aan ntpd via de 127.127.28.1 interface. Dit is echter alleen het geval wanneer de computertijd de werkelijke tijd heeft benaderd binnen een grens van ongeveer 100 msec. Het ntpd programma zal dan overschakelen naar het PPS kloksignaal.
Testing van de configuratie
De configuratie kan getest worden met de volgende twee opdrachten
/etc/init.d/gpsd start
/etc/init.d/ntpd start
Dit start beide achtergrondprogramma’s. Wanneer er OK meldingen in het scherm verschijnen voor beide commando’s kan de tijd synchronisatie getest worden met
ntpq -p
Dit toont een lijst met de tijdbronnen die ntpd gebruikt om mee te synchroniseren. De eerste twee regels die beginnen met SHM zijn het belangrijkste omdat dit de GPS en PPS klokreferenties zijn. Na enige tijd (dit kan enkele minuten in beslag nemen tot enkele uren afhankelijk van de initiële instelling van de computerklok) moeten de regels lijken zoals hieronder. De waarden kunnen uiteraard wel verschillend zijn.
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+SHM(0) .GPS. 0 l 6 16 377 0.000 28.775 10.971
*SHM(1) .PPS. 0 l 5 16 377 0.000 -0.001 0.002
De eerste regel geeft aan dat de GPS klok een offset heeft van 28.775 msec met een variatie van 10.971 msec. Dit is de tijd die is verkregen van de GPS tijd die is verstuurd over de seriële verbinding. De tweede regel vertelt ons dat de computer tijd nu is gefixeerd op -1 microseconde van de PPS tijdbasis met een variatie van 2 microseconde.
Starten van de achtergrondprogramma’s als de computer start
Er moet voor gezorgd worden dat beide achtergrondprogrammas starten bij elke herstart van de computer. Bij de RedHat familie van Linux distributies kan dit met het commando chkconfig. Beide achtergrond programma’s worden gemarkeerd voor starten bij elke herstart met de commando’s
chkconfig --add ntpd
chkconfig --add gpsd
Dit zorgt ervoor dat de achtergrondprogrammas bij elke herstart opnieuw laden. Op andere Unix versies bestaan vergelijkbare commando’s.
GPS tijdsynchronisatie in de praktijk
Op dit moment werkt mijn publieke tijdserver ntp4.linocomm.net met deze synchronisatie. De actuele synchronisatie opgevraagd met het commando ntpq -p is hieronder te zien. De lijst wordt elke vijf minuten bijgerwerkt. Er valt te zien dat de klok loopt met slechts een paar microseconden verschil ten opzichte van het .PPS. kloksignaal dat beschikbaar is op het SHM(1) apparaat. .
Cleanliness is next to impossible.
O'REILLY'S LAW OF THE KITCHEN
|