On 21 Nov, 2012, at 10:34 , Michael Tharp <[email protected]> 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 _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
