[time-nuts] looking for low-power system for gps ntp timekeeping
Dennis Ferguson
dennis.c.ferguson at gmail.com
Sun Jun 30 20:43:40 UTC 2013
On 30 Jun, 2013, at 08:50 , David J Taylor <david-taylor at blueyonder.co.uk> wrote:
> From: Attila Kinali
> []
> Oh.. and if you want to go the linux way and use a Raspberry Pi.. just dont!
> Use a Beaglebone black instead. It uses less power and is easier to deal with.
> Not to mention that you dont have all those USB related problems.
> []
> Attila Kinali
> ===========================================
>
> I've built three Raspberry Pi stratum-1 NTP servers:
>
> http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html
>
> one of which has both a Wi-Fi dongle and a DVB TV receiver stick attached, and on none of these have I seen any USB problems. I'm using a 5.25 V 2A power supply from ModMyPi.com. You can view the timekeeping accuracy here:
>
> http://www.satsignal.eu/mrtg/performance_ntp.php
You aren't necessarily showing the part where the Raspberry Pi is a bit
weak, though. How well do clients which receive their time via the
USB ethernet interface do?
The Beaglebone Black has about three advantages going for it in this
application:
- The ARM CPU is about twice as fast as the Raspberry Pi's for about
the same power consumption (I'm not sure this is a particular advantage
for NTP, however, so I won't count it).
- The Ethernet MAC core is built into the SOIC, and tightly coupled to it,
so packet traffic doesn't have to sit waiting for the USB scheduler to
get around to doing something with it.
- The Ethernet MAC core also provides fairly good, complete IEEE1588
support. This is not of direct use to NTP but does provide a way to
calibrate the software timestamps which NTP produces and consumes to
better match when the packets arrive from and are transmitted by the actual
hardware. I.e. you can measure the typical difference between hardware
and software inbound timestamps (measuring interrupt latency), and hardware
and software outbound timestamps (measuring the processing time spent in the
outbound network stack) for PTP UDP packets, and then use these results
to improve the symmetry of software timestamps for NTP UDP packets. There
is no way I know of to measure this without the IEEE 1588 support (and the
outbound number in particular is often big enough to deserve correction).
- The TI SOIC also has a hardware timestamp capture peripheral (look for
eCap in the documentation) which can capture PPS edge times with
single-digit-nanosecond accuracy. That's a couple of orders of magnitude
better than interrupt sampling and eliminates the jitter of the latter
measurements.
For a $5-$10 difference in price for the board I think these are worth it.
The RPI makes a fine, low-power replacement for Intel hardware for this,
but the Beaglebone Black has the raw material to do significantly better at
this than either of them. The only problem with the Beaglebone is that it
is not as popular as the Raspberry Pi, so making use of the former is going
to require one to do more work on one's own to take advantage of it.
Dennis Ferguson
More information about the Time-nuts_lists.febo.com
mailing list