On Thu, Apr 10, 2014 at 6:47 PM, Charles Steinmetz <csteinm...@yandex.com>wrote:
Here is my assumption: You are a b=eginner at this precision time hobby and lack a good reference oscillator so you decide to build this very simple GPSDO as you first good frequency reference. This is the intended user. > You originally described a system that counts to 5M every second. Tom and > others pointed out that you do not need the complete 5M count, all you need > is the remainder of a modulo count. The question then is, how much of a > remainder do you need to be sure that it spans all anticipated errors in > both the PPS and the oscillator? Yes this right. I'm sure that under limited conditions I can get by looking only at the remainder. It is harder than was said because the overflows per second rate is a non-interger but there are till only two "flavors" of seconds: Those with N overflows and those with N+1 overflows. > Tom opined that 8 bits should be sufficient, based on some realistic > assumptions regarding the anticipated errors in PPS placement and > oscillator drift. (Note that a 256 cycles per second error is 51 PPM at 5 > MHz.) Brent said that he found 8 bits was not sufficient to track his OCXO > from cold, so he went to 16 bits. I questioned whether trying to track the > OCXO from cold was a worthwhile exercise. > No, not from "cold" but the warmed up OCXO with a arbitrary voltage on it's EFC pin. (I assume you can not guess the best EFC every time) > > So: If you can't count on anything, then you need to count every cycle. > (But wait -- if you can't count on anything, you can't count on your PPS > being accurate, either.) In the real world, you should be able to trust > that any oscillator that is chosen for a GPSDO will free-run within 1 PPM > when it is warmed up, and that your PPS will always be within 1 PPM, as > well. This determines how large your remainder needs to be. But how do you let it "free run" Do you disconnect the EFC pin using a relay to open the connection to the DAC? Or do you just output a mid-range value, whatever voltage that might be. > I agree with Tom that 8 bits should be plenty (with the caveat pointed out > by Brent, that 8 bits may not be enough to track the OCXO from cold). So, > my suggestion was to wait until you CAN trust that the oscillator error is > within your error budget before starting to discipline. > In the final developed system I would place a temperature sensor on directly on the OCXO. > > As far as where to start the DAC, I'd be inclined to determine what EFC > voltage puts the warmed-up oscillator within 1 PPM and store the > corresponding DAC word for readout at boot time. (I'm assuming here that > any aspiring time nut has or can beg a counter good to 1PPM before building > the GPSDO. If not, see below.) To account for long-term oscillator drift, > you can update the DAC word in NV memory with the long-term average during > locked operation. > So you are borrowing a 1PPM counter and using NV memory to avoid counting overflows and a half dozen lines of code. Or to say it another way. If I leave those line of code in place the Arduino IS a 1ppm counter. In fact I had an LCD connected to the Arduino and I diplayed the found every second. I placed the LCD near m=by HP counter and the matched. I thought to myself "this $8 device is as good as a 10MHz HP counter. Maybe I leave in the overflow counting at first then once we get to locked state I switch to looking only at the last 8 bits of the timer. This allows the GPSDO to bootstrap itself with not need for other test equipment. > > As far as disciplining the oscillator from cold (which I do not recommend > for the reasons I discussed previously), you could do the same thing, > either manually at construction/alignment time, or by counting the full 5M > immediately at startup and zeroing the oscillator with a fast loop. (This > would also apply to the warmed-up DAC count referred to in the paragraph > next above, if you do not have independent means to ascertain when the OCXO > is on frequency. In either case, you could make the "count every cycle" > mode a manually-invoked calibration subroutine and use the more efficient > and robust modulo count for normal operation.) I think this is the conclusion I made above. The fast lock count every cycle mode works for any crystal, even a very poor one. I can use it until I deter the steady state then switch to a different mode. I need to figure out how to best use the TIC capacitor voltage too. > > Best regards, > > Charles > > > > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/ > mailman/listinfo/time-nuts > and follow the instructions there. > -- Chris Albertson Redondo Beach, California _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.