Re: [chrony-users] GPS / Chrony NTP server config questions |
[ Thread Index |
Date Index
| More chrony.tuxfamily.org/chrony-users Archives
]
On Thu, Nov 16, 2017 at 01:40:12PM -0800, Bill Unruh wrote:
> On Thu, 16 Nov 2017, Rob Janssen wrote:
> > For really accurate PPS handling one would want a dedicated PCI-E card
> > with a clock oscillator and a counter,
> > latched in a register on PPS edge, and issuing the interrupt. The
> > driver would then read the latched counter
> > value and the current counter value on interrupt. The interrupt
> > response time becomes irrelevant because the
> > actual timestamp has been latched by the hardware. I think some
> > Meinberg products use this method.
>
> Certainly, but that is another expense which is really beyond the chrony/ntpd
> level. Of course one then has to relate that timestamp on the card to the
> computer's system time, and take into account that card counter's changes in
> drift etc. Ie, one have two clocks not to discipline-- the onboard counter and
> the system clock. Not that that is that difficult but it is an added
> complexity.
This is already supported in chrony with the option enabling external
PPS timestamping in the PHC driver. For instance, the Intel I210 card
has software defined pins (SDP), which can be used to accurately
timestamp a PPS signal.
In chrony.conf it can be specified like this:
refclock PHC /dev/ptp0:extpps:pin=1 width 0.2 poll 2 refid GPS
The accuracy of the system clock is then limited by the asymmetry of
the PCI-E bus, which is apparently in the order of hundreds of
nanoseconds. If the same card is used for timestamping the PPS and NTP
packets, this asymmetry will cancel out for NTP clients. This way, you
can build an NTP server which probably beats any commercial solution
currently available on the market in both accuracy and price. The
clients just need to support the interleaved mode.
--
Miroslav Lichvar
--
To unsubscribe email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "unsubscribe" in the subject.
For help email chrony-users-request@xxxxxxxxxxxxxxxxxxxx
with "help" in the subject.
Trouble? Email listmaster@xxxxxxxxxxxxxxxxxxxx.