Post Go back to editing

AD9958: No output

Thread Summary

The user encountered issues with the AD9958 DDS not producing output on both channels when controlled by an ATmega on an Arduino board. The problem was resolved by correcting the loop filter component values based on the AD9958 evaluation board data sheet, and ensuring the Ref Clock Circuit was enabled in the FR1 register. The final configuration included 3.3V and 1.8V supplies, and the correct SPI communication settings.
AI Generated Content

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
  • Hi

    having 3.6V for 3.3V power rail usually does not destroy things, but that depends on the technology. If SPI interface is not dumb dead there is hope the IC is alive.

    Have you tried to use PLL bypass mode? Maybe the PLL is not getting lock and that disables output?

    Last week we did try out our micro modules with AD9912 and AD9952, and both of those IC started to work, pretty much as soon as we did compile and run our first test program, no tweaking required. Just working.

    /Antti

Reply
  • Hi

    having 3.6V for 3.3V power rail usually does not destroy things, but that depends on the technology. If SPI interface is not dumb dead there is hope the IC is alive.

    Have you tried to use PLL bypass mode? Maybe the PLL is not getting lock and that disables output?

    Last week we did try out our micro modules with AD9912 and AD9952, and both of those IC started to work, pretty much as soon as we did compile and run our first test program, no tweaking required. Just working.

    /Antti

Children
No Data