[ntp:questions] Stratum 0 refclocks and PPS

Dave Hart hart at ntp.org
Wed May 9 01:58:28 UTC 2012

On Wed, May 9, 2012 at 1:39 AM, Mike S <mikes at flatsurface.com> wrote:
> On 5/8/2012 9:07 PM, Dave Hart wrote:
>> I'm not familiar with the elan-mmcr driver.  From your description it
>> appears you have a single hardware PPS signal which is exposed to
>> software via two different means (perhaps because it's connected to
>> both a RS-232 input pin and another PPS input?).
> The Soekris NET4501 has a high precision (125 ns?) hardware timer. The
> elan-mmcr PPS driver was written by Poul Henning-Kemp (I think) to take
> advantage of that. PPS starts the timer, then when the interrupt is handled,
> does some math to remove the interrupt latency from the PPS timestamp. The
> PPS signal also goes to the serial port DCD, which is what the Oncore works
> with, so yes, PPS is available in two places.

The Oncore driver should use the system-provided PPSAPI with whichever
device you point oncore.pps.0 to.  Again I would focus on getting that
configuration working, rather than trying to bodge something using the
ATOM driver with one PPS device and Oncore with a different one, both
handling the same signal.

> The one difference I've noticed is that the regular (DCD) PPS does both
> asserts and clears. The elan-mmcr only signals asserts. That works fine with
> the Atom driver, but it seems the Oncore driver has a problem with it (just
> guessing that may be the cause).

The driver30.html page documenting the Oncore driver suggests
otherwise.  It says the PPS must capture assert timestamps, and if PPS
offset is configured, must allow offsetting of the PPS from the top of
second (assert offset).  I assume your oncore configuration file isn't
requesting offset of the PPS.  In that case, its use of PPSAPI should
be comparable to the ATOM driver's default -- using the assert edge as
the on-time event at top of each second.  Since this is apparently not
working as well for you with the Oncore driver as with ATOM, I would
like to understand if the Oncore driver has a defect that should be
corrected.  I'm not particularly interested in exploring workaround
configurations involving enabling two PPS-providing drivers and trying
to ignore the inferior PPS timestamps from one of them.

Dave Hart

More information about the questions mailing list