Simple GPSDO - Questions and Answers


                        by James Miller G3RUH


I often receive questions about the GPSDO; this document summarises
the replies. These are the topics discussed:

 - Why do you call it 'simple'?
 - What software is needed to use the GPSDO?
 - How can I tell when the GPS is in Lock?
 - Why is the date wrong via RS-232?
 -   1. Summary of the problem
 -   2. How do I reset the displayed date?
 - How long does it take to lock up?
 - Why do you not use a modern M12+ GPS receiver?
 - What GPS antenna should I use?
 - Why doesn't my system receive GPS satellites?
 - How accurate is this GPSDO?
 - How can I order this GPSDO?
 - I have a Jupiter; can you make me a GPSDO with it?
 - Can you send me the schematic and parts list?
 - Where can I get a 10 MHz Distribution Amplifier?
 - How can I generate 10 MHz harmonics?
 - Do-It-Yourself GPSDO
 - Where can I find Jupiter GPS documentation?
 - How do I RESET a Jupiter GPS?
 - How do I identify a Jupiter GPS?
 - Appendix: Jupiter Date Initialisation Design


Why do you call it 'simple'? It is simple as in 'non-complex'. It represents pretty much the minimum set of hardware elements you can use to construct a GPS controlled oscillator. This minimalism is possible because the Rockwell Jupiter GPS RX has a precise 10 kHz output which greatly simplifies the PLL phase detector. What software is needed to use the GPSDO? You do not need any software to use the GPSDO; but you might want to for interest. http://www.gpskit.nl/downloads-en.htm has a good collection of related material, including Rockwell's original Labmon (for x86 computers). Labmon uses the Jupiter GPS native binary protocols for control and display. The Jupiter also reports in NMEA-0183 plaintext, and the GPSDO is shipped in that mode. Any software that can process industry standard NMEA data can display the data. Examples (for x86 computers): http://www.visualgps.net/VisualGPSXP/ http://www.cnssys.com/cnsclock/Tac32Software.html A dumb terminal program will show the NMEA raw data as text lines. Set the program to 4800 baud, format 8N1. Explanations of NMEA sentences can readily be found using an internet search engine. For example. Please note that the GPSDO serial port is configured as a "modem". It can be connected directly to a computer's serial port; do not use a "null modem" interconnection cable or device. How can I tell when the GPS is in Lock? Using a dumb terminal program, look at byte 15 of the NMEA $GPRMC message. When this shows "A", the GPS is in lock. Example: $GPRMC,234840,A,5125.6194,N,00711.5540,E,0.000,0.0,191207,2.5,W*1D Another method is to watch the 1-pulse-per-second LED jump into synchronism with WWVB and similar HF radio time signals, which will happen a minute or two after power-on. PIC-based methods are described here: http://sites.google.com/site/tpsully/3dfixled http://www.ni6e.com/time/GPS_Valid_Fix.html These devices work best if the Jupiter's Solution Validity Criteria is set to "the minimum number of satellites for solution = 4" (instead of the zero default). Then, if the antenna is disconnected, the PIC-based lock detectors give an immediate reaction. To change the Jupiter setting, see the section "How do I RESET a Jupiter GPS?" which refers to a file of commands you can download. A GPS lock indicator requires added complexity, which is contrary to the minimalist principle espoused here. Why is the date wrong via RS-232? 1. Summary of the problem After power-on and then acquiring satellite lock, the displayed date (via the RS-232 port) is exactly 1024 weeks earlier than the true date. This first came to light on 2015 Feb 15 [Sun], GPS Week 1832, after some 20 years of normal behaviour, and appears to be due to the inability of the firmware of older Jupiters to retain the last used date in its EEPROM. However, the Jupiter GPS receiver's 'Scorpio' DSP engine is processing the satellite signals correctly; acquisition of satellites, generation of hardware 1PPS and 10 kHz output signals are perfectly OK. The GPSDO produces its precise 10.0 MHz output as normal. If your application does not use the RS-232 data stream, NO action is required. If otherwise, you might want to reset the date. 2. How do I reset the displayed date? If the Jupiter's date output is important to you, then you must initialise the date yourself, as follows. With the GPS receiver RS-232 stream in NMEA mode, send the command string: $PRWIINIT,A,,,,,,,,,,,,000000,ddmmyy[CR][LF] with the appropriate date. NOTE: It is essential that the Jupiter I/O connector pin 8 is in the "1" (high) state or not connected (the latter as with the author's GPSDO 0091-000). Otherwise the date will default to that stored in ROM, 1997-Jun-28. A file, init_date.txt that contains the above command can be found in the archive linked in this FAQ's section "How do I RESET a Jupiter GPS?" Example; for 2015 Dec 31 you would send: $PRWIINIT,A,,,,,,,,,,,,000000,311215[CR][LF] Note: this is 36 ASCII bytes plus 2 terminating bytes CR LF, (hexadecimal 0x0D 0x0A), making a total of 38 bytes. The CR+LF are essential, and must be in that order. There are 14 ","s in the string. There is NO tolerance for error in this byte sequence. If it doesn't work, then your terminal program is not sending the correct characters, most probably the line terminators. If you use Hyperterm, use VT100 Emulation mode. Note: a user has reported difficulty with Hyperterm, but advised that Teraterm (for x86 computers) in binary mode does work OK. Investigation shows that you can actually choose any initial date in the range: Today-919weeks to Today+104weeks Thus it follows that the initialisation date used in the above example (2015 Dec 31) will work for you unchanged until near the end of year 2033. Note: The date is not retained over power down by first generation Jupiters; later Jupiters have more EEPROM, and do retain the date. For more information about this date initialisation topic, see the appendix at the end of this FAQ document. How long does it take to lock up? To be usable, three things have to happen; the GPS receiver must acquire satellites; the OCXO oven must warm up; the PLL must pull into lock with the GPS. For practical purposes the GPSDO is ready for use after 15 minutes. By then it will be accurate to better than 10-10 equivalent to 1 Hz at 10 GHz, and improving. Why do you not use a modern M12+ GPS receiver? Because it does not have a 10 kHz output. What GPS antenna should I use? Almost any antenna will do. It should be 'active' and have enough gain to compensate for cable loss, typically 1 dB/m for RG174, with 6 dB to spare. RG174 cable is the very thin stuff, about 3mm diameter. For example "26dB gain" would be suitable for a 20m cable run. The GPS receiver supplies +5V DC along the cable to the antenna, and the load should not exceed 100 mA. Typical antenna consumption is 5-20 mA. A male SMA is required on the cable at the GPSDO end. There are hundreds of GPS antennas available on eBay. In a portable situation, you'll probably want something small that can rest on top of the equipment, and the 'puck' antenna is entirely adequate. You can of course use a puck antenna in a fixed station/laboratory situation. If you require a laboratory grade antenna, but do not wish to spend hundreds of $$, then look out for the HP/Symmetricom 58532A or the Panasonic VIC100. The HP58504A is good too. Often on eBay. Why doesn't my system receive GPS satellites? Every problem of this kind reported to me has been due to a poorly positioned antenna, usually indoors in a window. This is far from ideal. Some glass does not pass L-band signals too well. An indoor antenna picks up the warm room's noise. A window location sees half of the sky at best. North facing views see fewer satellites than South facing (in the N. hemisphere). Give it a chance! The performance of a radio-based equipment, such as this GPSDO, is strongly influenced by the received signal quality. GPS reception is line-of-sight. Be sure to mount your antenna where it has an unobstructed view of the sky. How accurate is this GPSDO? Oscillators have several defining properties, in particular accuracy and stability. These are interrelated, and nicely summarised at: http://www.nist.gov/pml/div688/grp40/glossary.cfm#Accuracy Refer to the image in the above link; the OCXO and the GPSDO are measured for these factors. The accuracy, taken over a very long period, is the same as that of the GPS system itself, parts in 1014, so accurate as to be neglected for most applications. In the short term, over a 10 second period, the accuracy expressed as a fractional deviation from 10 MHz is within +/-3x10-11 99% of the time. This equates to around 0.1 Hz RMS at 10 GHz. Stability, or "jitter" is conventionally described by the statistic called Allan Deviation (see the NIST link above). Typically, at T=1 it's 2x10-12, T=10 is 5x10-12, T=100 is 4x10-12 and then it falls steadily to under 1x10-13 at 1 day. There is some spread from sample to sample, but it is unlikely to be more than 2x greater than the above. The phase noise (i.e. very short term jitter) is excellent; multiplied by 1000, a pure tone at 10 GHz has barely a hint of noise. Mainly it reveals the instabilities of one's downconverter ... An interesting comparison of several GPSDOs, including this one, is at: http://www.leapsecond.com/pages/gpsdo/ How can I order this GPSDO? As of 2017 Nov, after 10 years and supply of 550 units, this GPSDO has reached the end of production. This is because I've no more Jupiter GPS engines. Adequate spare parts have been retained for service/repair purposes. When I've tidied up the residual contents of my stores, there will be surplus items, which I will offer for sale, notably OCXOs. I have a Jupiter; can you make me a GPSDO with it? The need to order parts in batches of 100 means that this is impractical. Can you send me the schematic and parts list? Documentation was supplied with the GPSDO. Where can I get a 10 MHz Distribution Amplifier? Look at the (sometimes available) TAPR TADD-1. It takes a 1V RMS sinewave input and has six outputs. The input and all outputs are DC isolated. A smart enclosure is available: http://www.tapr.org/ (USA). A 4-way unit, available made and tested or at PCB and kit level is available from Down East Microwave (USA). For a 2-way splitter, try a simple passive Wilkinson divider. How can I generate 10 MHz harmonics? If you are comfortable with self-build take a look at: http://f5cau.pagesperso-orange.fr/marqueur/page_marq.htm This unit generates harmonics at 1 MHz intervals to beyond 10 GHz. Do-It-Yourself GPSDO I have a Jupiter GPS and a 10 MHz oscillator I found on eBay. Can I make myself a simple GPSDO? Yes; see http://www.jrmiller.demon.co.uk/projects/ministd/frqstd0.htm Where can I find Jupiter GPS documentation? http://www.gpskit.nl/downloads-en.htm has a good collection of Rockwell documentation in one place. Navman, who acquired the interests in Rockwell/Conexant's GPS brand 'Jupiter', no longer list legacy documents, which is reprehensible. How do I RESET a Jupiter GPS? Instructions for restoring a Jupiter GPS receiver to the factory default state and/or GPSDO-friendly state are here. Other useful commands are included. How do I identify a Jupiter GPS? A typical Jupiter product number is TU30-D140-221 You can tell explicitly by looking at the underside. There's a small dark panel with some fat white numbers in it. They look something like this:
 221 9932 GPXO
