ADA4355 SPI initialization and register read operations return 0x00

I'm working with the development board for the ADA4355 optical receiver and a Spartan 6 development board. I have my SPI Mode set to 0 (CPOL = 0, CPHA = 0).

My SPI CLK is 6.25MHz. Per the datasheet and the development board startup page, I power up my FPGA dev board -> set CS low -> power on the ADA4355 dev board -> write the SPI start up sequence:

SPI_WRITE(0x00, 0x00);

SPI_WRITE(0x05, 0x02);

SPI_WRITE(0x22, 0x03);

SPI_WRITE(0x05, 0x31);

I've verified proper data from my FPGA matching the write command, address and data from my oscilloscope but when I try to read the device ID (should be 0x8B) from register 0x01, I receive 0x00.

Here is an picture of the SCLK and the SDIO on my oscilloscope during the read command (the far left is the end of the 0x31 write command). I noticed that when the read command is done the SDIO line goes high before the rest of the 16 bit command is entered - why is this?

  • I figured it out. On the demo board there are pins to enable the internal 1.8V LDO on the ADA4355. I now am receiving the correct 0x8B device code.

    I did find an error on either the datasheet or on the ADA4355 schematic. The schematic shows that pin F8 is 1P8VA_EN and that pin F7 is 1P8VD_EN while the datasheet shows that F7 is the only pin to enable the 1.8V LDO and that F8 is a 3.3V supply pin.