[time-nuts] Distributed DDS
javier.serrano.pareja at gmail.com
Mon Jan 31 08:45:21 UTC 2011
On Sun, Jan 30, 2011 at 3:37 PM, Magnus Danielson <
magnus at rubidium.dyndns.org> wrote:
> Doing what you proposes with timely updates of DDS frequency as comes out
> of a PLL loop will work nicely if only the phase is coordinated. However,
> what happens if a node or number of nodes experience a short break? They
> will be phase-shifted so phase-alignment will be lost.
> This is the danger of frequency updates only. You need to figure out a
> method to overcome that, and one is to provide phase-difference to the PPS
> (or a higher rate clock to reduce time) such that phase may be restored with
> a local control-loop which makes local tweaks to overcome local errors.
My naive view of the DDS would be a DDS core inside the FPGA and a DAC. In
this simple scheme, a broadcast of the value of the states of the DDS core
(including data out to the DAC) with an associated UTC time at with they
should be applied would get everybody synchronized. This scheme is also
robust wrt link failure, in the sense that things will go back to nominal
once the link is re-established (you can't do better than that). As you say,
broadcasting the complete state is the key, thanks for the tip. Going from
the FPGA solution, in which you have all freedom, to an AD9910 should be a
matter of carefully studying the datasheet and coming up with a way of
guaranteeing coherent states everywhere. I will look into it.
More information about the time-nuts