AnsweredAssumed Answered

AD9914 not programming over SPI

Question asked by mattash on Sep 7, 2014
Latest reply on Feb 2, 2015 by Y3G

Hello,

 

I am having trouble with an AD9914 on a PCB. I am attempting to program it over SPI with an arduino. I am clocking it with a 3.35GHz signal, and I have stripped the code right back to simply toggling enabling SYNC_CLK. However, SYNC_CLK is always on, regardless of whether or not I program it to be disabled so I guess the AD9914 is not getting programmed. I have checked the continuity on all of the SPI pins and it seems fine. The code is as follows:

 

  // Program AD9914

 

  // reset AD9914

  delay(500);

  digitalWrite(intAD9914_MR, LOW);

  delay(100);

  digitalWrite(intAD9914_MR, HIGH);

  delay(1000);

  digitalWrite(intAD9914_MR, LOW);

 

  digitalWrite(intAD9914_CSB,LOW);

 

  //    Control Function Register 2

  SPI.transfer(0x01);

  // data   

  SPI.transfer(0x00);

  SPI.transfer(0x00);       

  SPI.transfer(0x00);

  SPI.transfer(0x00);

 

  digitalWrite(intAD9914_CSB,HIGH);

 

  // IO Update

  delay(100);

  digitalWrite(intAD9914_IO, HIGH);

  delay(100);

  digitalWrite(intAD9914_IO, LOW);

 

  digitalWrite(intAD9914_SYNCIO,HIGH);

 

I am clocking it with a single-ended output from an ADF4351. A snapshot of the schematic is below:sop_schem_snapshop.png

Can anyone spot any obvious mistakes? I am out of ideas!

 

Many thanks for your help,

 

Matt

Outcomes