In this example: 221 is the model suffix (as in TU30-D140-221) 9932 is a date code (1999 week 32) GPXO is a production ID The TU30-D140 product identification is in white legend just above the fat white numbers. Below the fat white numbers is the part number of the bare PCB itself, in copper trace under green, typically TU30-D145-027 You can also tell something from the eprom label on the topside. -141 models have "JUP7" and "V118" (and straight up MCX connector) or "JUP8" and "V180" -221 models have "JUP8" and "V180" (and straight up MCX connector) -151 and -231 are as above, but with a right angle MCX connector. "Vxxx" is the firmware version number, e.g. V1.80 Abbreviations GPS Global Positioning System http://www.nist.gov/pml/div688/grp40/enc-g.cfm#gps GPSDO GPS Disciplined Oscillator NIST National Institute of Standards. Formerly NBS. http://www.nist.gov NMEA National Marine Electronics Association http://www.gpsinformation.org/dale/nmea.htm MCX A sub-miniature coaxial connector http://en.wikipedia.org/wiki/MCX_connector SMA A sub-miniature coaxial connector http://en.wikipedia.org/wiki/SMA_connector OCXO Oven Controlled Crystal Oscillator http://www.nist.gov/pml/div688/grp40/enc-no.cfm#ocxo PLL Phase-locked loop http://en.wikipedia.org/wiki/Phase_locked_loop RX Receiver, as in radio RX
Appendix: Jupiter Date Initialisation Design When the older Jupiter GPS RX is powered on it has a default start date, Week 912 (1997 Jun 28). When the RX acquires satellites the displayed date gets updated. Nowadays that date is likely to be in error by 1024 or 2048 weeks. There is interesting detail ... The GPS Week Number broadcast by the GPS satellites is assigned 10 bits, which provides a range of only 0-1023 weeks. GPS Week 0 is 1980 Jan 06. The earliest Jupiter firmware dates from mid-1995. As 1024 weeks is 19.6 years, when the Jupiter GPS receiver was released, the date was already around week 800 and most of the span 0-1023 was consumed. At true week 1024, the GPS broadcast would wrap round and start again from 0, which would cause dates to revert to the start of 1980. And by the middle of the Jupiter's peak of production, at the date 1999 Aug 22 the wrap-around would already have happened! A resolution of this by the Jupiter firmware was needed. A simplistic solution is that a GPS receiver can assume broadcast GPS Week 0 is actually week 1024. By this modification, GPS broadcast week numbers 0-1023 are interpreted as true week number 1024-2047, the period 1999 Aug 22 - 2019 Mar 31. At the end of that final week, 2019 Apr 06 23:59:59 the week would wrap around to week 1024, 1999 Aug 22. This is what happened to many GPS receivers. However some GPS receivers, once they are manually date-initialised, can remember the rollover date event in their ROM and so continue with broadcast GPS Week 0-1023, being equivalent to true week 2048-3071, which is 2019 Apr 07 - 2038 Nov 14, and so on. The early (1995 on) Jupiter designers took a subtly modified approach. Because Jupiter production commenced around week 800, the span of the 1024 weeks was chosen to be offset, such that the valid span is true weeks 808-1831 inclusive. That is, NOT 0-1023 1024-2047 or 2048-3071 etc, but instead overlapping part of first era and most of the the second. Thus, due to the Jupiter's offset design, GPS broadcast Weeks Numbers mapped as follows: Broadcast weeks 808-1023 map to true weeks 808-1023 = 1995 Jul 02 - 1999 Aug 15 Broadcast weeks 0- 807 map to true weeks 1024-1831 = 1999 Aug 22 - 2015 Feb 08 At rollover, i.e. the start of week 1832 (2015 Feb 15) the displayed date reverted to week 808 (1995 Jul 02), an event which was widely reported at the time. The forgoing describes the default behaviour when there is no user control. However a user can command the Jupiter to any required date, the real date being the obvious choice. In fact, due to the offset nature of the Jupiter week number handling, provided the offered date is with the range GPS_Week_Today-919 weeks and GPS_Week_Today+104 weeks, then when satellites are acquired, the Jupiter GPS receiver will magically display the correct date. Notes by James Miller 2020 Jan 21
 Contact
Last updated: 2020 Jan 21