87Rb Stratum 1 NTP Server – HARDWARE


First operative test of the RB Stratum  1 Server

Following  Poul-Henning Kamp  project  to modify a 4501 router to build a Stratum 1 NTP server , I’ve decided  to build my own using instead  a Rubidium Frequency standard source of 10 MHz to clock the Elan processor inside the Soekris.  It requires some hardware changes on the router and it  uses a custom version of NanoBSD inside 512 MB compact flash card. So i will start with  HARDWARE needing and then i’ll pass to the SOFTWARE  part , where you will find a complete copy of my nano-BSD kernel. The section will end with some performance test and some  possible future implementations on HW and SW.

So, Why we are using a Soekris 4501 for this project?

The Elan AMD SC520 CPU processor has a timekeeping capability and  with the substitution of its original X1 crystal , can accept a square wave of 33,333….  MHz  originating from 10 MHz sine-wave – in this case the Rubidium  Frequency Standard FE-5680A ( 10-^11 )  –  in conjunction with the FreeBSD API implementation for processing timestamps for external signal ( PPS API ) we can use  accurate chip timestamps with the 1PPS from GPS signal directly on the board’s GPIO pins,  to have an accuracy of +-100 nanoseconds , with peaks of  60 nanoseconds and ever less with good GPS signal.

  1.  Soekris 4501

20150308_172315    2. Garmin 18x LVC OEM  GPS receiver


    3.  FE-5680A Rubidium Frequency Standard


    4. TAPR Clock Block

clock block

OK. The first thing we’ll have to do is to replace the original Crystal (X1) on the Soekris 4501. The X1 provide clock for the processor while X2 provide Ethernet clock .


The TAPR Clock Block will serve to create the 33.333… MHz square wave from the original 10 MHz sine wave  Rubidium source, The good thing of this little device is that it’s   easy to manage. It accepts a reference input frequency in the range of 2 to 50 MHz and can generate output frequencies from 5MHz to 250 MHz. The bad thing is the phase noise  but for timing application like this one it’s not essential.

clock phaseYou  will have to program the Clock Block using on board switches. For a 10 MHz input, to have a square wave of 33.333… MHz  you can use V2, V3 as you see in the picture above.It’s important that before using it on the 4501 to test it with a frequency counter checking  that the output it’s correct : otherwise the clock will not be correct and you’ll have a  red error  led on the Soekris router.The Clock-Block requires an input voltage from 7 volts (5 volts when using 3.3 volt logic levels) to 20 volts DC. I’ve used the pin 16 VCC of the TI HC402OM inside the Clock Block  ( http://www.ti.com/lit/ds/symlink/sn54hc4020.pdf ) to connect the + line to the base of the 4501 power line INPUT.



The output frequency (33.333… MHz) wires from the clock block must be soldered to the X1 crystal base and the ground pin at JP3 . It’s better to use a 100 Ohm resistor to lower the voltage, since the ELAN CPU use 2.5 v logic :


For the Rubidium Frequency Standard i had the option to use the Efratom  M-100 and the commercial FE-5680A. I’ve selected this last one since it’s faster to lock than the M100 (3 minutes) and has a lower phase noise. With Claudio Re  few months ago , we’ve done a comparative test which you can find here :  http://air-radiorama.blogspot.it/2014/11/test-preliminare-efratom-m-100-e-fe.html and another one on my blog here : https://deltafabri.wordpress.com/2014/11/22/fe-5680a-and-gps-breakout-1pps-signal-experiments-with-ntp/. This is a  basic draw of  how it produces the 10 MHz output .



I’ve used the  Garmin GPS 18x LVC OEM that i found on internet. It comes without  power supply and no rs 232 or USB : instead there are all the wires you need (RX,TX GND,VC,1PPS) as output.Perfect.


YELLOW--------------> 1PPS
WHITE---------------> TX
GREEN---------------> RX
BLACK(2)------------> GND signal (thin) and GND voltage
RED-----------------> VC

Before connecting GPS cable it’s better to do some considerations. You can achieve better performances with FreeBSD and Soekris modifying the GPS standard configuration with a windows software , SNSRCFG . You can download from my server here or google to find it ( SNSRCFG ). You should select only $GPRMC sentences in NMEA and have a 1PPS output duration  of  200 ms . But while i’m writing i’m using it with its standard configuration out- of-the-box without problems. The Garmin 18x will accept power from GPIO pins of the Soekris (5v) , will transmit TX (white) information directly to the board and 1PPS too. For this last one, we should do another work to use the 1PPS in conjunction with the high resolution timer of the ELAN CPU .A  insulated   cable  should be welded from GPIO 0 which is pin 3 of the JP3 (see pictures below) to the junction of R61 and R62 (in turn connected to the TMR1IN pin of the processor, grid number AA24, but unreachable as it is underneath the Elan chip carrier).





 HW hack it’s over, we’ll see in the next part , SOFTWARE : how to build a custom kernel with nano-BSD under FreeBSD and put into a 512 MB flash card, its configuration files   and i’ll upload  a copy of the kernel to use.

2 thoughts on “87Rb Stratum 1 NTP Server – HARDWARE

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s