AD9958/9959 SPI write not working


I have the AD9958/9959 Evaluation Board and want to try to control it via SPI with an arduino.

I tried sending in the SPI Command but somehow I don't see an output. I veryfied the input with the USB Control to be sure I can actually get an output.

I send in the 4 bytes via SPI and then do an IO_Update.

I have the following connections to the board:

VCC_USB connected to 3.3V

DVDD_I/O to 3.3V


DVDD to 1.8V

J10 to 1.8V

I connected SDIO_0,IO_UPDATE,CSB and SCLK to the correct pins of my arduino. 

The SPI Output of my arduino is shown below:

I would be greatefull for any input on what my possible mistakes could be as I don't have an idea right now!

  • 0
    •  Analog Employees 
    on Jan 27, 2021 1:11 AM 1 month ago

    Hi SSchott,

    Here are a couple of things to try:

    First, you must send a master reset pulse before you program anything else in the device. This resets all registers to default

    Second, by default meaning the control function registers are untouched, the device is in Single-bit Serial mode (2-wire mode). This means SDIO_3 acts as SYNC_IO. It’s helpful to tie this pin to GND. This can be attested by other users that tried SPI on AD9958/59.

    Third, make sure that the Digital IO pins of AD9958/59 are receiving about 3.3V. Although it says in the datasheet that you may assert any value greater than 2V, you must still be caution about overdriving digital inputs.

    Fourth, make sure to tie down PWR_DWN_CTRL to GND and CLK_MODE_SEL to 1.8V.

    Lastly, you may refer to this thread. AD9958 SPI programming not working - Q&A - Direct Digital Synthesis (DDS) - EngineerZone ( for comparison.

    Best Regards,