AnsweredAssumed Answered

AD9915 - SPI communication and no SYNC CLK output

Question asked by Joffray on Feb 8, 2013
Latest reply on Feb 8, 2013 by Joffray

Hi !


I am trying to communicate with an AD9915 DDS using SPI. The AD9915 evaluation board run smoothly using AD eval software. Now I want to use SPI between a mbed microcontroller ( and my AD9915 DDS, but it does not work (no response when I try to read a register). I think the issue is I don't see SYNC CLK signal at the corresponding SMA output.



For SPI, on the evaluation board, I have set jumpers P203, P204, and P205 to desable.

I have set the jumpers P202 et Enable CLK Input (J111).

I have set jumpers IOCFG0 to IOCFG3 to 1000, respectively.

PS0, PS1 and PS2 are set to ground.

Between my mbed and my AD9915 DDS I have 7 wires : CS / SCLK / SDIO / SYNCIO for serial; and Reset / IO update / GND.

I have set my Ref CLK to 10MHz, 0dBm. (10MHz * 240 = 2400MHz, perfect for the PLL)

And I have two power supply voltages, 1.8 and 3.3V.



First, I power up my board (3.3V and 1.8V).

Then, I perform a master reset sending a 100ms pulse width (reset-buf PIN).

Here I see no signal on the SYNC CLK output.



After that, I initiate SPI :


spi.format(8,0); // 8Bytes, CPOL = 0 and CPHA = 0

spi.frequency(1000000); // f = 1MHz


and I try to write and read into the register


syncio = 1;


syncio = 0;

wait_us(10); // 10us pulse for SYNCIO


cs = 0;

spi.write(0x00); // write CFR1

// Send the contents of the register





cs = 1;


// IO update : 10us pulse

io_update = 1;


io_update = 0;



cs = 0;

spi.write(0x80); // read CFR1

int w1 = spi.write(0x00);

int w2 = spi.write(0x00);

int w3 = spi.write(0x00);

int w4 = spi.write(0x00);

cs = 1;


pc.printf("register = 0x%X\n", w1);

pc.printf("register = 0x%X\n", w2);

pc.printf("register = 0x%X\n", w3);

pc.printf("register = 0x%X\n", w4);


Finally I read 0x 00 00 00 00. I think the issue is I have no signal on the SYNC CLK output. However, I have sent a Reset pulse just after turning on the power supply. Do you have an idea why I don't see SYNC CLK output ? Jumpers are well set ? Concerning IO update-buf, which is the input to use, the PIN of the external header connector or the SMA input ?