[time-nuts] GPSDO/GNSSDO project: STM32G4 + u-blox ZED-F9T + TDC7200

Carsten Andrich carsten.andrich at tu-ilmenau.de
Fri Aug 5 19:38:17 UTC 2022


Hello everyone,

back in April I asked about a 100 MHz GNSSDO for mobile use [0]. As 
nothing COTS seemed to be available, I've since started developing a 
prototype based. I finally – been busy with work – got the design to 
sth. work sharing and am looking for feedback. The following is 
cross-posted on the EEVblog forum [1]:

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 [2], Jackson Labs 
LC_XO [3], and SRS FS740 [4], 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 [5] 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 [6] 
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) [7]. Therefore, the 
F9T is the center piece of my design, relying on the RCB-F9T [8] 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 Matthias Welwarsky's "DIY 
GPSDO project w/ STM32, TDC7200" [9]. 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 [10].
  * 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.

Thanks and best regards,
Carsten

[0] 
https://febo.com/pipermail/time-nuts_lists.febo.com/2022-April/105583.html
[1] 
https://www.eevblog.com/forum/projects/gpsdognssdo-stm32g4-u-blox-zed-f9t-tdc7200/
[2] http://www.jrmiller.online/projects/ministd/manual.pdf
[3] https://www.jackson-labs.com/index.php/products/lc_xo
[4] https://www.thinksrs.com/products/fs740.html
[5] https://en.wikipedia.org/wiki/Real-time_kinematic_positioning
[6] 
https://content.u-blox.com/sites/default/files/ZED-F9T-00B_DataSheet_UBX-18053713.pdf#page=6
[7] 
https://hamsci.org/sites/default/files/publications/2020_TAPR_DCC/N8UR_GPS_Evaluation_August2020.pdf#page=25
[8] https://www.u-blox.com/en/product/rcb-f9t-timing-board
[9] 
https://www.eevblog.com/forum/projects/diy-gpsdo-project-w-stm32-tdc7200/
[10] 
https://www.eevblog.com/forum/projects/diy-gpsdo-project-w-stm32-tdc7200/msg2921634/#msg2921634
-------------- next part --------------
A non-text attachment was scrubbed...
Name: STM32G4_GNSSDO.pdf
Type: application/pdf
Size: 295434 bytes
Desc: not available
URL: <http://febo.com/pipermail/time-nuts_lists.febo.com/attachments/20220805/0c16ca3e/attachment.pdf>


More information about the Time-nuts_lists.febo.com mailing list