Spectracom 8170 and Netclock/2 WWVB Receivers


Synopsis

Address: 127.127.4.u
Reference ID: WWVB
Driver ID: WWVB-SPEC
Serial Port: /dev/wwvbu; 9600 baud, 8-bits, no parity
Features: tty_clk

Description

This driver supports the Spectracom Model 8170 and Netclock/2 WWVB Synchronized Clock. This clock has proven a reliable source of time, except in some cases of high ambient conductive RF interference. The claimed accuracy of the clock is 100 usec relative to the broadcast signal; however, in most cases the actual accuracy is limited by the precision of the timecode and the latencies of the serial interface and operating system.

The DIPswitches on this clock should be set to 24-hour display, AUTO DST off, time zone 0 (UTC), data format 0 or 2 (see below) and baud rate 9600. If this clock is to used as the source for the IRIG Audio Decoder (refclock_irig.c in this distribution), set the DIPswitches for AM IRIG output and IRIG format 1 (IRIG B with signature control).

There are two timecode formats used by these clocks. Format 0, which is available with both the Netclock/2 and 8170, and format 2, which is available only with the Netclock/2 and specially modified 8170. Format 0 (22 ASCII printing characters):

<cr><lf>i  ddd hh:mm:ss  TZ=zz<cr><lf>

on-time = first <cr>
hh:mm:ss = hours, minutes, seconds
i = synchronization flag (' ' = in synch, '?' = out synch)

The alarm condition is indicated by other than ' ' at i, which occurs during initial synchronization and when received signal is lost for about ten hours.

Format 2 (24 ASCII printing characters):

<cr><lf>iqyy ddd hh:mm:ss.fff ld

on-time = <cr>
i = synchronization flag (' ' = in synch, '?' = out synch)
q = quality indicator (' ' = locked, 'A'...'D' = unlocked)
yy = year (as broadcast)
ddd = day of year
hh:mm:ss.fff = hours, minutes, seconds, milliseconds

The alarm condition is indicated by other than ' ' at i, which occurs during initial synchronization and when received signal is lost for about ten hours. The unlock condition is indicated by other than ' ' at q.

The q is normally ' ' when the time error is less than 1 ms and a character in the set A...D when the time error is less than 10, 100, 500 and greater than 500 ms respectively. The l is normally ' ', but is set to L early in the month of an upcoming UTC leap second and reset to ' ' on the first day of the following month. The d is set to S for standard time S, I on the day preceding a switch to daylight time, D for daylight time and O on the day preceding a switch to standard time. The start bit of the first <cr> is synchronized to the indicated time as returned.

This driver does not need to be told which format is in use - it figures out which one from the length of the message. A three-stage median filter is used to reduce jitter and provide a dispersion measure. The driver makes no attempt to correct for the intrinsic jitter of the radio itself, which is a known problem with the older radios.

Monitor Data

When enabled by the flag4 fudge flag, every received timecode is written as-is to the clockstats file. In addition, a table of quality data maintained internally by the Netclock/2 is retrieved and written to the clockstats file when the first timecode message of a new day is received.

Fudge Factors

time1 time
Specifies the time offset calibration factor, in seconds and fraction, with default 0.0.

time2 time
Not used by this driver.

stratum number
Specifies the driver stratum, in decimal from 0 to 15, with default 0.

refid string
Specifies the driver reference identifier, an ASCII string from one to four characters, with default WWVB.

flag1 0 | 1
Not used by this driver.

flag2 0 | 1
Not used by this driver.

flag3 0 | 1
Not used by this driver.

flag4 0 | 1
Enable clockstats recording if set.

David L. Mills (mills@udel.edu)