NetBSD/usr.sbin/xntp/html/driver4.html

134 lines
4.8 KiB
HTML

<!-- $NetBSD: driver4.html,v 1.1 1998/12/30 20:20:34 mcr Exp $ -->
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN">
<html><head><title>
Spectracom 8170 and Netclock/2 WWVB Receivers
</title></head><body><h3>
Spectracom 8170 and Netclock/2 WWVB Receivers
</h3><hr>
<p><h4>Synopsis</h4>
<p>Address: 127.127.4.<var>u</var>
<br>Reference ID: WWVB
<br>Driver ID: WWVB-SPEC
<br>Serial Port: <code>/dev/wwvb<var>u</var></code>; 9600 baud, 8-bits,
no parity
<br>Features: <code>tty_clk</code>
<p><h4>Description</h4>
<p>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.
<p>The DIPswitches on this clock should be set to 24-hour display, AUTO
DST off, 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).
<p>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.
<p>Format 0 (22 ASCII printing characters):
<pre>
&lt;cr&gt;&lt;lf&gt;i ddd hh:mm:ss TZ=zz&lt;cr&gt;&lt;lf&gt;
on-time = first &lt;cr&gt;
i = synchronization flag (' ' = in synch, '?' = out synch)
hh:mm:ss = hours, minutes, seconds
</pre>
<p>The alarm condition is indicated by other than ' ' at <code>i</code>,
which occurs during initial synchronization and when received signal is
lost for about ten hours.
<p>Format 2 (24 ASCII printing characters):
<pre>
&lt;cr&gt;&lt;lf&gt;iqyy ddd hh:mm:ss.fff ld
on-time = &lt;cr&gt;
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
</pre>
<p>The alarm condition is indicated by other than ' ' at <code>i</code>,
which occurs during initial synchronization and when received signal is
lost for about ten hours. The unlock condition is indicated by other
than ' ' at <code>q</code>.
<p>The <code>q</code> is normally ' ' when the time error is less than 1
ms and a character in the set <code>A...D</code> when the time error is
less than 10, 100, 500 and greater than 500 ms respectively. The
<code>l</code> is normally ' ', but is set to <code>L</code> early in
the month of an upcoming UTC leap second and reset to ' ' on the first
day of the following month. The <code>d</code> is set to <code>S</code>
for standard time <code>S</code>, <code>I</code> on the day preceding a
switch to daylight time, <code>D</code> for daylight time and
<code>O</code> on the day preceding a switch to standard time. The start
bit of the first &lt;cr&gt; is synchronized to the indicated time as
returned.
<p>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.
<p><h4>Monitor Data</h4>
<p>The driver writes each timecode as received to the
<code>clockstats</code> file. When enabled by the <code>flag4</code>
fudge flag, a table of quality data maintained internally by the
Netclock/2 is retrieved and written to the <code>clockstats</code> file
when the first timecode message of a new day is received.
<p><h4>Fudge Factors</h4>
<dl>
<dt><code>time1 <i>time</i></code>
<dd>Specifies the time offset calibration factor, in seconds and
fraction, with default 0.0. For a calibrated Sun IPC, the correct value
is about .0048.
<p><dt><code>time2 <i>time</i></code>
<dd>Not used by this driver.
<p><dt><code>stratum <i>number</i></code>
<dd>Specifies the driver stratum, in decimal from 0 to 15, with default
0.
<p><dt><code>refid <i>string</i></code>
<dd>Specifies the driver reference identifier, an ASCII string from one
to four characters, with default <code>WWVB</code>.
<p><dt><code>flag1 0 | 1</code>
<dd>Not used by this driver.
<p><dt><code>flag2 0 | 1</code>
<dd>Not used by this driver.
<p><dt><code>flag3 0 | 1</code>
<dd>Enable <code>ppsclock</code> line discipline/streams module if set.
<p><dt><code>flag4 0 | 1</code>
<dd>Enable extended <code>clockstats</code> recording if set.
</dl>
<p>Additional Information
<p><a href="refclock.html"> Reference Clock Drivers</a>
<hr><address>David L. Mills (mills@udel.edu)</address></body></html>