Post Go back to editing

Is DLL and calibration necessary for AD9176 to output properly

Category: Hardware
Product Number: 1
Software Version: vivado2017.4 and xilinx sdk

project use AD9176 mode2, clk locked, cgs passed, ilas passed. the state of cgs and ilas is checked by function from AD917x API Specification 
check the fpga which sends data via JESD204B to AD9176, data is properly sending.
calibration not passed, didn't use DLL.
want to know: whether the calibration and DLL necessary for AD9176 working properly to output waveform?if calibraiton not passed, can AD9176 output waveform?
now the dac doesn't output any signal on oscilloscope.check every register, only calibration not passed.

  • Hello, the DLL is necessary to match the timing between the analog and the digital clock lines of the device at the dac switch driver. At high clock speeds small skew between these two lines will disrupt the dac output. When you say the DLL is not used do you mean just that the cal didn't pass, or that the DLL setup has been actively excluded from the project code? Are you running ad917x_set_dac_clk_freq? It's strange that you would see no output at all from the dac. Are bits [3:2] of 0x596 set to enable transmission?

  • Thanks for your answer.

    The problem you mentioned is set as follows:

    1.DLL setup has been actively excluded from the project code. 

    2.ad917x_set_dac_clk_freq are set in thead917x_set_dac_clk,which in program is :

    dacError = ad917x_set_dac_clk(&ad917x_h, 5898240e3, 1, 245760000);

    3.bits [3:2] of 0x596 set and printed to be 0x0C.


    The reason why excluded DLL from the project is : at first, i just want to test the whole system to output some simple wave.

    thought the DLL just control the delay ,so didn’t active it.

    Do you mean if I dont activate DLL, the DAC wont output any wavform?


    By the way , in order to debug, i utilize NCO-only mode,  the parameters are set as your answer to another user, also follow the datasheet instruction.

    Relative register printed as follows:

    is this setting correct(the page switching contained)? if this setting is right and still no output sine wave at the oscilloscope, can this prove my hardware do have some problem?

  • Hello, do you have the main NCOs enabled with 0x112[3] = 1 for both dac0 (DDSM_NCO_EN bit)? The paging order in your screenshot looks correct. In order to update the main NCO FTW you need to toggle 0x113[0] from 0 to 1 (I know the screenshot is a readback so the value oc 0x113=0x3 looks like the update request bit was set and the update was completed which is correct, but wanted to specify just in case).

    The DLL circuit is not for delaying the output signal, it is actually used to synchronize the analog and digital clock paths of the device prior to the output. The reference clock to the device gets split between these paths and must be resynced to ensure that the digital data is arriving in sync with the analog clock to the dac core. The DLL checks the phase between these two clks and aligns them using a delay circuit. 

  •  your mention of 0x112 is indeed the reason why nco-only not work.

    after nco-only test, i intilized DLL to continue with normal mode and adjust a set of register, strictly follow the guidline of datasheet.

    the output work well, thanks for you support!