summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/html/pps.htm
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ntp/html/pps.htm')
-rw-r--r--contrib/ntp/html/pps.htm174
1 files changed, 98 insertions, 76 deletions
diff --git a/contrib/ntp/html/pps.htm b/contrib/ntp/html/pps.htm
index 97850d7..a20dd4d 100644
--- a/contrib/ntp/html/pps.htm
+++ b/contrib/ntp/html/pps.htm
@@ -1,84 +1,106 @@
-<html><head><title>
-Pulse-per-second (PPS) Signal Interfacing
-</title></head><body><h3>
-Pulse-per-second (PPS) Signal Interfacing
-</h3><hr>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+<head>
+<meta name="generator" content="HTML Tidy, see www.w3.org">
+<title>Pulse-per-second (PPS) Signal Interfacing</title>
+</head>
+<body>
+<h3>Pulse-per-second (PPS) Signal Interfacing</h3>
-<P>Some radio clocks and related timekeeping gear have a
-pulse-per-second (PPS) signal that can be used to discipline the local
-clock oscillator to a high degree of precision, typically to the order
-less than 20 <font face=Symbol>m</font>s in time and 0.01 PPM in
-frequency. The PPS signal can be connected in either of two ways: via
-the data leads of a serial port or via the modem control leads. Either
-way requires conversion of the PPS signal, usually at TTL levels, to
-RS232 levels, which can be done using a circuit such as described in the
-<A HREF=gadget.htm>Gadget Box PPS Level Converter and CHU Modem</A>
-page.
+<img align="left" src="pic/alice32.gif" alt="gif"><a href=
+"http://www.eecis.udel.edu/~mills/pictures.htm">from <i>Alice's
+Adventures in Wonderland</i>, Lewis Carroll</a>
-<P>The data leads interface requires regenerating the PPS pulse and
-converting to RS232 signal levels, so that the pulse looks like a
-legitimate ASCII character to a serial port. The <TT>tty_clk</TT> line
-discipline/streams module inserts a timestamp following this character
-in the input data stream. The <A HREF=driver22.htm>PPS Clock
-Discipline</A> driver uses this timestamp to determine the time of
-arrival of the PPS pulse to within 26 us at 38.4 kbps while eliminating
-error due to operating system queues and service times.
+<p>Alice is trying to find the PPS signal connector.<br clear=
+"left">
+</p>
-<P>The modem control leads interface requires converting to RS232 levels
-and connecting to the data carrier detect (DCD) lead of a serial port.
-The <TT>ppsclock</TT> and <TT>ppsapi</TT> streams modules capture a
-timestamp upon transition of the DCD signal. Note that the
-<TT>ppsclock</TT> module functionality has been subsumed by the new
-<TT>ppsapi</TT> interface specification, which is supported by the NTP
-daemon. As the latter is expected to become an IETF cross-platform
-standard, it should be used in new configurations. The PPS Clock
-Discipline driver reads the latest timestamp with a designated system
-call or interface routine to determine the time of arrival of the PPS
-pulse to within a few microseconds. Alternatively, if provisions have
-been made in the kernel for PPS signals, the signal is captured directly
-by the kernel serial driver without using the PPS driver.
+<hr>
+<p>Some radio clocks and related timekeeping gear have a
+pulse-per-second (PPS) signal that can be used to discipline the
+local clock oscillator to a high degree of precision, typically to
+the order less than 10 <font face="Symbol">m</font>s in time and
+0.01 parts-per-million (PPM) in frequency. The PPS signal can be
+connected in either of two ways: via the data carrier detector
+(DCD) pin of a serial port or via the acknowledge (ACK) pin of a
+parallel port, depending on the hardware and operating system.
+Connection via a serial port may require signal conversion and
+regeneration to RS232 levels, which can be done using a circuit
+such as described in the <a href="gadget.htm">Gadget Box PPS Level
+Converter and CHU Modem</a> page. Note that NTP no longer supports
+connection via the data leads of a serial port.</p>
-<P>The <TT>tty_clk</TT> module is included in the NTP software
-distribution, while the <A
-HREF=http://www.eecis.udel.edu/~mills/ntp/ntp/ppsclock.tar.Z><TT>
-ppsclock</TT></A> module can be obtained via the web at that link or by
-anonymous FTP from ftp.udel.edu in the <TT>pub/ntp</TT> directory. Both
-the <TT>tty_clk</TT> and <TT>ppsclock</TT> modules are described in the
-<A HREF=ldisc.htm>Line Disciplines and Streams Drivers</A> page.
-Directions for building the modules themselves are in the
-<TT>./kernel</TT> directory. Directions on how to configure
-<TT>ntpd</TT> to operate with these modules is described in <A
-HREF=build.htm>Building and Installing the Distribution </A>page.
+<p>Both the serial and parallel port connection require operating
+system support, which is available in only a few operating systems,
+including Linux, FreeBSD and latest Solaris beginning with 2.7.
+Support on an experimental basis is available for several older
+systems, including SunOS, Digital Ultrix and HP-UX, and in current
+Digital Tru64 (Alpha). The PPS application program interface
+defined in RFC-2783 (PPSAPI) is the only interface currently
+supported. Older PPS interfaces based on the <tt>ppsclock</tt> and
+<tt>tty_clk</tt> streams modules are no longer supported. As the
+PPSAPI is expected to become an IETF cross-platform standard, it
+should be used by new applications.</p>
-<P>The PPS driver is operates in conjunction with another reference
-clock driver that produces the PPS pulse, as described in the <A
-HREF=prefer.htm>Mitigation Rules and the <TT>prefer</TT> Keyword
-</A>page. One of the drivers described in the <A
-HREF=refclock.htm>Reference Clock Drivers</A> page furnishes
-the coarse timecode used to disambiguate the seconds numbering of the
-PPS pulse itself. The NTP daemon mitigates between the radio clock
-driver and <TT>PPS</TT> driver as described in that page in order to
-provide the most accurate time, while respecting the various types of
-equipment failures that could happen.
+<p>The PPSAPI inerface requires a <tt>
+/usr/include/sys/ppstime.h</tt> header file. This file is included
+in Linux and FreeBSD distributions, but not in other distributions
+or standard workstation products at this time. Header files for
+other systems, including Solaris, can be found in the <tt>
+nanokernel.tar.gz</tt> distribution, which can be found via the
+Collaboration Resources link at www.ntp.org. The top level
+directory contains a number of subdirectories for each
+architecture, including Solaris. The <tt>ppstime.h</tt> file for
+each architecture can be found in the subdirectory of the same
+name.</p>
-<P>For the utmost time quality, some Unix system kernels support a PPS
-signal directly, as described in the <A HREF=kern.htm>A Kernel Model
-for Precision Timekeeping </A>page. Specifically, the ppsclock module
-can be used to interface the PPS signal directly to the kernel for use
-as discipline sources for both time and frequency. These sources can be
-separately enabled and monitored using the <TT>ntp_adjtime()</TT> system
-call described in that page and the <TT>/usr/include/sys/timex.h</TT>
-header file. The presence of these kernel provisions is automatically
-detected and supporting code compiled.
+<p>In the preferred mode of operation, PPS signals are processed by
+the <a href="driver22.htm">PPS Clock Discipline</a> driver and
+other clock drivers which might be involved need not know or care
+about them. In some cases where there is no other driver, time
+might be obtained from remote NTP servers via the network and local
+PPS signals, for instance from a calibrated cesium oscillator, used
+to stabilize the frequency and remove network jitter. Note that the
+<tt>pps</tt> configuration command has been obsoleted by this
+driver.</p>
-<P>In some configurations may have multiple radio clocks, each with PPS
-outputs, as well as a kernel provisions for the PPS signal. In order to
-provide the highest degree of redundancy and survivability, the kernel
-PPS discipline, <TT>tty_clk</TT> module, <TT>ppsclock</TT> module and
-kernel modifications may all be in use at the same time, each backing up
-the other. The sometimes complicated mitigation rules are described in
-the Mitigation Rules and the <TT>prefer</TT> Keyword page.
+<p>The PPS driver operates in conjunction with a preferred peer, as
+described in the <a href="prefer.htm">Mitigation Rules and the <tt>
+prefer</tt> Keyword</a> page. One of the drivers described in the
+<a href="refclock.htm">Reference Clock Drivers</a> page or another
+NTP server furnishes the coarse timing and disambiguates the
+seconds numbering of the PPS signal itself. The NTP daemon
+mitigates between the clock driver or NTP server and the PPS driver
+as described in that page in order to provide the most accurate
+time, while respecting the various types of equipment failures that
+could happen.</p>
+
+<p>Some Unix system kernels support a PPS signal directly, as
+described in the <a href="kern.htm">A Kernel Model for Precision
+Timekeeping</a> page. Specifically, the PPS driver can be used to
+direct the PPS signal to the kernel for use as a discipline source
+for both time and frequency. The presence of the kernel support is
+automatically detected during the NTP build process and supporting
+code automatically compiled. Note that the PPS driver does not
+normally enable the PPS kernel code, since performance is generally
+better without it. However, this code can be enabled by a driver
+fudge flag if necessary.</p>
+
+<p>Some configurations may include multiple radio clocks with
+individual PPS outputs. In some PPSAPI designs multiple PPS signals
+can be connected to multiple instances of the PPS driver. In such
+cases the NTP mitigation and grooming algorithms operate with all
+the radio timecodes and PPS signals to develop the highest degree
+of redundancy and survivability.</p>
+
+<hr>
+<a href="index.htm"><img align="left" src="pic/home.gif" alt=
+"gif"></a><br>
+<br>
+
+
+<address><a href="mailto:mills@udel.edu">David L. Mills
+&lt;mills@udel.edu&gt;</a></address>
+</body>
+</html>
-<hr><a href=index.htm><img align=left src=pic/home.gif></a><address><a
-href=mailto:mills@udel.edu> David L. Mills &lt;mills@udel.edu&gt;</a>
-</address></a></body></html>
OpenPOWER on IntegriCloud