AnsweredAssumed Answered

Synchronizing AD9958 to MCU

Question asked by mtwieg on Jan 29, 2012
Latest reply on Feb 6, 2012 by DSB

Hello, I've seen lots of good discussion about synchronization between multiple DDS devices, but not much about synchronizing the DDS with the controlling MCU.  In my application, I'd like it so that the phase of the DDS output is always the same relative to the I/O update pulses from my MCU.  So far I've been unable to do this since the clock of my MCU and the DDS are different.  My MCU runs at 60MHz, while the DDS runs at 120MHz:  they are both derived from an external 12MHz oscillator.  So the SYNC_CLK of the DDS runs at 30MHz, half of the MCU frequency.  I've observed that the phases of the SYNC_CLK and the MCU's CLK are phase locked to each other, as they should be.  But there is still a 16.67ns uncertainty between when my MCU issues the I/O update pulse, and when the DDS actually latches it in and updates the register.  I want to get rid of that uncertainty.


An easy way to do it would be to run the DDS master clock at 240MHz, resulting in a SYNC_CLK of 60MHz, but unfortunately the VCO in the DDS is not specified to run at 240MHz, so that won't work (and no, I can't change my MCU frequency from 60MHz).  So is there any simple way to do this?  Maybe I could have the MCU output a 30MHz clock into the SYNC_IN pin of the DDS, and treat it like it's syncing to another DDS master?


Any thoughts?