I have developed a board using the AD9958 and I'm not able to have it working. Initially I had the DVDD_I/O voltage at 2.8V and I thought that it was the cause of the problem, but after changing to 3.3V the problem continues. I have checked that all power supplies, the oscillator is running, and the SPI interface signals and SW managing them are also correct; but the DDS does not generate any signal.
In order to check the SPI interface, I did a simple test by configuring the SPI in single-bit three-wire mode and perform a read operation of the CSR, but the SDIO_2 did not output any signal. Therefore it looks like the DDS is not recognizing the SPI commands.
I have two boards with the same behaviour and I'm wondering if I have a HW design problem or I damaged the AD9958 devices during the board assembly.
For the testing, the SW is doing the following sequence:
- PWR_DWN_CTL = LOW
- IO_UPDT = HIGH
- CS = HIGH
- RESET = HIGH
- RESET = LOW
- CS = LOW
- WR_CSR (0xc0) // Writes 0xc0 in the CSR register
- CS = HIGH
- IOUpdate() // IO_UPDT=LOW --> IO_UPDT=HIGH
- RD_CSR() // Reads CSR register
Note: SDIO_3 and SDIO_1 are connected to ground
I'll appreciate any hint for the troubleshooting of the problem.