Post Go back to editing

AD9102 Output Signal

I’m using  AD9102, I write and read in all register but I haven't output signal.

What is the minimum registers configuration for generate a signal?

Can it work without calibration?

In attachment the schematic.

Regards.

Valentino

ad9102.pdf
Parents
  • Hello Larry,

    I also seem to have two other problems.

    1. DDS Clock Source

    I cannot make the DDS_MSB_EN work in the DDS_CONFIG register.

    My assumption is that if I program the RAM to have two values, 0x1FFF <<2 and 0x2000 <<2 at 0x6000 on, I set Start_addr to 0 <<4 and Stop_addr to 1<<4, and Pattern_period to 2, then I should get a square wave. If the DDS_MSB_EN is 0, then the square wave frequency should be CLK/2 frequency. If DDS_MSB_EN = 1, then the square wave should be at the DDS/2 frequency - which is what I want.

    However, the DDS_MSB_EN bit does not seem to have any effect.

    2. Sawtooth Frequency

    I cannot work out how to change the Sawtooth frequency. Set to Triangle, I see the generator outputting 16384 samples increasing from -max to + max, and then 16384 samples from +max to -max, and repeating this. This yields just one frequency.

    I can see that I can dwell at one sample for between 1 and 64 clock cycles, but that is a very coarse approach to setting the frequency. It means you can only get 64 frequencies - the next being half of the previous one. Kind of not very useful!  I had assumed (silly of me) that the part would use the phase accumulator with the linear to sine wave conversion turned off (just as the AD9834 does), and so I could get any frequency. However, I cannot figure out how to do this. I would be grateful for any help.

    Can you clarify what I'm doing wrong?  Thanks.

    Bart

Reply
  • Hello Larry,

    I also seem to have two other problems.

    1. DDS Clock Source

    I cannot make the DDS_MSB_EN work in the DDS_CONFIG register.

    My assumption is that if I program the RAM to have two values, 0x1FFF <<2 and 0x2000 <<2 at 0x6000 on, I set Start_addr to 0 <<4 and Stop_addr to 1<<4, and Pattern_period to 2, then I should get a square wave. If the DDS_MSB_EN is 0, then the square wave frequency should be CLK/2 frequency. If DDS_MSB_EN = 1, then the square wave should be at the DDS/2 frequency - which is what I want.

    However, the DDS_MSB_EN bit does not seem to have any effect.

    2. Sawtooth Frequency

    I cannot work out how to change the Sawtooth frequency. Set to Triangle, I see the generator outputting 16384 samples increasing from -max to + max, and then 16384 samples from +max to -max, and repeating this. This yields just one frequency.

    I can see that I can dwell at one sample for between 1 and 64 clock cycles, but that is a very coarse approach to setting the frequency. It means you can only get 64 frequencies - the next being half of the previous one. Kind of not very useful!  I had assumed (silly of me) that the part would use the phase accumulator with the linear to sine wave conversion turned off (just as the AD9834 does), and so I could get any frequency. However, I cannot figure out how to do this. I would be grateful for any help.

    Can you clarify what I'm doing wrong?  Thanks.

    Bart

Children
No Data