On 12/6/2012 4:26 AM, Fabio Eboli wrote:
Here are the design documents, if you're curious:
http://hg.partiallystapled.com/circuits/serafine/raw-file/d75ab09ca163/out/production.PDF



Thank you very much, I will study it with interest,
it will be very helpul to see what you have done.
Can I ask you more details? I didnt's understand
how you are using the timers: are you timestamping
each pps transistion using the internal clock?
Are you using the pll to obtain 72MHz (x9) for the clock?

Yes, the crystal oscillator is multiplied up to 72MHz which then drives the timer. Even though the particular timer peripheral I chose happens to be on the APB1 bus which is restricted to 36MHz, the timer itself is still fed with the 72MHz clock. Both PPS signals (generated from OCXO and received from GPS) are then independently timestamped. The timestamps are extended to 64 bits by adding the value captured from the IC to an "epoch" variable that is incremented every time the timer itself rolls over. This works fairly well but my implementation is slightly buggy, occasionally the timestamps will be off by an epoch (plus or minus 65536 ticks) but such a large deviation is easily detectable and is discarded. The timestamps are subtracted to get phase difference which is then fed into the proportional-integral controller which seeks to zero the phase difference, with two different "speeds" for early startup and later settling once the oscillations dampen. This last part is the bit that needs major work since the phase difference continues oscillating by up to 5 "ticks" (72MHz periods) and sometimes has excursions to 10 or 15 before it settles down again. NTPns seems to be self-tuning which could help a great deal. The coefficients I'm using are experimentally determined which is probably why the settling isn't very good. There's also the problem of not currently having a TIC or similar equipment for quantifying the performance of the system as a whole, I should buy or build one sooner rather than later.

_______________________________________________
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.

Reply via email to