[time-nuts] eBay Ublox

Dennis Ferguson dennis.c.ferguson at gmail.com
Thu Nov 22 01:42:59 UTC 2012


On 21 Nov, 2012, at 10:34 , Michael Tharp <gxti at partiallystapled.com> wrote:
> With respect to interrupt latency, the PPS driver is the best you're going to get without a custom add-in card that provides input capture (timestamping). I considered going that route but making PCI or PCI-e cards essentially means using FPGAs which are expensive and fussy, and sort of overkill. A I2C or SPI based card for use with Raspberry Pi or other single-board computers is also a possibility.

I did a prototype PCI-X card like that some years ago.  It
was expensive but worked pretty well; the high-speed part
of the FPGA ran at 320 MHz, so timestamps were taken with a
resolution of just over 3 ns.  Having a card plugged into
your computer which knows what time it is to within 3 ns,
but which is on the far side of a bus across which a single
PIO read takes 80 ns to complete, is of limited direct use
to the computer itself, however, so the hardest part of the
design involved minimizing the uncertainty of the time
transfer from the card's clock to the computer's system clock.

I'm not quite sure that it always requires custom hardware
to get a few 10's of nanoseconds precision for PPS sampling,
though.  Some off-the-shelf hardware may also work for this.
In particular the on-chip clock peripherals included in the
TI CPU used for the BeagleBone board have hardware
timestamp-capture inputs (the TIMER4-7 i/o pins on one of the
cape connectors) which seem to do the right thing.  That,
plus the fact that the TI chip also has an onboard Ethernet
mac core (as opposed to the USB Ethernet device the Raspberry
PI uses) is making me think that that the BeagleBone might
be a bit better base on which to build a good NTP server
than the RPI is.

Dennis Ferguson


More information about the time-nuts mailing list