ADXL362 - Getting Wrong AD, MEMS IDs


I know this question has been already asked, but the answers have not been found and the posts closed.

Whenever I try to read register 0x00 or 0x01, I get respectively 0xA0 and 0x10 as answers from the ADXL362. I should be getting 0xAD and 0x1D. Here are the logic analyzer and scope outputs for trying to read register 0x00 (green is CS, pink is CLK, purple is MISO and red is MOSI; scope shows MISO):

For some reason, when I read register 0x02, I get the expected answer of 0xF2, as shown below (scope shows MISO):

One weird thing is the level of some of the MISO answer bits. The last bit seems to be half way up to VDD (3.3V). That is odd. Why would the other bits before be OK?

So as you can see, the bits get read at the clock rising edge as specified. I also made sure the chip powers up from a voltage of 0V, as specified in the TDS. I tried 125kHz, 1MHz, 4MHz speeds, all gave the same results. I also checked the timing specifications and they are OK. I tried with 3 different ADXL362 units and got the same result.

I also tried with and without a soft reset at boot up by sending 0x52 to 0x1F as shown below (scope shows MOSI):

I am out of ideas. Can you help me troubleshoot this?



Parents Reply Children