I'm currently debugging a new module using multiple AD9102 controlled by an FPGA. After some problems now everything works as desired configuring the AD9102 using the SPI port in 3-wire mode. However this is not fast enough to reach all design goals and I need to use the double SPI data line mode to write the memory. But this is not working as expected; all data transferred over the SDI2 pin is ignored.
To debug I first switched to 4-wire mode and reading still works now using the same data line as used for additional writing in double SPI data line mode. So for now I assume the HW works correct.
Then I changed DAC configuration to minimum, only writing the memory using double SPI data line mode:
- I do a HW reset by pulsing the RESET pin
- I write 0x0004 to register 0x1E (PAT_STATUS) to enable Memory access
- I write 0x1008 to register 0x00 (SPI_CONFIG) to enable Double SPI Data line mode
- I write a single value to addr 0x6000 on SDIO and to 0x6001 on SDI2
- I write 0x4002 to register 0x00 (SPI_CONFIG) to enable 3-wire mode
- I write 0x000C to register 0x1E (PAT_STATUS) to enable Memory access/Buffer read
- I read addr 0x6000 and 0x6001: memory at 0x6000 is correct, memory at 0x6001 gives back the old data, write is ignored
Any hint on what I might be missing is welcome.