Clocks (RTCs) using available accurate time sources and the Maxim evaluation kits.
personal computer (PC), an Internet connection, and RTC evaluation software. Whether you
use a Maxim evaluation kit and its associated software to evaluate the accuracy of a Maxim
real-time clock, or use your own software and hardware configuration, you can take advantage
of the easy methods presented here for long-term accuracy testing of RTCs.
in the current-time display section of the screen is computed as offset = RTC time - PC time.
This is now an easy and convenient way to keep track of the difference between the RTC time
and PC time and thus allows for long-term accuracy testing of the RTC.
the RTC evaluation software reads the timekeeping registers approximately four times per
second, the best guaranteed resolution is 1 second, as all four reads could happen inside of a 1-
second update. Therefore, an initial offset calculation of ±1 second is within the resolution of
the setup when testing for long-term RTC accuracy.
against, the PC clock.
clocks like a wristwatch and most of the clocks in your home keep better time than a standard
them the "hardware clock" and the "software clock." The software clock runs when the PC is
turned on and stops when the PC is turned off. The hardware clock uses a backup battery and
continues to run even when the PC is turned off.
This timer-counter generates an interrupt every 54.936 milliseconds, or about 18.2 times per
second. The PC BIOS (basic input output system) contains a software routine that counts the
interrupt requests and generates a time-of-day clock that can be read or set by other software
programs. For example, the operating system might use the time-of-day information from the
software clock to date and stamp files.
clock to gain or lose time. If the PC is left on for long periods of time, the software clock can
be off by large amounts. A minute or more per day that the PC was left on is not an uncommon
error rate. It is also possible for an ill-behaved software program to use the timer-counter for
another purpose and change the interrupt rate. This could cause the software clock to rapidly
gain or lose time.
information. For this reason, a hardware clock is also necessary. The hardware clock is either a
separate real-time clock or a RTC function integrated into the PC's chipset. The hardware clock
determined by the quality of the crystal oscillator it uses as its time base. A typical crystal
usually is less than $1 in single quantities, with an initial frequency error of greater than
±20ppm, which will translate to greater than ±1.7 seconds per day. In actual operation, with
temperature effects included, most hardware clocks gain or lose 5 to 15 seconds per day.
turned back on, the software clock starts running again and sets itself (within 1 second) to the
hardware clock. Although the hardware and software clocks are synchronized at power-up, they
run at different rates and will gain or lose time relative to each other while the computer is
timekeeping reference. Fortunately, there are easy ways to solve this PC timekeeping accuracy
problem. One of the easiest is to synchronize the PC clock to an Internet service.
The process requires an active Internet connection and client software.
Daytime Protocol, and Network Time Protocol (NTP). The time servers are continually
listening for timing requests sent using any of these protocols. When the server receives a
request, it sends time to your computer in the appropriate format. The protocol depends upon
the type of client software used. Most client software requests that the time be sent using either
the Daytime Protocol or NTP. Client software that uses the Simple Network Time Protocol
(SNTP) makes the same timing request as an NTP client, but does less processing and provides
less accuracy. Table 1 summarizes the protocols and their port assignments.
Boulder, Colorado, using multiple servers distributed around the country. The NIST servers
distribute time using the Time, Daytime, and NTP formats.
Protocol) that can be downloaded see the following:
The frequency, or rate, of UTC is computed by the International Bureau of Weights and
Measures (BIPM), based near Paris, France. The BIPM uses a weighted average from about
250 atomic clocks located in about 50 national laboratories to construct a time scale called
International Atomic Time (TAI). Once TAI is corrected for leap seconds, it becomes UTC, or
the official world time scale. NIST distributes a real-time version of UTC called UTC(NIST), a
time scale referenced to atomic oscillators located in Boulder, Colorado, to the public through
their time and frequency services. At its source, UTC(NIST) is kept in as close agreement as
possible with other national and international standards (typically within a few nanoseconds).
Service through a standard telephone line and analog modem. This service is called Automated
Computer Time Service (ACTS). With calibration, ACTS can set a computer clock with an
uncertainty of less than 10 milliseconds.
alone devices with a digital time display. These can often be interfaced to the PC with a serial
connection. For a list of radio clock manufacturers, see the following:
is to use a regular voice phone line service to check the current accurate time. Such a service is
provided by the Time Service Department, U.S. Naval Observatory, Washington, D.C. The
Land Line Voice Time, without delay, is 900-410-TIME (50 cents the first minute, 45 cents a
minute thereafter). NIST time can be accessed over the voice phone line at (303) 499-7111.
in the Query Server drop-down menu will cause the current NIST time to be obtained and the
difference between the PC clock and NIST time computed, as shown in Figure 3. Clicking on
OK performs an adjustment of the PC clock to match NIST time. A verification of adjustment
then appears, as in Figure 4. Clicking on OK will remove this screen and return control to the
main screen for the NISTIME 32. If you are performing several cycles of calibration to reduce
the PC clock error in comparison to the NIST standard, you will need to wait between
calibrations until the message in the main screen changes from "No server selected" to a line
typically like "Server 2 selected using tcp port 13." At that time, another calibration can be