summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/html/driver30.htm
blob: fab604b8a31833f58e6b328efe9c264828a8ee29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-
1">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.06 [en] (X11; I; FreeBSD
3.0-CURRENT i386) [Netscape]">
   <TITLE>Motorola Oncore GPS Receiver
</TITLE>
</HEAD>
<BODY>

<H3>
Motorola Oncore GPS receiver</H3>

<HR>
<H4>
Synopsis</H4>

Address: 127.127.30.0<BR>
Reference ID: <TT>GPS</TT><BR>
Driver ID: ONCORE<BR>
Serial Port: <TT>/dev/oncore.serial.0</TT>; &nbsp;9600 baud, 8-bits,
no parity.<BR>
PPS Port: <TT>/dev/oncore.pps.0</TT>;&nbsp; <TT>PPS_CAPTUREASSERT</TT>
required,&nbsp; <TT>PPS_OFFSETASSERT</TT> supported.
<H4>
Description</H4>
This driver supports various models of the <A
HREF="http://www.mot.com/AECS/PNSB/products">Motorola Oncore GPS
receivers</A> as long as they support the <I>Motorola Binary
Protocol</I>.

<P>The three most interesting versions of the Oncore are the "VP",&nbsp;
the "UT+",&nbsp;
and the "Remote" which is a prepackaged "UT+".&nbsp;
The "VP" is no longer available.

<P>The evaluation kit
can also be recommended, it interfaces to a PC straightaway, using the
serial (DCD) or parallel port for PPS input and packs the
receiver in a nice and sturdy box.
Two less expensive interface kits are available from
<A HREF="http://www.tapr.org">TAPR </A>.

<BR>&nbsp;
<CENTER><TABLE NOSAVE >
<TR NOSAVE>
<TD NOSAVE><IMG SRC="pic/oncore_utplusbig.gif" HEIGHT=124
WIDTH=210></TD>

<TD><IMG SRC="pic/oncore_evalbig.gif" HEIGHT=124 WIDTH=182></TD>

<TD><IMG SRC="pic/oncore_remoteant.jpg" HEIGHT=188 WIDTH=178></TD>
</TR>

<TR>
<TD>
<CENTER>UT+ oncore</CENTER>
</TD>

<TD>
<CENTER>Evaluation kit</CENTER>
</TD>

<TD>
<CENTER>Oncore Remote</CENTER>
</TD>
</TR>
</TABLE></CENTER>

<P>The driver requires a standard <TT>PPS</TT> interface for the
pulse-per-second output from the receiver.&nbsp; The serial data stream alone
does not provide precision time stamps (0-50msec variance, according to
the manual), whereas the PPS output is precise down to 50 nsec (1 sigma)
for the VP/UT models.

<P>The driver will use the "position hold" mode with
user provided coordinates,
the receivers built-in site-survey,
or a similar algorithm implemented in this driver.
<H4>
Monitor Data</H4>
The driver is quite chatty on stdout if ntpd is run with
debugging.&nbsp;
A manual will be required though.
Additional information is written to the clockstats file, if configured.
<H4>
Fudge Factors</H4>

<DL>
<DT>
<TT>time1 <I>time</I></TT></DT>

<DD>
Specifies the time offset calibration factor, in seconds and fraction,
with default 0.0.</DD>

<DT>
<TT>time2 <I>time</I></TT></DT>

<DD>
Not used by this driver.</DD>

<DT>
<TT>stratum <I>number</I></TT></DT>

<DD>
Specifies the driver stratum, in decimal from 0 to 15, with default
0.</DD>

<DT>
<TT>refid <I>string</I></TT></DT>

<DD>
Specifies the driver reference identifier, an ASCII string from one to
four characters, with default <TT>GPS</TT>.</DD>

<DT>
<TT>flag1 0 | 1</TT></DT>

<DD>
Not used by this driver.</DD>

<DT>
<TT>flag2 0 | 1</TT></DT>

<DD>
Not used by this driver.</DD>

<DT>
<TT>flag3 0 | 1</TT></DT>

<DD>
Not used by this driver.</DD>

<DT>
<TT>flag4 0 | 1</TT></DT>

<DD>
Not used by this driver.</DD>
</DL>
<B>Additional Information</B>
<P>The driver has been tested on FreeBSD, Linux and SunOS.

<P>There is a driver specific configuration file <TT>/etc/ntp.oncore</TT>
that contains information on the startup mode, the location of the GPS
receiver, an offset of the PPS signal from zero, and the cable delay.
The offset shifts the PPS signal to avoid interrupt pileups `on' the second,
and adjust the timestamp accordingly.
See the driver source for information on this file.
The default with no file is: no delay, no offset, and a site survey is done
to get the location of the gps receiver.

<P>The <TT>/etc/ntp.conf</TT> file will need a line of the form<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<TT> pps /dev/oncore.pps.0 [ assert/clear ] hardpps</TT><BR>
if you want the oncore driver to control the kernel PLL.
For more information, see the  <A HREF=clockopt.htm>Reference Clock
Options</A> page.

<P><B>Performance</B>
<P>Really good.&nbsp; With the VP/UT+, the generated PPS pulse is referenced
to UTC(GPS)&nbsp;with better than 50 nsec (1 sigma) accuracy.&nbsp; The
limiting factor will be the timebase of the computer and the precision
with which you can timestamp the rising flank of the
PPS&nbsp;signal.&nbsp;
Using FreeBSD,&nbsp; a FPGA&nbsp;based Timecounter/PPS&nbsp;interface
and an ovenized quartz oscillator, that performance has been reproduced.
&nbsp;For more details on this aspect:&nbsp; <A
HREF="http://phk.freebsd.dk/rover.html">Sub-Microsecond
timekeeping under FreeBSD</A>
<HR>
<ADDRESS>
Poul-Henning Kamp (phk@FreeBSD.org),
Reg Clemens (reg@dwf.com)
</ADDRESS>
</BODY>
</HTML>
OpenPOWER on IntegriCloud