I've been trying for far too long now to communicate with an ADIS16465, with no success. The Datasheet for the 16465 says to use CPOL = 1, CPHA = 1, which translates to 'clock normally high' and 'sample on rising clock edge'. I send 0x7200 for PROD_ID, then I send a second 16-bit write (0x7200 again, but 0x0000 has the same effect) and I get zero (0x0000) response.
In desperation, I tried every other combination of CPOL and CPHA. The only one that generates a response is Mode 1, CPOL=0 and CPHA=1. Here is the response.
This returns a value of 0x0028 to the microcontroller (PSoC5), which is of course not equal to the actual PROD_ID 0x4051. But the MISO response looks like it's trying to put out 0x..51: see it? It's just shifted to the right a half-cycle!
Here's a closer look at just the second half of that pair:
See how the MISO and MOSI are 90° out of phase, measured with respect to CLK? MOSI is sending a signal that is sampled on a falling clock signal, MISO is sending a signal that is sampled on a rising clock signal. So what is going on? I'm probably missing something obvious, please help!
Oh, and in response to the obvious first questions:
- Everything is running at 3.3V
- This signal is completely consistent and repeatable
- No other combination of CPOL and CPHA give me anything in response
- f_clock = 500 kHz
Thanks in advance for any assistance!