This was posted by lu...@fridolin.com on the NTP hackers list, just in
case you missed it.
I've been writing a reference driver for u-blox GPS receivers as part
of my master's thesis and thought ntp hackers might be interested in it.
Additionally to normal PPS operation this driver can make use of the
u-blox's "Timemark" functionality.
It does this by enabling the PPSAPI echo, which generates an echo pulse
right after receiving a PPS pulse. This echo is connected to EXTINT0 on
the u-blox, where it is timestamped. So now I have the PPS timestamp as
a local time and the timemark as the receiver time to calculate an
offset. The cool thing about this is, that the offset does not include
the local interrupt latency anymore, which leads to less jitter.
Here's the driver:
The echo/timemark feature requires kernel patches on Linux (with gpio
pins) and FreeBSD (parallel port). It's probably easiest to test on a
Raspberry Pi with the Linux patch and via GPIO pins.
Linux patch: https://gitlab.cs.fau.de/snippets/28
FreeBSD patch: https://gitlab.cs.fau.de/snippets/29
I originally tried to send this message some time ago but it seems like
there were some problems with the mailing list. By now the thesis is
finished and you can find it here:
questions mailing list