[LinuxPPS] Recommendation / Re: Stats & architectures

clemens at dwf.com clemens at dwf.com
Fri Mar 14 00:44:06 CET 2008


> > I believe that the Ulrich Windl patches included nanosecond precision while
> > LinuxPPS is at the microsecond level.
> >
> > Is it possible to implement this nanosecond precision in conjunction
> > with LinuxPPS?
> 
> You need to think about what nanosecond precision implies:
> 1. An ultra-stable clock with less than 1 part-per-billion drift and
> accuracy also less than 1ppb.  General computer hardware does
> not have this; the clocks used for timekeeping are often only
> 1MHz and the drift with temperature, ageing, etc is well beyond the
> 1ppb spec.  Many CPUs have high-speed counters which can be
> 'disciplined'; NTPD essentially tries to discipline a clock which might
> only have 100usec precision.
> 
> 2. A GPS which has a PPS signal synchronized to within 1ppb or at
> least an extremely stable signal propagation delay - many
> manufacturers claim their GPS has <1nsec sync delay, but it's
> impossible for most people to test this claim.
> 
> 3. A computer that can respond to the interrupt signal in less that 1nsec,
> or with a delay time which varies less than 1nsec.  When your computer
> is doing other jobs as well, you can forget about this unless you have a
> real-time kernel patch that ensures this latency for your GPS channel.
> 
> 4. Things depend a bit on the actual hardware setup.  For example,
> I have a GPS in an embedded device and some logic gates introduce a
> propagation delay of ~20nsec, but the interrupt is actually triggered by
> the falling edge of the PPS signal; the PPS signal is ~4usec wide, but
> the accuracy of the pulse width is unspecified so we can easily assume
> 10% or 400nsec.  In this example, an approximation of my propagation
> delay (GPS only, computer isn't involved yet) would be 4020+/-400nsec.
> With that sort of figure, the propagation delay caused by the extra gates
> becomes insignificant.  The computer side of things is far messier.
> 
> This can all be done and I'd be surprised if no one has done it, but
> it is an awful lot of work (==$$$).  You need to ask yourself what time accuracy
> and precision you need for your job, and do you need absolute time or
> just a precise interval counter?
> 

Everything you say is true, but I think you are overreacting.
The desire is NOT to have perfect 1ns accuracy, but rather to have 
FRACTIONAL us accuracy.

With the previous PPS implementation, my machines would sync to
where things only changed in the hundreds of ns place, sometimes better.
With the us accuracy of the current Linux that fine of a correction can
not be applied, and things move back and forth several us.
-- 
                                        Reg.Clemens
                                        reg at dwf.com





More information about the LinuxPPS mailing list