The PPS signal is extremely useful in accurate timekeeping because the keeping of accurate time using a GPS requires two parts.
-
is the data stream - however its delivered (via ascii, or a binary format) which will typically keep repeating the current time …(for example, the various NMEA sentence formats) BUT THE TIMING THOSE SENTENCES ARE DELIVERED IN IS UNRELIABLE. (So, you usually dont know when the second changes with any precision.)
-
is the PPS signal which is typically delivered ONLY when the GPS has a high quality fix. But it does not tell you the time AT ALL ; however it does tell you the instant the time changes, which it is next to impossible to get with regularity from the other stream. (or over USB, because USB’s timing changes)
If you have a USB-connected GPS, for that reason, its difficult to impossible, to get a stratum 1 quality time signal from one (which is the whole point, otherwise, just use the net servers) unless you can access the 1PPS pulse.
(Or set up a system based on receiving WWV - which is also pretty easy, just connect the receiver to your sound card to receive the time signals and get the mixer level adjusted correctly. That can be done to test the accuracy of any GPS-based clock you build.)
Any USB-based solution is going to have more jitter than is ideal at best, (45 msec) or be almost as bad as the on board local clock, far worse than a net supplied stratum 2 or 3 server…
The jitter using a stratum 1 time server over the net varies, but it can often be better than that, depending on latency in the intervening hardware “bufferbloat”
So, having a super accurate clock can be super useful in seeing the effects different hardware have on net traffic.
USB can work, it may be more stable than a net connected stratum 1 server under some conditions… but all bets are off if the USB is connected through a hub or the machine is loaded.
So for most people its not so great - its discouraged, even though its possible.
You can supply the 1PPS to a computer via the DCD pin in RS-232 or the parallel port or probably other methods. The 1PPS doesn’t need to accompany the NMEA datastream on the same port. (there is no way to do that accurately with USB)
Almost anything is better than USB.
This is turning out to be a lot more interesting than I had thought it would be.
Here are some resources on time server issues:
http://groups.google.com/group/comp.protocols.time.ntp/
http://www.ntp.org/
http://support.ntp.org/bin/view/Support/ConfiguringNTP
http://support.ntp.org/bin/view/Support … gRefclocks
http://lists.berlios.de/pipermail/gpsd-dev/
http://chrony.tuxfamily.org/
http://www.satsignal.eu/ntp/NTP-on-Wind … -port.html
http://linlog.blogspot.com/2009/07/sync … pspps.html
http://research.microsoft.com/en-us/um/ … ime-clocks
The reason I have all these links handy is because I came here looking for help with a related project. I am going to try bypass the USB by connecting directly to the PPS on a cheap USB doggle I just bought for $18 that turns out to have a quite sensitive receiver… a skytraq venus 524c.
But I need to find the PPS pin first. If the pins are the same on the 524c as they are on the 521, I’m okay, but thats a big risk… I’d rather know for sure. The board is very small and the connections are tiny. It combines the GPS chip and an active antenna. It’s the same size of - it looks like a USB flash drive.
If anybody knows the answer, let me know in the follow up to the post I’m about to make (I’ll post about it separately.)