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.htm83
1 files changed, 83 insertions, 0 deletions
diff --git a/contrib/ntp/html/pps.htm b/contrib/ntp/html/pps.htm
new file mode 100644
index 0000000..a002c1f
--- /dev/null
+++ b/contrib/ntp/html/pps.htm
@@ -0,0 +1,83 @@
+<HTML><HEAD><TITLE>
+Pulse-per-second (PPS) Signal Interfacing
+</TITLE></HEAD><BODY><H3>
+Pulse-per-second (PPS) Signal Interfacing
+</H3><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 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.
+
+<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>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.
+
+<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>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>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 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.
+
+<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