GPS Disciplined Oscillator

This project use a RX GPS with 10KHz output. In my case the GPS Receiver is a Jupiter TU60-D120(8 ch, NAVMAN,i-Lotus Motorola, Binary Protocol).
The receiver comunicate with PC via RS232. PC software is Tac32 or WinOncore. Print Screens: Tac32, Winoncore.
Main 10MHz oscillator can be BLILEY NV47M1008 (Oven Controlled Crystal Oscillator), Kv = 8Hz/Volt or other similar OCXO.

My project is slightly different from others. The main problem was getting the signal of 4MHz. 10MHz signal had doubled and then divided by 5.
Why is it so important 4MHz? Because it is often used by uC applications such as: counters, signal generators...

The device is able to generate:
10MHz sine 0.5Vpp/50ohms. Second and 3rd harmonics are down to -65...70dB. See 10MHz Oscillogram.
4MHz sine 1Vpp/50ohms.Second harmonic down -30dBc. See 4MHz Oscillogram.
5,10,100KHz, 1,4,5,10,20MHz square wave
(TTL/CMOS). See 1MHz Oscillogram.

Antenna is a home made Helical but I recommend industrial GPS antenna and integrated LNA.
Attention: Helical antenna is a short circuit for DC. Power supply for external antenna must turned OFF. For Jupiter TU60 i removed FB1 inductance. See photo.

Current consumption: 0.8A cold start, then decrease to 0.4A @ 12V.
For best stability performances, the OCXO is located inside of a home made thermal isolation box.
PLL loop filter can be optimized for best result.

GPS Jupiter-T TU60-D120

PLL Board and OCXO


LPF Filter 10MHz Output


Completed Project


GPS Oscillator Schematic(.pdf A3 size)
PCB - Position Components
PCB - Bottom
PCB - Sprint Layout project

For Output Frequency Switch, you can use: Mechanical BCD Switch or UP/DOWN BCD Counter(40192) + Decimal Decoder(4028).

Schematic BCD Counter
PCB - Bottom
PCB - Position Component

UPDATE 27.10.2019

"3D Fix" detection and GPS power up initialization using standalone Atmega328 or Arduino Uno/Nano module.

Initialization of TU60 GPS receiver is done by Navman Binary protocol. Initalization word is sent one time after 1.5sec from uC power up. RS232 monitoring is not affected.
After power up, next commands are sent to GPS Rx:
- Enable "@@Ea" position/status message;
- Position Hold mode;
- Satellite Mask angle 10 degrees;
- Enable 1pps output if TRAIM Alarm is OK (less than 800nsec);
- Checksums for above commands;

"3D Fix" detection is implemented by reading @@Ea01 string status & 1pps output activation (TRAIM OK). Both condition must to be active (AND logic) for more than 2 seconds. In this way "3D Fix" stability is improved.
Detection is tricky using available Visuino components due to unstable position of text flag. The results are good after many experiments around of Binary Protocol.
Arduino LED 13 output can be used for "3D fix". The function is already integrated by software but missing from schematic. Outputs 12, 13 are inverted and one of them can be used according necessity.

More functions can be added inside of Visuino project. For example accurate PLL LOCK detection, OCXO warm up status by sensing of supply current. See my last ADF4001 GPS Oscillator.

Schematic 3D Fix
Initialization Table
3D Fix Status
reported by @@Ea command
Arduino Sketch
Visuino project
View of Visuino sketch
Atmega328 Firmware. Hex file compiled for standalone uC, Arduino Uno pinout equivalent. External 16MHz clock oscillator, internal RC oscillator is not suitable for good baudrate stability.



[email protected]