Post Go back to editing

AD9958: No output

Hello

I have developed a board using the AD9958 and it's not working properly. The DDS is controlled by a ATmega on a Arduino board.

I have attached the schematics.

The communication via SPI works, but there is no output on both channels. First I want to run the DDS in single tone mode.

For initialising I send over SPI following.

CSR set to 0xC2

FR1 set to 0xD050A0 (>255MHz, PLLx20, CP 75µA, Single Tone Mode.)

CFTW0 set to 0x0083126E (1 MHz)

IO_Update

After that I read all registers. CSR and FR1 are correct but CFTW0 is 0x00000000. If I select only one channel CFTW0 is read correctly. But there is no frequency on the outputs on both constellations.

I tested Sync_CLK (FR1 0xd05080) and there is an output with 125MHz.

I'll appreciate any hint for the troubleshooting of the problem.

Thanks,

Roman Ritter

DDS_Shield_Sch.pdf
Parents
  • Roman,

    Thanks so much for the information.  Your code looks great, but it's hard to tell what's causing the CFTW0 not to be written. 

    But, I'd also like you to check a few things for me first.  Since you're not getting ANY output, even when registers are being correctly written, I'd like to check a few things related to the DDS output.

    Can you check the voltages at the DVDD and AVDD pins of the AD9958?  Also, please tell me what the RSET pin voltage is.  Since your SPI communication is (almost) working, I think it's safe to assume you have 3.3V at DVDD_I/O, but you could check that as well, to make sure it's what's you expect.

    Also, can you please check to ensure that the CH0_OUT and CH1_OUT pins are measuring at ~1.8V, along with the center tap of the transformer.

    Your Eagle files are very, very helpful.  But, I'm somewhat new to Eagle, and am not having much luck checking these connections in the layout file.

    Thank you for the clear info you've given so far,

    -Anne

Reply
  • Roman,

    Thanks so much for the information.  Your code looks great, but it's hard to tell what's causing the CFTW0 not to be written. 

    But, I'd also like you to check a few things for me first.  Since you're not getting ANY output, even when registers are being correctly written, I'd like to check a few things related to the DDS output.

    Can you check the voltages at the DVDD and AVDD pins of the AD9958?  Also, please tell me what the RSET pin voltage is.  Since your SPI communication is (almost) working, I think it's safe to assume you have 3.3V at DVDD_I/O, but you could check that as well, to make sure it's what's you expect.

    Also, can you please check to ensure that the CH0_OUT and CH1_OUT pins are measuring at ~1.8V, along with the center tap of the transformer.

    Your Eagle files are very, very helpful.  But, I'm somewhat new to Eagle, and am not having much luck checking these connections in the layout file.

    Thank you for the clear info you've given so far,

    -Anne

Children
No Data