AnsweredAssumed Answered

How to program AD9954 registers?

Question asked by Makawi on Apr 18, 2011
Latest reply on Aug 24, 2011 by Alexd



I write here because I’m finding problems with the AD9954, and I do not reach to solve them.


As I’ve seen in other post, I’m first trying to write just in the Control Function Register No. 2 (CFR2), and then see in the SYNC_CLK pin if the frequency has changed, for knowing if it is or not properly working. And it doesn’t. Every time I get 10 MHz (I’m using a 40 MHz crystal).

I’ve tested everything and anything works (also, I’ve made three pcbs for ruling soldering errors out).


For register writing, my procedure is the following:

1) Reset (pin 36 high for 100 ms)

2) Data transmission:

We are going to accede to CFR2 register, and set the clock multiplier value to 10 (so we obtain 40 MHz * 10 = 400 MHz).

Instruction byte: 00000001

Data: 00000000 00000000 01010100

MSF is used.

The data transmitted into SCLK (blue) and SDIO (red) pins is showed in the “SCLK&SDIO.JPG” attached file.

3) Issue I/O Update (pin 1 high for 5 ms)

I’ve tested for different Reset and I/O Update pulses width.


After that, the frequency obtained at SYNC_CLK pin is always 10 MHz (“SYNC_CLK.JPG” file attached), so the data transmission didn’t work, and I don’t understand why it didn’t.


I’ve also attached the schematic. I do the management data with a microcontroller Arduinos. Finally, it’s important to say that PS1, PS0 and PWRDWNCTL pines are always receiving a ‘0’.


Thank you very much in advance,