10 MHZ Time Base Revisited ..#2

Thread Starter

MIS42N

Joined Jan 25, 2013
13
Never heard of that phenomenon. Can you cite any references?
I might have misremembered what I read. I am mainly interested in GPSDO (GPS disciplined oscillators) to try and achieve very accurate frequency references. Oscillator aging is affected by drive level - more drive = quicker aging (there are many references to this). In my mind I translated that to more drive = more stress. However the level of stress may not affect day to day performance so I'm most likely on the wrong track. When I started looking at building a GPSDO (some years ago now) I read quite a bit about building oscillators and in the end buying an ovenised voltage controlled oscillator off the shelf seemed like the easiest path.

Mod: Created your own Thread.E
 
Last edited by a moderator:

andrewmm

Joined Feb 25, 2011
907
I might have misremembered what I read. I am mainly interested in GPSDO (GPS disciplined oscillators) to try and achieve very accurate frequency references. Oscillator aging is affected by drive level - more drive = quicker aging (there are many references to this). In my mind I translated that to more drive = more stress. However the level of stress may not affect day to day performance so I'm most likely on the wrong track. When I started looking at building a GPSDO (some years ago now) I read quite a bit about building oscillators and in the end buying an ovenised voltage controlled oscillator off the shelf seemed like the easiest path.

Mod: Created your own Thread.E
If your after a GPSDO,
this might be of interest
https://www.sdr-kits.net/GPS-Disciplined-Reference-Oscillator-for-DG8SAQ-VNWA

https://github.com/dfannin/gpsdo

http://k6jca.blogspot.com/2016/02/an-arduino-based-gps-disciplined.html
 

Thread Starter

MIS42N

Joined Jan 25, 2013
13
If your after a GPSDO,
this might be of interest
Thanks but I design my own. Most use some form of PLL in software or hardware or a combination of both. I don't believe it is the right way to go, my design collects data then does some computation to derive any necessary corrections. I also use the 10 digit PWM on the processor and dither it at 40kHz to emulate a 24 bit DAC. At the moment my latest effort holds the OCXO to +-0.01 Hz of 10MHz but like a PLL it doesn't gain or lose cycles in the long term. Temperature affects the control voltage, the main reason for error. I am confident if I use a precision voltage reference this will go to +-0.001Hz using the current OCXO (the $4 used OSC5A2B02 I mentioned). I also have a double oven OCXO and I'm hoping to get that 10 times better again.
 

andrewmm

Joined Feb 25, 2011
907
I'm well impressed ,
will be great to see a report on what you end up with,

I'm also interested in how you are measuring these sort of frequency variations ?
 

Thread Starter

MIS42N

Joined Jan 25, 2013
13
I'm well impressed ,
will be great to see a report on what you end up with,

I'm also interested in how you are measuring these sort of frequency variations ?
The circuit is ridiculously simple, I've attached it. My design criteria for this build is minimum cost. The power supply is a 5V switch mode originally used for an obsolete network switch. I've omitted the output (still working on that) and some supply bypass capacitors.

The PIC does the heavy lifting. It gets its clock from the OCXO via the 22pF capacitor. Internally it generates 40MHz with a built in x4 PLL. PICs use 4 clock cycles for each instruction but some of the peripherals can run at 40MHz - importantly the PWM and Timer 1. Timer 2 drives the PWM, it is set to loop at 250 instruction cycles = 1000 clocks. This allows the PWM to generate 1000 bits x 40,000 loops /second. On every loop the number of high bits is reloaded, to give a unique 16,384,000 bit string a couple of times a second (almost 24 bit resolution). This sets the control voltage to better than 1uV. It needs some heavy filtering as can be seen from the circuit.

The second hardware dependent operation is capturing the 1 pulse per second from the NEO-6. This uses the timer 1 gate. The timer runs at 40MHz and is started about 800uS before the 1ppS is expected to arrive. It is detected by a comparator (which conveniently can be triggered by a 3V pulse otherwise would need a level translator). The comparator output stops timer 1 with a resolution of 25nS. The GPS output has a jitter of around 25nS so there is no point in trying for a finer resolution.

So to your question - how do I calculate the frequency variation? The GPS 1ppS is quite variable in the short term (+-100nS typical) but quite reliable in the long term. So if measuring 1000 seconds (for example) the period will be 1000 seconds +-100nS or 1 part in 10^-10. When the PIC starts for the first time it does an extended test of the sensitivity of the OCXO to the control voltage (this one is about 0.1V/Hz) and that value is stored in non-volatile memory for subsequent use.

