2025-05-21 5:32 AM - edited 2025-05-21 5:49 AM
Hi,
We currently use the LIS2DW12 in our design and have encountered an issue in some units after prolonged continuous operation (approximately 5–6 days). Specifically, the accelerometer output becomes unresponsive and remains stuck at a constant value. Attempting a soft reset does not resolve the issue.
During this fault condition, all device registers remain readable, and the WHO_AM_I register continues to return the correct value (0x44). However, we observed that the BOOT bit in the CTRL2 register (0x21) remains stuck at '1', suggesting that the internal reboot process has not completed successfully. The only way to recover from this state is to complete a power cycle. Unfortunately, due to our product's design, removing the onboard battery is not feasible for end users.
Could you advise on the potential root causes of this behaviour and whether any recommended solutions or workarounds do not require a physical power cycle?
--Edit--
I'm using SPI mode on the accelerometer.
Also, I forced the BOOT Bit to '0' and did a soft reset. The accelerator's output is still stuck. Here's a register dump. Any help is much appreciated. Thank you.
00> <info> app: Add[0x0D] = 0xE0
00> <info> app: Add[0x0E] = 0x07
00> <info> app: Add[0x0F] = 0x44
00> <info> app: Add[0x10] = 0x93
00> <info> app: Add[0x11] = 0x0C
00> <info> app: Add[0x12] = 0x05
00> <info> app: Add[0x13] = 0x26
00> <info> app: Add[0x14] = 0x14
00> <info> app: Add[0x15] = 0x91
00> <info> app: Add[0x16] = 0x74
00> <info> app: Add[0x17] = 0x00
00> <info> app: Add[0x18] = 0x05
00> <info> app: Add[0x19] = 0x80
00> <info> app: Add[0x1A] = 0x3A
00> <info> app: Add[0x1B] = 0x3D
00> <info> app: Add[0x1C] = 0x0C
00> <info> app: Add[0x1D] = 0x25
00> <info> app: Add[0x1E] = 0xD1
00> <info> app: Add[0x1F] = 0x20
00> <info> app: Add[0x20] = 0x23
00> <info> app: Add[0x21] = 0x0C
00> <info> app: Add[0x22] = 0x00
00> <info> app: Add[0x23] = 0x00
00> <info> app: Add[0x24] = 0x00
00> <info> app: Add[0x25] = 0x00
00> <info> app: Add[0x26] = 0x07
00> <info> app: Add[0x27] = 0x00
00> <info> app: Add[0x28] = 0x2C
00> <info> app: Add[0x29] = 0xC3
00> <info> app: Add[0x2A] = 0xA8
00> <info> app: Add[0x2B] = 0x10
00> <info> app: Add[0x2C] = 0xD0
00> <info> app: Add[0x2D] = 0xF8
00> <info> app: Add[0x2E] = 0x00
00> <info> app: Add[0x2F] = 0x00
00> <info> app: Add[0x30] = 0x00
00> <info> app: Add[0x31] = 0x00
00> <info> app: Add[0x32] = 0x00
00> <info> app: Add[0x33] = 0x00
00> <info> app: Add[0x34] = 0x00
00> <info> app: Add[0x35] = 0x00
00> <info> app: Add[0x36] = 0x00
00> <info> app: Add[0x37] = 0x00
00> <info> app: Add[0x38] = 0x00
00> <info> app: Add[0x39] = 0x00
00> <info> app: Add[0x3A] = 0x00
00> <info> app: Add[0x3B] = 0x00
00> <info> app: Add[0x3C] = 0x00
00> <info> app: Add[0x3D] = 0x00
00> <info> app: Add[0x3E] = 0x00
Kenneth