488 private links
nexpensive, compact GPS unit for highly accurate serial PPS time.
Reviewed in the United States on July 2, 2012
I have the Garmin 18x LVC GPS attached to a serial card installed in a Debian Linux 'Squeeze' box (which was configured using the Setserial, GPSD, and NTP packages).
USB based GPS units are useless for accurately setting the time.
The 18x LVC GPS unit requires 5 volts of power (red wire), and for this I use a specific serial card, the StarTech.com 1 Port PCI RS232 Powered Serial Adapter Card (PCI1S650PW). The card can be configured to supply either 5 or 12 volts (or none) on pin 9 of the RS-232 DB-9 connector, and can draw power either from the PCI bus itself or from the PC power supply directly via the onboard Molex floppy power connector. (I used the latter option). Once the jumpers had been set and the card installed no drivers were required for Debian, Setserial recognizing the card as having a 16550A UART with a baud base of 921600.
The GPS unit itself is mounted externally on the chimney, as the GPS satellite signals are fairly weak, so installing outside is the best option as the GPS itself is weatherproof. For me, this location gives the GPS a clear view of the sky, but the 5 meter (16 feet) cable would not be long enough to reach the computer inside the house, so I replaced almost all of the original serial cable (which is molded onto the 18x LVC). The wires (especially the three signal wires, which includes the PPS) are also VERY thin. So, I cut the original cable close to the GPS unit itself and extended it with my own cable which runs all the way back to the computer and is terminated with a serial DB-9 connector. If you do this, remember to use a shielded cable. There are basically five wires needed for the serial connection: Measurement pulse output (PPS) from the GPS is yellow -> pin 1 (DCD) on the DB-9, transmit is white -> pin 2 (RXD), receive is green -> pin 3 (TXD), ground is black -> pin 5 (GND), and power is red -> pin 9. For the replacement I used a shielded CAT 6 cable and joined each of the pairs together at both ends and used these to give me four of the connections: PPS, transmit, receive, and power (90 mA). I then connected all of the black wires together at the GPS end of the cable and used the drain wire as the ground, connecting it to pin 5 on the DB-9 at the other end. For mounting there is a metric (M3) threaded brass recess on the underside of the 18x LVC.
I also have the StarTech.com PEX1S553LP 1 Port Low Profile Native RS232 PCI Express Serial Card with 16550 UART card installed in a Windows 7 PC which is only used to run firmware updates, etc. on the GPS when needed (as these cannot be performed under Linux). My 18x LVC is updated to version 3.80 (26th March, 2012). For what it's worth, my time1 setting in ntp.conf is 0.035. This gives me the lowest offset and jitter for PPS.
Works like a charm, with extremely low latency PPS time (accurate to a few microseconds).