Post Go back to editing

Initialization of AD9106


Dear support team,

We try to use AD9106 as a source of four sinus signals with different phases. We have checked that all registers have receipted sent commands, and, in particular, the address 0x01 has stored the state 0000 and the addresses 0x26 and 0x27 have stored states 3131. But we don’t see any signals at the chip outs (the pins 10, 14, 27, 31).

We don’t understand also, why in your figures 32 and 33 data are going from high addresses to low once, while in data sheets above has been written out that “the SPI port automatically increments the register address”.

So we have two questions.

  1. Do our commands in the addresses 0x26 and 0x27 correspond to DDSes mode of operation?
  2. What structure of loading program have we to use in order to receive our signals at the AD9106 output pins?

Thank you in advance.


  • Hi Vilen,

    I moved your thread to the High-speed DACs community. Someone here will be able to assist you.

    Best regards,


  • Hi Vilen,

    I hope the following responses answer your questions.

    1. Yes, sending 3131 to registers 0x26 and 0x27 correspond to DDS mode of operation for all the DAC channels. However, a 0000 on register 0x01 means that the AD9106 internal LDOs are not powered on. What voltage rail are you using? If you’re using 1.8V rail, ensure that jumpers are installed on P11, P13, and P15. Otherwise or if you're using 3.3V rail, leave them unconnected.

    2. You may consult Table 21 in page 43 of the device datasheet to configure the SPI interface. You can choose whether to operate in 3-wire or in 4-wire SPI. Just make sure to trigger the device properly to generate the patterns out of the DAC outputs as discussed in page 25.

    Figures 32 and 33 show the timing and format of an SPI command in 3-wire operation. After CS is set to low, the command byte (A15:A0) and data byte(D15:D0) will be driven out of the SDIO port at the clock’s falling edge. The command byte consists of the Read/Write bit and register address.

    By the way, it seems that you are using an external controller to send SPI commands. Can you tell us what controller and software you are using?

    Thank you very much,

  • Hello,

    our degree project group is using the same AD9106 as mentioned in the above problem. We can configure different wave forms using wav_config registers 0x27 and 0x28 to 0x3232 for both (Sine or burst sine). We can correctly configure frequency and gains and delays, but we can not configure the registers 0x40 to 0x43 phase registers for dacs 1 to 4. We have tried to mimic the given output values from the software configuring the phase to different values, but those values give us no phase shift as expected. I was hoping there was some register to configure a phase enable of some sort? Thank you for the help.

  • Hi. I'm sorry for the delayed response.

    Just to give you an initial recommendation, please see my thoughts below:

    1. Is it necessary to phase shift the DAC outputs individually? I mean, if you need to see a shift in phase with respect to another output for example, DAC2 with respect to DAC1, I think the delay function where you set the START_DLYx registers is enough. And I think you already have it working. 
    2. But if you really need to see the DDSx_PW register value to reflect on the individual output waveforms, I suggest that you try setting the WAVx_yCONFIG registers to 0x3131 instead of 0x3232. I still need to try this in the lab too but let me know if it works or not on your end.

    Will get back to you soon.
    Keep safe.

    Best regards,

  • So is it not possible to have a start delay with the phase shift in one configuration? Or will configuring the wav_config register to 0x3131 still allow start delay configurations? Thank you for the reply 

  • Hi.

    When WAVx_yCONFIG registers are set to 0x3131, start delay will not work. But i think in your application, varying the START_DLYx registers is enough to apply a phase shift on a specific waveform since the time delay you apply will correspond to a certain phase shift.

    I found this online calculator very useful to determine phase shift from signal frequency and time delay:

    Best regards,