[LinuxPPS] gpio-pps synchronisation -> discarded by intersection algorithm
Thomas Smits
ts.smits at gmail.com
Mon Jan 9 18:52:07 CET 2012
Hi,
I tried to get our omap eval-board synchronised via pps signal from a
single GPS receiver.
I'm using NMEA and PPS-atom driver (PPS output from GPS receiver
connected to GPIO via level shifter).
NTP starts selecting GPS NMEA driver and PPS for synchronisation, but
I get "discarded by intersection algorithm" quite soon.
Then both sources are discarded.
remote refid st t when poll reach delay offset jitter
==============================================================================
xGPS_NMEA(0) .GPS. 0 l 16 16 377 0.000 7.888 5.425
xPPS(0) .PPS. 0 l 15 16 377 0.000 347.025 1.741
I tried out adding some offset values to the config for time1 at the
PPS source but didn't succeed really.
Is there a description on how to best compensate the offsets?
What triggered me is the high jitter reported for the PPS source. I
checked with the scope, HW-PPS jitter is less than 1 us.
For the capture of the signal a jitter of about 30us is reported
(dmesg and ppstest) which is in the range I expected
- I didn't fine-tune IRQ priority (yet), but that doesn't explain
jitter in the order of several ms.
Any hints?
(Some more details below)
Thanks,
Thomas
config:
>>>>>>>>>>>>>>
server 127.127.20.0 mode 17 minpoll 4 maxpoll 4 prefer
server 127.127.22.0 mode 1 minpoll 4 prefer
fudge 127.127.22.0 flag3 1 flag2 0 refid NMEA
tos minsane 0
<<<<<<<<<<<<<<
* target: omap3530 evalboard
* kernel: v2.6.32_OMAPPSP_03.00.01.06 (+ patches (including hardpps
and gpio client driver)
* PPS connected to gpio
* GPIO/IRQ registered at board file
* GPS receiver fastraxx IT520 (configured to RMC only, rate 1Hz, 9600
baud, PPS active )
I can see the PPS pulses being captured:
./ppstest /dev/pps0 trying PPS source "/dev/pps0"
found PPS source "/dev/pps0"
ok, found 1 source(s), now start fetching data...
source 0 - assert 1325872032.655478909, sequence: 14120 - clear
0.000000000, sequence: 0
source 0 - assert 1325872033.655435615, sequence: 14121 - clear
0.000000000, sequence: 0
source 0 - assert 1325872034.655422838, sequence: 14122 - clear
0.000000000, sequence: 0
source 0 - assert 1325872035.655410053, sequence: 14123 - clear
0.000000000, sequence: 0
source 0 - assert 1325872036.655366749, sequence: 14124 - clear
0.000000000, sequence: 0
source 0 - assert 1325872037.655353957, sequence: 14125 - clear
0.000000000, sequence: 0
source 0 - assert 1325872038.655310645, sequence: 14126 - clear
0.000000000, sequence: 0
source 0 - assert 1325872039.655297845, sequence: 14127 - clear
0.000000000, sequence: 0
source 0 - assert 1325872040.655285044, sequence: 14128 - clear
0.000000000, sequence: 0
/usr/sbin/ntpdc -c sysinfo
2012-01-06 17:55:34
system peer: 0.0.0.0
system peer mode: unspec
leap indicator: 00
stratum: 1
precision: -15
root distance: 0.00000 s
root dispersion: 0.02640 s
reference ID: [GPS]
reference time: d2b1b0fe.9497611e Fri, Jan 6 2012 17:42:22.580
system flags: auth monitor ntp kernel stats pps
jitter: 0.009781 s
stability: 0.000 ppm
broadcastdelay: 0.000000 s
authdelay: 0.000000 s
More information about the LinuxPPS
mailing list