Hello everyone,
I'm in need of a GNSSDO for accurate time
synchronization of moving vehicles distributed over a few (dozen) square km. I've been professionally using the James Miller (G3RUH)
Ministd, Jackson Labs
LC_XO, and SRS
FS740, but none of these deliver satisfactory results when used on the move. That's certainly not a flaw of these devices, because presumably they were not designed with a non-stationary use case in mind. Therefore, I decided to build a suitable GNSSDO myself. This is
not a low-cost project. Development priorities are performance, simplicity, and value for money in that order.
I have positive experience with the u-blox ZED-F9P
RTK GNSS receivers. As the F9P can achieve <5cm position accuracy with RTK correction data, its timing receiver sibling (ZED-F9T) should enable sub-nanosecond timing accuracy. The F9T supports
differential timing via the same correction data used for RTK positioning. I'm not aware of any other GNSS timing receivers supporting this feature. The F9T also exhibits
excellent Allan deviation (~5e-11 @ 10s). Therefore, the F9T is the center piece of my design, relying on the
RCB-F9T board for prototyping.
Design aspects/goals:
- ZED-F9T timing GNSS receiver with RTK correction data
- 10 MHz OCXO as local reference oscillator (special OCXOs with low g-sensitivity for non-stationary use exist)
- TDC7200 for ~50 ps measurement of GNSS timepulse vs. OCXO
- STM32 32-bit timer capture (~6ns resolution) to resolve aliasing/ambiguity of TDC measurement
- <10ns relative accuracy within 10 km radius while on the move (preferably <1ns)
- stabilized pulse output derived from OCXO (not directly from GNSS receiver)
- configurable pulse properties (not only 1PPS) with fine-tunable delay (~200ps resolution via STM32G4x4 high resolution timers)
- integrated distribution amplifier for 10 MHz and 1PPS outputs (capable of driving 50 Ohm loads)
- part and manufacturing costs preferably <500€ per device (excl. OCXO)
My architecture is inspired (among others) by thinkfat's
DIY GPSDO project w/ STM32, TDC7200. However, I hope to improve on these aspects:
- Minimize digital processing of OCXO output. Feed 10 MHz directly to TDC7200 without division via 74HC390 to minimize temperature dependence.
- Only use low-jitter clock ICs (e.g., LMK1C110x for fanout). No 74-type components, which AFAIK do not have jitter or phase noise specs.
- Active 1 Hz low-pass filter after tuning DAC to a) minimize noise (from supply, voltage reference, and DAC) fed to OCXO control voltage input and to b) enable finer than 16-bit tuning resolution via PWM. Assuming a 2 ppm tuning range, 16 bit yields 30 ppt frequency tuning resolution. At 10 seconds, that's already 300 ps, which is higher than the TDC7200's ~50 ps resolution. Hence, a finer tuning resolution may come in handy, of course depending on the actual stability of OCXO and GNSS.
My next step is to build a prototype PCB to put my ideas to the test. I've devised the preliminary architecture and put it into a schematic. The layout is in progress.
I've attached the schematic and would appreciate constructive feedback, prior to having it produced.