[time-nuts] First success with very simple, very low cost GPSDO

Bob Stewart bob at evoria.net
Fri Apr 11 05:20:17 UTC 2014


The only thing I need to know, in fact the only thing available to me, is the fact that a phase crossing has occurred.  Since 10MHz is 0x989680, then all I need to know is whether my timer delta is above, equal to, or below 0x9680, without regard to anything else.  None of the other 0x9680 points are within the range of my oscillator.  In fact, they are way out of range.  There are two conditions that can happen with this type of counter which someone else spoke about.  In the one case, you are sitting right on the phase point, and the timer will bounce back and forth, from 0x967F to 0x9681; i.e. you will have a limited amount of phase information.  In the other, you are not near the phase point, and you will get just the frequency result.

The problem with sitting right on the phase point is that it tricks you into thinking you are getting more out of the system than you actually are.  But, you are only getting a few nanoseconds, i.e. a few degrees, worth of phase information.  Once the system drifts out of that little phase band, then all you know is which way it drifted, not how quickly or how far.  I spent far too many tens of hours thinking I could solve the problem.  I couldn't.  There's just not enough information available to you.  You have to resort to guessing, based on what you know about your oscillator.  But you can't be right enough in your guess to make a reliable phase control.  So, at least for me, it sits on phase for quite awhile, then it drifts off, your PLL stops, and you wait till you drift back to the phase point.  Rinse, repeat, fail.  But, it's always possible that you can see something in the data that I didn't.

Bob



>________________________________
> From: Chris Albertson <albertson.chris at gmail.com>
>To: Bob Stewart <bob at evoria.net>; Discussion of precise time and frequency measurement <time-nuts at febo.com> 
>Sent: Thursday, April 10, 2014 11:33 PM
>Subject: Re: [time-nuts] First success with very simple, very low cost GPSDO
> 
>
>
>
>
>
>
>
>On Thu, Apr 10, 2014 at 4:52 PM, Bob Stewart <bob at evoria.net> wrote:
>
>FWIW, I set the DAC to midpoint and use a binary search to get to frequency.  On my system, I start off with a change of 0x80 and work my way down to 0x04 in powers of 2 (0x80, 0x40, 0x20, etc).  Once I get to 256 seconds between DAC changes, I light the PLL fuse.  I could probably get away with less than 256 seconds.  Before I built the TIC, I worked down to 0x01 which resulted in pretty long times between changes.
>
>
>The point i not how to search but how to know if the current frequency is larger or smaller then the desired 10MHz WITHOUT counting all 10,000,000 cycles.
>
>
>The proposal was that could let the timer overflow many times, ignore those overflows and I need to look only at the last 5 or 6 bits of the timer after the PPS interrupt.   I agree now that I can, under tightly limited conditions,  but I claim in your case, while doing a binary search I must count all 10,000,000 cycles. 
>
>
>So at each cycle in your binary search what data do you need to decide if the frequency is high or low?
>
>-- 
>
>Chris Albertson
>Redondo Beach, California 
>
>


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