[LinuxPPS] So far, so good
Hal V. Engel
hvengel at gmail.com
Mon Aug 9 16:57:34 CEST 2010
On Sunday 08 August 2010 11:54:58 pm Paul wrote:
> As the title suggests I am making encouraging progress with my Oncore
> synchronised server. However I have a couple of questions.
>
> 1. I am using the 'site survey' mode as I do not know my accurate
> position. I gather that greater accuracy is obtained by setting the site
> position. Does the oncore output somewhere where it thinks it is? I
> can't find it in the logs, but of course I may not be understanding what
> I see.
I like to have my antenna position hard coded in the config file. What I do for
my site survey is to use WinOncore12. This is a Windows executable that
originally came from Motorola that was intended for OnCore users and
developers. It is getting hard to find but I think you should be able to find
it on the net some where. It will run without problems using wine and it has
built in site survey functionality. Do the survey at night to get the most
accurate results. If I do my site surveys at night I typically see a standard
deviation in the position reading of about 1.5 meters horizontally and 2
meters vertically which. The survey takes about 3 hours to run. AFter doing
this in WinOncore12 use the resulting averaged position to update your oncore
config file. Then a restart will take about 1 minute to start giving accurate
time output.
>
> 2. I see frequent reference to nanosecond accuracy. How are you
> measuring this? Do you need a special kernel, or a vanilla kernel with
> different compiled options, or even non-standard hardware?
Recent kernels do support nano second time keeping. But there are things that
prevent this from being realized.
1. Most existing counters are more granular with resolutions in the 5 to 1000
nano second range. On my machine I am using a 25MHz HPET counter which means
the resolution of the counter is about 40 nano seconds. Some AMD64 machines
will have an invariant TSC which will typically have a resolution of about 5
nano seconds (200 MHz) but some motherboards may allow you to set this to the
bus speed (200 MHz) times the base multiplier (typically 4) which will result
in a resolution of 1.2 nano seconds. Any offsets reported by NTP that are
lower than the resolution of your counter are meaningless other than to
indicate that things are very stable.
2. Interrupt handler latency is very difficult to measure and it would require
some very expensive equipment. In addition the interrupt handler latency is
variable because of things like variations in how loaded the machine is among
other things. This variability is probably on the order of several hundred
nano seconds to several microseconds. NTP uses various filters to deal with
this but there are limits to how much it can do.
The bottom line is that users reporting offsets of less than 1 microsecond are
doing so as a way of indicating how stable the timekeeping on their machine is
but it is not indicative of the actual accuracy of the systems clock since
most users will have no accurate way to measure and then compensate for
various latencies in the PPS system and those latencies are typically several
hundred or more nano seconds.
Hal
More information about the LinuxPPS
mailing list