In my previous post I reported a succesfull try wih LinuxPPS in conjunction with ntpd’s NMEA, ATOM and SHMPPS drivers. However, as far as I could ascertain, the PPS signal from the CIROCOMM G100/300 (I still have not heard anything from them..) can not be locked to the GPS signal due to the relatively large offsets and jitters.
I borrowed a Rockwell Jupiter unit, which Bas PE1JPD bought on a HAM-radio flea market a few years ago, to use it with his PDA and TomTom Navigator.
It seems that the Jupiter PPS signal is locked onto the GPS signal and the datasheet mentions that the rising edge of the TMARK pulse (i.e. PPS) is synchronized with the UTC one second epochs to within ± 1 μs. Other information states that the TMARK output is 10 - 40 ns accurate.
I interfaced the Jupiter using a 74HC00 to invert the TxD (mandatory) and PPS (not mandatory ; -).
Click on the image right to enlarge.
I placed the Jupiter into ‘Zodiac Binary Protocol mode’ (pin 7 HIGH and pin 8 GND, 9600 bps mode) first, and when I connected the receiver I could not see a GPS fix at all. I suspected the small patch antenna from Bas and remembered that I had an ‘official’ GPS antenna somewhere. To minimise errors, I placed the Jupiter into 4800 bps NMEA mode (pin 7 GND and pin 8 HIGH), and connected the GPS antenna to the Jupiter. Within a few minutes I could read the UTC time from the NMEA output. A few minutes later the receiver had a fix.
The relevant lines in my ntp.conf are:
#NMEA 4800 bps on ttyS0 (falling edge PPS, flag2 1)
server 127.127.20.0 minpoll 4 prefer
fudge 127.127.20.0 stratum 0 flag2 1 flag3 1 refid GPPS
#ATOM (falling edge, flag2 1 )
server 127.127.22.0 minpoll 4 maxpoll 4
fudge 127.127.22.0 flag2 1 flag3 1 stratum 0 refid PPS
After six hours:
remco@helium [/home/remco]> ntpq -p remote refid st t when poll reach delay offset jitter ======================================================================= +GPS_NMEA(0) .GPPS. 0 l 11 16 377 0.000 0.008 0.001 oPPS(0) .PPS. 0 l 10 16 377 0.000 0.006 0.002
I could not run ntpd with the Jupiter in ‘Zodiac mode’ because I receive errors in clockstats:
54513 26640.110 127.127.31.0 unknown message id 1003
54513 26640.310 127.127.31.0 pulse: jupiter_parse_t: Unknown gweek
54513 26640.874 127.127.31.0 gpos: Navigation solution not valid
54513 26640.982 127.127.31.0 unknown message id 1002
However, driver31 is not patched for LinuxPPS yet. Unfortunately I am more into hardware and did not succeed patching refclock_jupiter.c without gcc errors ; -(
You can monitor ntp.remco.org (helium) if you like : -)

2htooz89zh26tgzs