1132451Sroberto<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2132451Sroberto
3132451Sroberto<html>
4132451Sroberto
5280849Scy	<head>
6280849Scy		<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
7280849Scy		<title>TrueTime GPS/GOES/OMEGA/WWV Receivers</title>
8280849Scy		<link href="scripts/style.css" type="text/css" rel="stylesheet">
9280849Scy	</head>
10132451Sroberto
11280849Scy	<body>
12280849Scy		<h3>TrueTime GPS/GOES/OMEGA/WWV Receivers</h3>
13280849Scy		<hr>
14280849Scy		<h4>Synopsis</h4>
15280849Scy		Address: 127.127.5.<i>u</i><br>
16280849Scy		Reference ID: <tt>GPS, OMEGA, GOES, WWV</tt><br>
17280849Scy		Driver ID: <tt>TRUETIME</tt><br>
18280849Scy		Serial Port: <tt>/dev/true<i>u</i></tt>; 9600 baud, 8-bits, no parity<br>
19280849Scy		Features: <tt>tty_clk</tt>
20280849Scy		<h4>Description</h4>
21280849Scy		<p>This driver supports several models models of Kinemetrics/TrueTime timing receivers, including 468-DC MK III GOES Synchronized Clock, GPS- DC MK III and GPS/TM-TMD GPS Synchronized Clock, XL-DC (a 151-602-210, reported by the driver as a GPS/TM-TMD), GPS-800 TCU (an 805-957 with the RS232 Talker/Listener module), OM-DC OMEGA Synchronized Clock, the TL-3 WWV receiver, and very likely others in the same model families that use the same timecode formats.</p>
22280849Scy		<p>Most of this code is originally from refclock_wwvb.c with thanks. It has been so mangled that wwvb is not a recognizable ancestor.</p>
23280849Scy		<p>Timcode format: <tt>ADDD:HH:MM:SSQCL</tt><br>
24280849ScyA - control A (this is stripped before we see it) Q - Quality indication (see below) C - Carriage return L - Line feed</p><br>
25280849ScyQuality codes indicate possible error of:
26280849Scy		<dl>
27280849Scy			<dt>468-DC GOES Receiver<br>
28280849Scy				GPS-TM/TMD Receiver
29280849Scy			<dd>? +/- 500 milliseconds # +/- 50 milliseconds<br>
30280849Scy				* +/- 5 milliseconds . +/- 1 millisecond<br>
31280849Scy				space less than 1 millisecond
32280849Scy			<dt>OM-DC OMEGA Receiver:
33280849Scy			<dd>&gt; +/- 5 seconds<br>
34280849Scy				? +/- 500 milliseconds # +/- 50 milliseconds<br>
35280849Scy				* +/- 5 milliseconds . +/- 1 millisecond<br>
36280849Scy				A-H less than 1 millisecond. Character indicates which station is being received as follows<br>
37280849Scy				A = Norway, B = Liberia, C = Hawaii, D = North Dakota, E = La Reunion, F = Argentina, G = Australia, H = Japan<br>
38280849Scy				The carriage return start bit begins on 0 seconds and extends to 1 bit time.
39280849Scy                        <dt>TL-3 WWV Receiver:
40280849Scy                        <dd>? receiver is unlocked<br>
41280849Scy                        <dd>space +/- 5 milliseconds<br>
42280849Scy		</dl>
43280849Scy		<h4>Notes on 468-DC and OMEGA receiver:</h4>
44280849Scy		<p>Send the clock a <tt>R</tt> or <tt>C</tt> and once per second a timestamp will appear. Send a <tt>R</tt> to get the satellite position once (GOES only).</p>
45280849Scy		<h4>Notes on the 468-DC receiver:</h4>
46280849Scy		<p>Since the old east/west satellite locations are only historical, you can't set your clock propagation delay settings correctly and still use automatic mode. The manual says to use a compromise when setting the switches. This results in significant errors. The solution; use fudge time1 and time2 to incorporate corrections. If your clock is set for 50 and it should be 58 for using the west and 46 for using the east, use the line</p>
47280849Scy		<p><tt>fudge 127.127.5.0 time1 +0.008 time2 -0.004</tt></p>
48280849Scy		<p>This corrects the 4 milliseconds advance and 8 milliseconds retard needed. The software will ask the clock which satellite it sees.</p>
49280849Scy		<p>The PCL720 from PC Labs has an Intel 8253 look-alike, as well as a bunch of TTL input and output pins, all brought out to the back panel. If you wire a PPS signal (such as the TTL PPS coming out of a GOES or other Kinemetrics/Truetime clock) to the 8253's GATE0, and then also wire the 8253's OUT0 to the PCL720's INPUT3.BIT0, then we can read CTR0 to get the number of microseconds since the last PPS upward edge, mediated by reading OUT0 to find out if the counter has wrapped around (this happens if more than 65535us (65ms) elapses between the PPS event and our being called.)</p>
50280849Scy                <h4>Notes on the TL-3 receiver:</h4>
51280849Scy                <p>The mini-DIN RS-232 port uses the Apple pinout.<br>
52280849Scy                Send the clock ST1 to turn on continuous (1/sec) timecodes.
53280849ScyYou can also enable "mode C" via the front panel.  ST0 turns off this mode.<br>
54280849ScyQV will return the firmware revision (and is useful in identifying this clock.)<br>
55280849ScyQW will return its weekly signal log, useful if you're testing antennas.  You may wish to turn the loss interval down from 4h (04) to 1h (01), so the receiver declares itself unlocked sooner.  When in holdover, drift can be on the order of 10 ms/hr since there is no high quality reference oscillator.</p>
56280849Scy		<h4>Monitor Data</h4>
57280849Scy		<p>When enabled by the <tt>flag4</tt> fudge flag, every received timecode is written as-is to the <tt>clockstats</tt> file.</p>
58280849Scy		<h4>Fudge Factors</h4>
59280849Scy		<dl>
60280849Scy			<dt><tt>time1 <i>time</i></tt>
61280849Scy			<dd>Specifies the time offset calibration factor, in seconds and fraction, to be used for the West satellite, with default 0.0.
62280849Scy			<dt><tt>time2 <i>time</i></tt>
63280849Scy			<dd>. Specifies the time offset calibration factor, in seconds and fraction, to be used for the East satellite, with default 0.0.
64280849Scy			<dt><tt>stratum <i>number</i></tt>
65280849Scy			<dd>Specifies the driver stratum, in decimal from 0 to 15, with default 0.
66280849Scy			<dt><tt>refid <i>string</i></tt>
67280849Scy			<dd>Specifies the driver reference identifier, an ASCII string from one to four characters, with default <tt>TRUE</tt>.
68280849Scy			<dt><tt>flag1 0 | 1</tt>
69280849Scy			<dd>Silence the clock side of ntpd, just reading the clock without trying to write to it.
70280849Scy			<dt><tt>flag2 0 | 1</tt>
71280849Scy			<dd>Generate a debug file /tmp/true%d.
72280849Scy			<dt><tt>flag3 0 | 1</tt>
73280849Scy			<dd>Not used by this driver.
74280849Scy			<dt><tt>flag4 0 | 1</tt>
75280849Scy			<dd>Enable verbose <tt>clockstats</tt> recording if set.
76280849Scy		</dl>
77280849Scy		<h4>Additional Information</h4>
78280849Scy		<p><a href="../refclock.html">Reference Clock Drivers</a></p>
79280849Scy		<hr>
80280849Scy		<script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
81280849Scy	</body>
82132451Sroberto
83280849Scy</html>
84