MEMS elements inside an accelerometer (LIS2DH12) get stuck
I have a device which uses an accelerometer (LIS2DH12) to trigger a wake up upon movement. Now I have a few samples on my hand, where this wake-up does not work.
The design, configuration, interrupt, etc of the parts work (as validated by other identical builds). The parts in question, I can also bring back to "normal" operation, by turning VDD off and back on. After such a hard reboot, everything works as it should (this further confirms that the parts on hand do not have an electronic/manufacturing defect). Hence, I could in principle schedule a periodic reboot of the accelerometer, but this defeats the idea of a wake-up interrupt. Is the LIS2DH12 supposed to be rebooted on a regular interval?
When the parts are in the "stuck" state, I can communicate (read/write from/to the registers) with the accelerometer. All values appear to be coherent (e.g. the WHO_AM_I, and the CTRL registers report back what I write to them). In other words, the electrical interface still works as intended.
It looks as if the MEMS element is stuck: no matter the movement, the wake-up threshold is not reported to be exceeded (as mentioned above, I can change the threshold values (e.g. INT1_THS and INT1_DURATION), which are accepted).
To my knowledge, the “stuck” parts have not seen any dramatic/special events. On the other hand, as the accelerometer simply reports “no acceleration”, it seems impossible to determine when (and thus under what environmental conditions) the event occurred.
Therefore, is “MEMS element stuck” a known failure mechanism and/or did the development team consider it? If so, under what conditions would this occur (e.g. could the max ratings cause such a behavior: a voltage spike on a pin, excessive acceleration, temperature, ESD)?
With such a list, I could then check whether those conditions have possibly been present.
Assuming "MEMS element stuck" cannot happen (at least not in a way that would be reversible by turning off VDD and back on): what (intentional) configurations would disable the accelerometer (e.g. setting CTRL_REG1 to 0x00)?
Thank you, best regards,
