Don't know how good they are, but there are two functions in the
kernel32 lib in windows that are related to a cpu performance counter,
QueryPerformanceCounter and QueryPerformanceFrequency. (Maybe Linux has
Anyway, on most systems the frequency reported is the raw cpu clock.
(Couple of Ghz Range numbers, My current system is reporting 3,320,458
Hz, windows7.) Supposedly these are low latency functions. It may not
offer a perfect solution, but at least it gives you 'low latency' access
to a high speed counter.
Maybe it's possible to timestamp incoming PPS pulses with this (assuming
they're triggering an interrupt), and learn something neat.
Some of this is subject to change with windows versions:
On 4/10/2018 8:01 AM, time-nuts-requ...@febo.com wrote:
The kernel clock comes from the CPU clock. That CPU clock is phase locked to
a crystal. If you have a CPU that is driven by a VCXO that is a*very*
unusual CPU board. The crystal runs at an arbitrary frequency. That gives
you edges that are unlikely to happen ���right on the second���.
I was assuming the CPU clock was fast enough that reading a cycle-count
register and converting to ns would be within a ns which is the resolution of
That's obviously not true for low end SOC type setups. A Pi-1 runs at 700
MHz. The Pi 3 is up to 1.4 GHz.
time-nuts mailing list -- email@example.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.