Post Go back to editing

AD9106:How to use the RAM pattern

Category: Datasheet/Specs
Product Number: AD9106

Hi:

I am evaluating the AD9106 for an application that requires the following:

  • DDS1 outputs a sine wave.

  • DDS2 uses a RAM pattern to generate a square wave or pulse that is synchronous with DDS1, at a frequency equal to 1/N of the DDS1 frequency.

  • To achieve tight synchronization, the RAM pattern address counter of DDS2 is driven by the MSB of DDS1.

I would like to understand:

a. When WAVE_SEL = 0 in the WAV_CONFIG register, should PRESTORE_SEL be set to 1 or 3?

b. When WAVE_SEL = 0, is the RAM pattern always controlled by START_DELAY and PATTERN_PERIOD?

c. If the answer to (b) is yes, does this mean it is impossible to achieve exact synchronization between the DDS2 RAM pattern and the DDS1 output frequency? (Because DDS1 is not an integer fraction of the sampling clock fs, while PATTERN_PERIOD can only be an integer multiple of 1/fs.)

d. If the answer to (c) is yes, how can the desired application be realized? 

Thank you.

Edit Notes

Modify title
[edited by: LiuZhenrong at 4:41 AM (GMT -4) on 11 May 2026]
Parents Reply Children
  • Hi Alex

    Thank you for your reply. I have already found the answer to that question from other sources.

    I now have another question. In the datasheet, the recommended initialization sequence for the AD9106 is as follows:

    1. Set CS, RESET, and TRIGGER to high.

    2. Configure the SPI port.

    3. Assert RESET by pulsing low then high.

    4. Write the necessary registers.

    5. Update the RUN and RAMUPDATE bits.

    6. Set TRIGGER to low.

    What I would like to know is: after following the above steps to start the DDS, if I need to make some changes, such as modifying the frequency via DDSTW or the phase via DDSPW, is it necessary to set TRIGGER back to high before modifying the registers? Is it possible to modify the registers while keeping RUN bit = 1 and TRIGGER = low, and then update the operation using the RAMUPDATE bit? By the way, my design only uses continuous sine waves and DAC constant output.

    I am currently in the circuit design phase and do not have an evaluation board on hand, so I cannot verify this. However, I would like to understand this feature in order to finalize my circuit design.

    Thank you.