Path: utzoo!attcan!uunet!zephyr.ens.tek.com!tekcrl!tekfdi!videovax!bill From: bill@videovax.tv.Tek.com (William K. McFadden) Newsgroups: sci.electronics Subject: Re: NBS time broadcast Summary: Really long-- time freaks only! Message-ID: <5502@videovax.tv.Tek.com> Date: 28 Jul 89 21:10:33 GMT References: <8720@kean.mun.ca> Reply-To: bill@videovax.tv.tek.com (William K. McFadden) Distribution: na Organization: Tektronix TV Measurement Systems, Beaverton OR Lines: 134 In article <8720@kean.mun.ca> andrew@kean.mun.ca writes: >I can't really speak for anyone else on the net, but one of the things that I >really hate is clocks that are "just a little bit off". Yep. Me too. >Now, a few years ago, I remember seeing a Heathkit (read:expensive) project >for "the world's most accurate clock". Apparantly the thing picked up a >broadcast from the NBS and decoded it. >So the question... anyone know how this works and how/where it is broadcast? I have built one of these clocks, so I guess that makes me as qualified as the next person to talk about it. The clock has a tuner that picks up the WWV shortwave broadcasts on 5, 10, and 15 MHz. There is a 3-bit ADC that senses the AGC voltage in the receiver and tells the microprocessor how strong the station is. When first turned on, the clock will tune itself to each of the frequencies to see which one has the strongest signal. (You can lock out any of the channels if you have local interference on one of the frequencies.) After sampling the three frequencies the clock listens to the strongest one for a while. If it hears a 1 KHz tone (broadcast once per minute), it begins decoding the time data. The time data is broadcast as trinary, one bit per second. The three states are: zero, one, and data separator. The carrier is a 100 Hz tone. The duration of the tone determines the data value. The time and date are transmitted once per minute, as well as some bits designating daylight savings time, UT1 (astronomical time) correction, etc. Becauce of fading, the data can get corrupted quite easily, and the time code contains no error detection or correction bits (it's an OLD format). To combat this, the clock requires three minutes of good data before it sets itself. Thereafter, it keeps itself synchronized to the 1 KHz tone (1200 Hz for WWVH Hawaii; the clock can be set to recognize either, but not both at once). The clock's timebase is a 3.6 MHz 10 ppm crystal oscillator. It compares the drift of this oscillator to the WWV tones and continually trims it with an DAC-driven varactor (8 bits). This makes the oscillator (whose output is available on the back panel) very accurate over the long term. The short term accuracy is less, but the documentation does not say how much so. In cases where the drift is severe (e.g., when WWV reception is bad for a long time), upon regaining signal the clock will just update its time before beginning to trim the oscillator frequency. If reception is poor for more than a day or two, the 0.1 sec. digit in the display will be blanked, indicating the drift is probably greater than 0.1 second. When a given frequency is received, the clock will stay there as long as it can hear the 1 KHz tone each minute and properly decode some number (unknown to me) of the data bits. Also, if all the time bits are correct, it will not change frequency for at least 10 minutes. This is the "hi-spec" mode, which means the clock is within 0.01 seconds of WWV. In my area (Northwest Unites States), I can get the clock to stay in "hi-spec" mode for most of the day (with a longwire antenna). When the clock has determined the signal is too weak, it will sample the three frequencies again. If another is stronger, it will go there; otherwise it goes back to the original one. It repeats this until it has "locked on" to another strong signal. The bottom of the clock has dip switches that allow you to select 12/24 hour mode, GMT only, timezone selection, channel lockout, propagation time compensation (to compensate for the time it takes the signal to reach you), UT1 (astronmical time) correction, and automatic daylight savings time correction. On the back is an optional RS-232 jack, an on-off volume control for listening to the WWV receiver (can be set to turn on the speaker only when in "hi-spec" mode), an external antenna input, the 3.6 MHz output, an external 12 VDC input, and the AC power cord. On the top is a removable telescoping antenna (only good for strong signal areas), and on the side is a switch to turn off the display (to save power). The display consists of 6 digits for hh:mm:ss and a smaller digit for tenths of a second. There are AM/PM LEDs for 12-hour mode. To the right are three LEDs that indicate the receive frequency (5/10/15 MHz). Below these are LEDs labeled CAPTURE, DATA, and HI-SPEC. The CAPTURE LED indicates a valid WWV signal is being received. As long as this is lit, the clock will not change frequencies. The DATA LED flashes to the 100 Hz data pulses. You can tell a lot about the signal quality by watching this LED. The HI-SPEC LED is only lit when the clock thinks it's within 10 mS of WWV time. The optional RS-232 accessary outputs the time and date in ASCII form. A dip switch inside the clock selects the year (not supplied by WWV) and the baud rate. You can also select whether to transmit the data continuously (once per second) or on demand (e.g., when the computer asks for it). I really like this clock. Currently we're using it at work to synchronize our VAX. Our software for doing this is still a little buggy, though. (In fact, right now our software's not being used until someone has time to fix it). I have only a few complaints about the clock. First on the list would have to be the RS-232 interface, which seems to be more of an afterthought than an original design consideration. For example, the time is always 1 second off (they explain this in the manual, but don't tell why). Also, it is correct only at the beginning of the first character transmitted. Hence, you have to compensate for transmission time, which is dependent on baud rate. In addition, the output levels are 0 volts and 5 volts. Some systems (such as our VAX) complain about these levels because they are not valid RS-232. The second problem is a couple of times it has set itself to the wrong time. Apparently the same bit was wrong three times in a row, and the other data bits were correct. Thus, the clock assumed it was receiving correct time code. This has happened rarely and only at powerup, however, and the clock has always recovered in a few hours or less. Once it knows the correct time, it stays there. The third problem is there is no way to set the time manually. I can understand this because it would be difficult to do, and there is a DC power input that automatically switches in when the AC fails. However, if power is interrupted you can expect it to take anywhere from 5 minutes to a day to reset itself, depending on signal reception conditions. (The display will be blanked until the clock sets itself.) The last problem concerns quality control. The radio receiver board comes pre-assembled and tested. Unfortunately, two connections were not soldered on the board. This caused it to stop working about a year after I built it. It has worked fine since I soldered these two points, however. The kit cost around $300 and I was able to build it in two (long) evenings. BTW, most of my information comes from the manual that came with the clock. It has a good description of the WWV signal format and thoroughly describes the operation of clock hardware and software. If you need more info about the clock, contact me by e-mail, and I'll look it up. -- Bill McFadden Tektronix, Inc. P.O. Box 500 MS 58-639 Beaverton, OR 97077 UUCP: bill@videovax.Tek.com, {hplabs,uw-beaver,decvax}!tektronix!videovax!bill GTE: (503) 627-6920 "The biggest difference between developing a missle component and a toy is the 'cost constraint.'" -- John Anderson, Engineer, TI