我们在设计中使用LIS3DHTR。供电电压为3.3v。
由于我们设计中的电容器,3.3v
电源完全耗尽需要一些时间。因此,当我们关闭并打开设备时,我们有可能在3.3v供电轨仍然耗尽时打开设备。
在此过程中,我们观察到LIS3DH失去了灵敏度并报告了所有3轴上接近零加速度。
传感器保持此状态,直到我们耗尽电源电压。
I2C
通信没有问题。我们收到了数据。控制寄存器是不受影响的,我们通过读取所有寄存器来验证这一点。灵敏度设定为+/- 2G。
在良好的工作条件下,前7个寄存器(0x00-0x06保留空间)全部报告全零。但是,在传感器失去灵敏度的另一种情况下,值为0xFF,0x30,0x0F,0x00,0x00,0x00,0x00。
有没有办法通过I2C寄存器设置(例如软复位或重新加载校准值)来摆脱这种状态?
我们尝试使用BOOT位重新加载内存内容,但它没有帮助。我们必须等到电源完全耗尽。
以上来自于谷歌翻译
以下为原文
We are using LIS3DHTR in our design. Supply voltage is 3.3v.
Due to capacitors in our design, it takes some
time for the 3.3v supply to drain out completely. So, when we turn off and on the unit, there is a chance that we may turn on the unit while 3.3v supply rail is still draining out.
During this, we observed that LIS3DH lost its sensitivity and reporting close to zero acceleration on all 3 axis.
Sensor remains in this state until we drain out the supply voltage.
There is no problem with I2C communication. We receive the data. Control registers are untouched, we verify this by reading all the registers. Sensitivity was set to +/-2G.
In a good working condition, the first 7 registers (0x00-0x06 reserved space) all reporting all zeros. But, in the other case where the sensor lost the sensitivity , the values are 0xFF, 0x30, 0x0F, 0x00, 0x00, 0x00, 0x00.
Is there any way to come out of this state through I2C register settings, like soft reset, or reloading calibration values ?
We tried to use BOOT bit to reload the memory contents, but it didn't help. We have to wait until the power supply is drained out completely.