I am using the AD9364 in a custom design. Right now I am at an early prototyping stage and was going to verify that the AD9364 is functioning correctly using the following (quite crude) setup: The AD9364's data lines including the SPI port are connected directly to an Artix 7 FPGA, which currently only "forwards" the SPI and RESETB signals to a pin header. In order to use the ADI no-OS drivers with as little modification as possible, I have compiled them for Raspberry Pi and have connected its SPI port to the pin header on my custom board.
However, when I run the "ad9361_linux" program, the AD9364 does not respond at all ("ad9361_init : Unsupported PRODUCT_ID 0x0" is printed). I have modified everything according to my setup and have verified with an oscilloscope that the AD9364's RESETB behaves correctly and the SPI_ENB, SPI_CLK and MOSI/SPI_DI behavior matches the description and timing diagrams in the user guide. There is no activity on the SPI_DO/MISO line.
Currently, the only things I can think of that might affect this are:
- The low SPI speed I'm using due to the crude setup with the Raspberry Pi and the long wires connecting the Pi to the custom board (it's about 250kHz to maintain signal integrity). The ADI driver defaults to 10 MHz, but Table 56 in the user guide does not state a lower limit for SPI clock speed so I was assuming this would not be a problem.
- I'm having trouble with the REF_CLK signal that is being fed into the XTALN pin of the AD9364. Its amplitude might be too low (about 250mV peak-to-peak). Is a valid REF_CLK required for basic SPI operations such as reading the product ID (which fails as described above)?
- The AD9364 package gets warm to the touch after 2-3 minutes (maybe about 45-50ºC). This worries me a lot as the device should be in sleep mode. I have verified supply voltages and everything seems fine (no shorts, current consumption for the entire board looks reasonable). Is this a sign that something else might have gone horribly wrong and killed the device completely?
Are there any other options apart from SPI to verify the AD9364 is alive?
Thank you very much in advance,