[time-nuts] STM32 based thing (was GPSDO Alternatives)
fabioeb at quipo.it
Fri Dec 7 09:26:58 UTC 2012
Michael Tharp <gxti at partiallystapled.com> ha scritto:
> On 12/6/2012 4:26 AM, Fabio Eboli wrote:
>> 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
Ok, now I understand.
How is faring the pll clock on 1s intervals? The datasheet reports
300pS jitter, that should be good.
My plan for now is this:
(sorry if my terms are not exact), i will start with a Rb instead
of an OCXO. I want to try to measure the ratio between the GPS and
the Rb, to do so I will use the Rb 10MHz clock a timebase for the pps.
The first counter will be setup as input capture with external clock,
the clock is the Rb 10MHz and the captured will be the rising edges
of the GPS.
This will give a count of around 10^7. Then I will use a second
counter with internal clock that will start on the pps edge and stop
on the Rb edge, the result will go from zero to 100nS/13.9ns=7
This count will give some interpolation.
As far as I understood all this could be done in the internal hw, but
it remains to be seen if there are problems with the actual hardware
(bugs, silicon errata etc).
The external hw for now will be a normal XO for the micro, and some
logic to square the inputs, perhaps I will setup also a FF
to have a pulse that starts with the PPS and stops with the
first 10MHz edge, this will be useful for testing with the
real counter and to eventually implement an analogue TAC.
Just now I was simulating on ltspice some TAC interpolators,
if the previous system will go I'm thinking to add an analog
interpolator that will convert the 0 to 100nS edge difference
between the Rb clock and the pps in analog value, to increment
the single shot resolution. I was also thinking that for the
disciplining I dont need to have the interpolator giving the
exact time interval, but I need it only be sensitive and stable
The control loop is entirely another problem :)
Ok now I need to start burning some flash to check if
the thing can go somewhere.
This message was sent using IMP, the Internet Messaging Program.
More information about the time-nuts