IIS328DQ value freeze after software reset
In my application I read out the sensor values (register 0x20-0x2D) with an interrupt every 20ms. After a software reset I have the strange behaviour that the acceleration value of the X-axis stops at a certain value (somewhere in the range of the current acceleration). The Logic Analyzer shows that the sensor value of the X-axis read via SPI is always the same, while the values of the Y- and Z-axis always change slightly. Since this is a safety-relevant application, a static value over a certain period of time is considered a sensor defect and an error is registered. With a software reset, the power supply to the sensor remains and the application is reinitialised.
I have tried to solve the problem in different ways (reload boot register, CR1 power down/on, axis desable/enable, the mentioned options in combination and different order) but nothing has helped. If the sensor axes are deactivated and reactivated (CR1) after the software reset, valid values come from the sensor again for a certain time, but then stagnate at a certain value.
It seems to me that a power up on the power supply is necessary to initialise the sensor cleanly. If the power supply is switched off and on again, everything works without errors.
Is there a known problem with this Sensor that results in this behaviour? What else could be the cause?
Further questions:
- Must the voltage at the sensor be completely removed before initialisation in order to guarantee a proper behaviour?
- Can the control registers be changed on the fly? What conditions must be met when changing the control registers on the fly?
Let me know if you need further information.
Thank you for your support!
Sensor configuration:
SPI read of two cycles (X axis unchanged, Y and Z axis change):

Read sensor values after software reset and disable/enable of axes:
Hardware design:
