diff options
Diffstat (limited to 'html/driver22.htm')
-rw-r--r-- | html/driver22.htm | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/html/driver22.htm b/html/driver22.htm new file mode 100644 index 000000000000..a293cbc92c64 --- /dev/null +++ b/html/driver22.htm @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> +<meta name="generator" content="HTML Tidy, see www.w3.org"> +<title>PPS Clock Discipline</title> +</head> +<body> +<h3>PPS Clock Discipline</h3> + +<hr> +<h4>Synopsis</h4> + +Address: 127.127.22.<i>u</i> <br> +Reference ID: <tt>PPS</tt> <br> +Driver ID: <tt>PPS</tt> <br> +Serial or Parallel Port: <tt>/dev/pps<i>u</i></tt> <br> +Requires: PPSAPI interface + +<p>Note: This driver supersedes an older one of the same name. The +older driver operated with several somewhat archaic signal +interface devices, required intricate configuration and was poorly +documented. This driver operates only with the PPSAPI interface +proposed as an IETF standard. Note also that the <tt>pps</tt> +configuration command has been obsoleted by this driver.</p> + +<h4>Description</h4> + +<p>This driver furnishes an interface for the pulse-per-second +(PPS) produced by a cesium clock, radio clock or related equipment. +It can be used to augment the serial timecode generated by a GPS +receiver, for example. It can be used to remove accumulated jitter +and re-time a secondary server when synchronized to a primary +server over a congested, wide-area network and before +redistributing the time to local clients. The driver includes +extensive signal sanity checks and grooming algorithms. A range +gate and frequency discriminator reject noise and signals with +incorrect frequency. A multiple-stage median filter rejects jitter +due to hardware interrupt and operating system latencies. A +trimmed-mean algorithm determines the best time samples. With +typical workstations and processing loads, the incidental jitter +can be reduced to less than a microsecond.</p> + +<p>While this driver can discipline the time and frequency relative +to the PPS source, it cannot number the seconds. For this purpose a +auxiliary source is required, ordinarily a radio clock operated as +a primary reference (stratum 1) source; however, another NTP time +server can be used as well. For this purpose, the auxiliary source +is marked as the prefer peer, as described in the <a href= +"prefer.htm">Mitigation Rules and the <tt>prefer</tt> Keyword</a> +page.</p> + +<p>The driver requires the PPSAPI interface<sup>1</sup>, which is a +proposed IETF standard. The interface consists of the <tt> +timepps.h</tt> header file and associated kernel support. Support +for this interface is included in current versions of FreeBSD and +Linux and proprietary versions for Digital/Compaq Tru64 (Alpha), +Sun Solaris and Sun SunOS. See the <a href="pps.htm"> +Pulse-per-second (PPS) Signal Interfacing</a> page for further +information.</p> + +<p>The PPS source can be connected via a serial or parallel port, +depending on the hardware and operating system. The port can be +dedicated to the PPS source or shared with another device. A radio +clock is usually connected via a serial port and the PPS source +connected via a level converter to the data carrier detect (DCD) +pin (DB-9 pin 1, DB-25 pin 8) of the same connector. In some +systems where a parallel port and driver are available, the PPS +signal can be connected directly to the ACK pin (pin 10) of the +connector. Whether the PPS signal is connected via a dedicated port +or shared with another device, the driver opens the device <tt> +/dev/pps%d</tt>, where <tt>%d</tt> is the unit number. As with +other drivers, links can be used to redirect the logical name to +the actual physical device.</p> + +<p>The driver normally operates like any other driver and uses the +same mitigation algorithms and PLL/FLL clock discipline +incorporated in the daemon. If kernel PLL/FLL support is available, +the kernel PLL/FLL clock discipline is used instead. The default +behavior is not to use the kernel PPS clock discipline, even if +present. This driver incorporates a good deal of signal processing +to reduce jitter using the median filter and trimmed average +algorithms in the driver interface. As the result, performance with +minpoll and maxpoll configured at the minimum 4 (16s) is generally +better than the kernel PPS clock discipline. However, fudge flag 3 +can be used to enable this discipline if necessary.</p> + +<p>Note that the PPS source is considered reachable only if the +auxiliary source is the prefer peer, is reachable and is selected +to discipline the system clock. The stratum assigned to the PPS +source is automatically determined. If the auxiliary source is +unreachable or inoperative, the stratum is set to 16; otherwise it +is set to match the stratum of the auxiliary source. Since the +stratum is determined dynamically, it is not possible to assign +another stratum using the <tt>fudge</tt> command as in other +drivers.</p> + +<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></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>PPS</tt>.</dd> + +<dt><tt>flag1 0 | 1</tt></dt> + +<dd>Not used by this driver.</dd> + +<dt><tt>flag2 0 | 1</tt></dt> + +<dd>Specifies the PPS signal on-time edge: 0 for assert (default), +1 for clear.</dd> + +<dt><tt>flag3 0 | 1</tt></dt> + +<dd>Controls the kernel PPS discipline: 0 for disable (default), 1 +for enable.</dd> + +<dt><tt>flag4 0 | 1</tt></dt> + +<dd>Not used by this driver.</dd> +</dl> + +<p>Additional Information</p> + +<p><a href="refclock.htm">Reference Clock Drivers</a></p> + +<p>Reference</p> + +<ol> +<li>Mogul, J., D. Mills, J. Brittenson, J. Stone and U. Windl. +Pulse-per-second API for Unix-like operating systems, version 1. +Request for Comments RFC-2783, Internet Engineering Task Force, +March 2000, 31 pp.</li> +</ol> + +<hr> +<a href="index.htm"><img align="left" src="pic/home.gif" alt= +"gif"></a> + +<address><a href="mailto:mills@udel.edu">David L. Mills +<mills@udel.edu></a></address> +</body> +</html> + |