AIS2IH Register issue
I'm working with the AIS2IH accelerometer. I've established communication via SPI, and am able to read the WHOAMI correctly, along with requesting and receiving data as expected. However, some of the data I'm reading doesn't make a lot of sense, so I've been investigating our chip setup. It appears that we're having issues getting some of the control registers to set correctly.
Specifically I seem to be having issues with CTRL1 & CTRL6. There may be others that I haven't discovered at this point in time, so don't assume this is a complete list.
I first noticed this issue when trying to set CTRL6. Specifically, I'm trying to set the Full-Scale Selection to +/- 16g. According to the data sheet, I do this by setting bits 4&5 of the register to 0x3. I'm able to send this command properly, however, when I read back the settings on CTRL6, I'm only reading 0x2 in those bits. If I send 0x1 in place of 0x3, I receive 0x0 from those bits. It appears that bit 4 is not getting/staying set. I've seen this behavior over at least three separate hardware implementations.
CTRL1 exhibits a very similar issue - when setting the Data Rate Configuration, if I attempt to set bits 1 & 2 in that field (register bits 5 & 6), they always are returned as 0. So setting High-Performance / Low-Power mode 1600/200 Hz is fine, as we can set 0x9 with out issue. However, if I try and set High-Performance / Low-Power mode 200 Hz, which should be 0x6, the register reads back as 0x0.
I can't find any information in the data sheet that would explain this behavior. I've tried multiple configurations to see if other register fields were somehow impacting the fields I'm interested in, but the behavior appears to stay consistent regardless of how other fields are set.
I'm confident in my communication setup - as mentioned, I can read the WHOAMI just fine, and the STATUS register seems to respond as expected. Additionally, I see data when I request the data from the X, Y and Z axis registers, which I can see changing with noise on a regular basis.
I've attached the version of the data sheet we are using.