The PIC stores the "arrival time" of 1ppS over a period (I put it in quotes because the 1ppS arrives pretty much at the same time each second, but the PIC views it from the POV of the OCXO). This is averaged and tested against some limits (allowing the OCXO to drift off for a cycle or two). When the limit is reached, the PIC "knows" how much it has to adjust the control voltage to bring the OCXO back in synchronisation with the 1ppS. Knowing the sensitivity of the control voltage, and the change in control voltage, can calculate the change in frequency. Typically the changes are made at more than 100 second intervals (and if things are stable, can be over an hour). Those changes are less than 0.01Hz so can infer the OCXO is within 0.01Hz of the right frequency.

Hope that makes sense.PIC16F1455v1a.png
 

andrewmm

Joined Feb 25, 2011
907
Thank you @MIS42N

very informative,

my experience with GPS was the time accuracy was off in one direction for long periods 20 odd minutes one way, then 20 odd minutes the other way, and we ended up using kalman filtering to sort thign's out. This was 25 years ago though, and GPS has become less encrypted since then, so that might make a difference.

We also had problems trying to keep the VCXO voltage quiet, we in reality never managed the sub uV level with the simple filter circuit.

As the VCXO uses the difference between ground and its control terminal to set its frequency, the ground noise was a significant contributor.

We ended up with a special VCXO with differential control made !

Just thinking about it now,

other ideas could be to use an isolated input filter, with the filter ground referenced to the VCXO ground,
an opto or a transformer driver of the filter would give you that isolation.

Very enjoyable.
 

Thread Starter

MIS42N

Joined Jan 25, 2013
13
Thank you @MIS42N

my experience with GPS was the time accuracy was off in one direction for long periods 20 odd minutes one way, then 20 odd minutes the other way, and we ended up using kalman filtering to sort thign's out. This was 25 years ago though, and GPS has become less encrypted since then, so that might make a difference.
Not such a problem today. The NEO-6 is cheap (probably even a Chinese knock off) but as long as it gets a good signal wanders about the +-100nS I indicated. I started with one that had the antenna on the back of the GPS board, but couldn't find a position where it got a reliable signal - took around 10-15 minutes to get a fix and then wandered a lot. I used a similar unit for a sidereal clock in the same place and it was fine with the weak signal. But this needed something better so I caved in and bought a NEO-6 with a powered antenna and 3m lead. it nearly doubled the build cost, the antenna cost more than the GPS unit.

There are GPS units designed for timing, but from what I read they aren't the whole solution. All the PLLs follow the changes in ionospheric conditions so they still wander a bit. Which is why I am using the limit strategy. It takes longer to lock but I believe will give a better long term result, immune to small variations.

I handle the wander using a linear interpolation algorithm that, if the OCXO is stable, handles up to 2048 seconds of data. If still running within the limits, it drops the first 256 seconds of data and accumulates another 256. So corrections don't need to be made at any particular interval. Without better equipment I can't determine if the OCXO is the limiting factor or the GPS, but my money is on the OCXO due to the very reason you mention here:

We also had problems trying to keep the VCXO voltage quiet, we in reality never managed the sub uV level with the simple filter circuit.
Modelling my filter indicates it disappears all the PWM artifacts, down around a few nV. So the filter is not the problem, it's the stability of the supply voltage. I have what I believe is a solution. Instead of taking the PWM output to the first filter, have it drive a 2n7000/BS250 pair that derive their supply from a precision voltage source. Gates tied to the PWM and each has a 10K resistor from the drain to the first 10uF capacitor. I bought, but haven't yet used, a MAX6350CPA+. Be interesting to see if it makes a difference. The earth of the MAX tied to the earth of the OCXO, only a couple of mA so I think it will be quiet.

In version X (when I get around to it), I have two used MV89 DOCXOs I bought years ago. The MV89 has a 5V output which may be better than the MAX6350, I'm hoping the 2n7000/BS250 tactic works with it. I had one running with op amps in the loop, the results were not good (better than this one, but not in the 10^-11 or better that I think is achievable).
 

andrewmm

Joined Feb 25, 2011
907
Thank you @MIS42N
I'm looking forward to your updates on this .

You mention simulation of the filter,
be careful, Simulation assumes ground has zero noise,
where as we fond that in reality, the ground on the VCXO and the filter ground had a good few uV of noise between them,
 

Thread Starter

MIS42N

Joined Jan 25, 2013
13
Thank you @MIS42N
I'm looking forward to your updates on this .
An update:

I made a "GPS extender" using 16 meters of UTP Ethernet cable. The GPS antenna is on an iron roof 6 meters up with the GPS module under the roof. Serial data and 1ppS are sent as differential signals to the GPSDO in the house. Works really well, the corrections are now less than +-0.002 Hz (a factor of 5 better than before). I'm putting the improvement down to a better view of the sky and a more stable temperature for the GPSDO.
 
Top