Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / ntp / html / driver30.htm
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <HTML>
3 <HEAD>
4    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-
5 1">
6    <META NAME="GENERATOR" CONTENT="Mozilla/4.06 [en] (X11; I; FreeBSD
7 3.0-CURRENT i386) [Netscape]">
8    <TITLE>Motorola Oncore GPS Receiver
9 </TITLE>
10 </HEAD>
11 <BODY>
12
13 <H3>
14 Motorola Oncore GPS receiver</H3>
15
16 <HR>
17 <H4>
18 Synopsis</H4>
19
20 Address: 127.127.30.<i>u</i><BR>
21 Reference ID: <TT>GPS</TT><BR>
22 Driver ID: ONCORE<BR>
23 Serial Port: <TT>/dev/oncore.serial.</TT><i>u</i>; &nbsp;9600 baud, 8-bits,
24 no parity.<BR>
25 PPS Port: <TT>/dev/oncore.pps.</TT><i>u</i>;&nbsp; <TT>PPS_CAPTUREASSERT</TT>
26 required,&nbsp; <TT>PPS_OFFSETASSERT</TT> supported.<BR>
27 Configuration File: <TT>/etc/ntp.oncore<TT><i>u</i> or,
28 <TT>/etc/ntp.oncore.<TT><i>u</i>, or <TT>/etc/ntp.oncore<TT>.
29 <H4>
30 Description</H4>
31 This driver supports most models of the
32 <A HREF="http://www.mot.com/AECS/PNSB/products">Motorola Oncore GPS receivers</A>
33 (Basic, PVT6, VP, UT, UT+, GT, GT+, SL, M12),
34 as long as they support the <I>Motorola Binary Protocol</I>.
35
36 <P>The three most interesting versions of the Oncore are the VP,
37 the UT+, and the "Remote" which is a prepackaged UT+.
38 The VP is no longer available.
39 The Motorola evaluation kit
40 can also be recommended, it interfaces to a PC straightaway, using the
41 serial (DCD) or parallel port for PPS input and packs the
42 receiver in a nice and sturdy box.
43 Two less expensive interface kits are available from
44 <A HREF="http://www.tapr.org">TAPR</A>.
45
46 <BR>&nbsp;
47 <CENTER><TABLE NOSAVE >
48 <TR NOSAVE>
49 <TD NOSAVE><IMG SRC="pic/oncore_utplusbig.gif" HEIGHT=124
50 WIDTH=210></TD>
51
52 <TD><IMG SRC="pic/oncore_evalbig.gif" HEIGHT=124 WIDTH=182></TD>
53
54 <TD><IMG SRC="pic/oncore_remoteant.jpg" HEIGHT=188 WIDTH=178></TD>
55 </TR>
56
57 <TR>
58 <TD>
59 <CENTER>UT+ oncore</CENTER>
60 </TD>
61
62 <TD>
63 <CENTER>Evaluation kit</CENTER>
64 </TD>
65
66 <TD>
67 <CENTER>Oncore Remote</CENTER>
68 </TD>
69 </TR>
70 </TABLE></CENTER>
71
72 <P>The driver requires a standard <TT>PPS</TT> interface for the
73 pulse-per-second output from the receiver.&nbsp; The serial data stream alone
74 does not provide precision time stamps (0-50msec variance, according to
75 the manual), whereas the PPS output is precise down to 50 nsec (1 sigma)
76 for the VP/UT models.
77 If you do not have the PPS signal available, then you should probably be using
78 the NMEA driver rather than the Oncore driver.
79
80 <P>The driver will use the "position hold" mode with
81 user provided coordinates,
82 the receivers built-in site-survey,
83 or a similar algorithm implemented in this driver to determine the antenna position.
84 <H4>
85 Monitor Data</H4>
86 The driver always puts a lot of useful information on the clockstats file,
87 and when run with debugging can be quite chatty on stdout.
88 When first starting to use the driver you should definitely review the information
89 written to the clockstats file to verify that the driver is running correctly.
90 <P>
91 In addition, on platforms supporting Shared Memory, all of the messages
92 received from the Oncore receiver are made available in shared memory for
93 use by other programs.
94 See the <A HREF=Oncore-SHMEM.htm> Oncore-SHMEM </A> manual page for
95 information on how to use this option.
96 For either debugging or using the SHMEM option, an Oncore Reference Manual
97 for the specific receiver in use will be required.
98 <H4>
99 Fudge Factors</H4>
100
101 <DL>
102 <DT>
103 <TT>time1 <I>time</I></TT></DT>
104
105 <DD>
106 Specifies the time offset calibration factor, in seconds and fraction,
107 with default 0.0.</DD>
108
109 <DT>
110 <TT>time2 <I>time</I></TT></DT>
111
112 <DD>
113 Not used by this driver.</DD>
114
115 <DT>
116 <TT>stratum <I>number</I></TT></DT>
117
118 <DD>
119 Specifies the driver stratum, in decimal from 0 to 15, with default
120 0.</DD>
121
122 <DT>
123 <TT>refid <I>string</I></TT></DT>
124
125 <DD>
126 Specifies the driver reference identifier, an ASCII string from one to
127 four characters, with default <TT>GPS</TT>.</DD>
128
129 <DT>
130 <TT>flag1 0 | 1</TT></DT>
131
132 <DD>
133 Not used by this driver.</DD>
134
135 <DT>
136 <TT>flag2 0 | 1</TT></DT>
137
138 <DD>
139 Not used by this driver.</DD>
140
141 <DT>
142 <TT>flag3 0 | 1</TT></DT>
143
144 <DD>
145 Not used by this driver.</DD>
146
147 <DT>
148 <TT>flag4 0 | 1</TT></DT>
149
150 <DD>
151 Not used by this driver.</DD>
152 </DL>
153 <B>Additional Information</B>
154 <P>The driver was initially developed on FreeBSD, and has since been tested
155 on Linux, SunOS and Solaris.
156 <P><B>Configuration</B>
157 <P>There is a driver specific configuration file <TT>/etc/ntp.oncore</TT>
158 that contains information on the startup mode, the location of the GPS
159 receiver, an offset of the PPS signal from zero, and the cable delay.
160 The offset shifts the PPS signal to avoid interrupt pileups `on' the second,
161 and adjust the timestamp accordingly.
162 See the driver source for information on this file.
163 The default with no file is: no delay, no offset, and a site survey is done
164 to get the location of the gps receiver.
165
166 <P>The <TT>/etc/ntp.conf</TT> file will need a line of the form<BR>
167 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
168 <TT> pps /dev/oncore.pps.0 [ assert/clear ] hardpps</TT><BR>
169 if you want the oncore driver to control the kernel PLL.
170 For more information, see the  <A HREF=clockopt.htm>Reference Clock
171 Options</A> page.
172
173 <P><B>Performance</B>
174 <P>Really good.&nbsp; With the VP/UT+, the generated PPS pulse is referenced
175 to UTC(GPS)&nbsp;with better than 50 nsec (1 sigma) accuracy.&nbsp; The
176 limiting factor will be the timebase of the computer and the precision
177 with which you can timestamp the rising flank of the
178 PPS&nbsp;signal.&nbsp;
179 Using FreeBSD, a FPGA&nbsp;based Timecounter/PPS&nbsp;interface,
180 and an ovenized quartz oscillator, that performance has been reproduced.
181 &nbsp;For more details on this aspect:&nbsp; <A
182 HREF="http://phk.freebsd.dk/rover.html">Sub-Microsecond
183 timekeeping under FreeBSD</A>.
184 <HR>
185 <ADDRESS>
186 Poul-Henning Kamp (phk@FreeBSD.org),
187 Reg Clemens (reg@dwf.com)
188 </ADDRESS>
189 </BODY>
190 </HTML>