AnsweredAssumed Answered

Using a (160Mhz) micro-controller to control the AD9914/AD9915 DDS

Question asked by Halausteve on Dec 28, 2012
Latest reply on Jan 8, 2013 by DSB

My Professor has given me the project of getting the latest AD9914 up and running, and to drive it to it's limits.


My initial thoughts are to use a single chip Microcontroller(160 Mhz Clock),

with General Purpose I/O outputs,

where my C code can set the lines to high or low states,

to set address/ data lines, and lower/raise Write and Read lines,

to initialize the control function registers, set initial profile values,

and set bits to request resets, or start-up calibrations.


Once the AD9914 has its DAC calibrated, and the VCO/PLL initialized 


I can still limp by, using GPIO (100Mhz) outputs to set up [D31:0] Data Port,

then pulse IO_UPDATE(30ns) high long enough for the SYNC_CLK rising edge

to happen at least once, to latch in the data.  



The AD9914 is outputting the SYNC_CLK(150Mhz), and obviously clocking in the data on the rising edge,


but my microcontroller  program only can assume that my data got transferred SOMEWHERE

between the start and stop of the IO_UPDATE pulse that my program sent to the AD9914.


So I see some loss of control here, and I wished a person more experienced than myself


might be able to suggest how to do the job the right way.



Any suggestions or to steer me onto a different solution is greatly appreciated.


Thanks to all.