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?