AnsweredAssumed Answered

Programming ADF4360-9 from microcontroller

Question asked by JDavila on Apr 28, 2015
Latest reply on Apr 30, 2015 by JDavila



I'm trying to develop a frequency synthesizer based on the VCO + PLL ADF4360-9 and an Arduino (or a Raspberry Pi). I have the associated evaluation board (EV-ADF4360-9EB1Z) and it works nicely when controlled from the PC via the included USB interface. I am now trying to program it from an Arduino Due or a Raspberry Pi to make a stand-alone device. Both approaches so far have failed. To communicate with ADF4360-9 I am using the SPI interface by wiring directly from the SPI (MOSI, LE, CLK) interface to T13,T14 and T15 on the evaluation board. I didn't disconnect the 330 Ohm resistors to ground or to the chip that handles the USB signals, but I did check that the voltages are 3.3 V when high.


As a first approach I followed the datasheet and wrote 24-bit sequences to change, for example, latch N. As this failed, I tried peeking into the SPI ports when the board is programmed from the PC and noticed that 32-bits are always written (with the first byte always = 0x00) and that the clock rate is ~70 kHz. So, I added the additional 8-bits and divided the clock from Arduino Due as far as I could (down to 200 kHz or so) but this also didn't work. Then I switched to Raspberry Pi because I can divide the clock further and very closely match the 70 kHz that I observe on these pins, but this does not work either. As an example, I attached the scope traces for the data that I observe on T13 and T15 together with what I generate with Raspberry Pi (in this example I am trying to write 0x17703E, which should write to latch N). Evidently there are some differences but I don't find that any of them violates what I read on the spec sheet (for example Figure 2. and Table 2 on ADF4360-9 Datasheet) so I am sort of at a dead end.


Has anyone tried something similar? Maybe I am missing something obvious (?)

Or, alternatively, how can I debug my current setup? For example, is there a way I can read the latch after it has been written to try to understand what went wrong?


I would really appreciate any suggestions!. Thanks a lot,