I have a circuit with two HMC1023 filters with separate chip selects, being driven by the same SPI lines from a STM32. I am bitbanging as the same SPI lines are used elsewhere.
After setting a register, I perform a second SPI read/write cycle with an invalid Chip_ID so that the SDO line becomes tri-stated. During the second read/write cycle the correct register value is output on the SDO line.
On a subsequent read operation, I set register 0 to the register address I want to read, and then perform the 2nd read cycle to retrieve the register value. However, on this attempt the register values are incorrect.
For example, setting a value of 0x4 for the amp and driver bias to register 2 returns a value of 0x6. Similarly setting 0x5 returns 0x7, but setting 0x6 and 0x7 correctly returns 0x6 and 0x7 respectively. A similar thing happens on the calibration register. These have been checked by observation of the signals with a cro.
A search of the web and AD site has not revealed any examples for driver code.
Has anyone seen this, or have any example driver code they are willing to share.
Regards, David