Post Go back to editing

AD9106 Software and Hardware

Hello everyone and Happy new year!

I am trying to build a circuit that uses the AD9106 to generate a wave from SRAM with the minimum hardware and my schematic has been attached below. after programmed the AD9106 registers to generate output. I have not observed any output. The first attempt for debugging was generating a simple sine wave and observe it on outputs. Unfortunately, all of the outputs were similar off too!

I have a question about my reference clock inputs, These are generated by CDCM6208 Ti using 100MHz Oscillator input and 10MHz output for AD9106. Are these waveforms compatible with AD9106 in terms of LVDS amplitude and DC offset? (two pictures attached).

PYI: I received a sample code for programming AD9106 from .

Best Regard

- Pourya

LVDS Input Clock - DC Couple Oscilloscope

LVDS Input Clock - AC Couple Oscilloscope

  • Hi,

    Please compare your oscillator output specifications with the AD9106 clock input specifications in Table 5 of the datasheet.
    Also, please compare your schematic to the evaluation board schematic.

    Best regards,
    Shine

  • Hi,
    I checked the schematic and don't see any problem. The registers were written correctly and read back successfully. the first register that is written is 0x001E and the last one is 0x001D. I'm trying to use internal resistors for DACs (Rset) by filling the 0x0C register with 0x800A. after written this register, the output of the related DAC channel goes up to 3.3V. But changing of 0x27 (WAV2_1CONFIG) doesn't change waveform and it's constant (3.3V).
    Finally, changing the clock source to a function generator with 1MHz frequency and 3.3V amplitude single-ended wave, the outputs aren't any different!

    My favorable response from AD9106 like URL below:
    ez.analog.com/.../ad9106-minimum-hardware-set

    every suggestions and comment are so pleasant to me.

    Thanks
    - Pourya

  • When you used a function generator, did you have a balun to convert its output signal to a differential signal?

    In the sample code I sent and in the pseudocode in this thread, I used and indicated a register write sequence wherein registers 0x1E and 0x1D were written to last.

  • When you used a function generator, did you have a balun to convert its output signal to a differential signal?

    For first trying, No! I used a function generator in single-ended mode (FunC+ to CLKREF + and FuncGen - to CLKREF -), Is it very critical converting differential it?

    In the sample code I sent and in the pseudocode in this thread, I used and indicated a register write sequence wherein registers 0x1E and 0x1D were written to last.

    My registers written sequence is:
    uint16_t REG_ADD[13]= {0x0000, 0x0001, 0x0002, 0x003E, 0x003F, 0x0035, 0x0025, 0x0031, 0x000C, 0x0027, 0x001F, 0x001E, 0x001D};

    uint16_t REG_VAL_DDS[13]= {0x0000, 0x0000, 0x0000, 0xFFFF, 0xFF00, 0x0400, 0x8000, 0xFF00, 0x8000, 0x0021, 0x0000, 0x0001, 0x0001};


    These registers are been using for generating the pseudorandom waveform
    Have registers a problem?

    UPDATE:

    The waveform of blue in the picture below is CLKREF_P and CLKREF_N connected to 39k resistor parallel with 100nf cap to ground. The yellow one is DACs outputs (Like DC)



    Thanks for your response.

  • Hi Pourya,

    Clock input should be a differential signal. You will need a circuit similar to the one below:



    T9 is a balun. The output of the waveform generator will go to the connector J10, C46 is connected to CLKP and C45 to CLKN.


    Best regards,
    Shine