cancel
Showing results for 
Search instead for 
Did you mean: 

H3LIS331DL sleep-to-wake

chrispadbury
Associate II
Posted on August 17, 2015 at 13:26

The datasheet implies that sleep-to-wake functionality allows the detection of above threshold accelerations even between samples at the low power mode samples:

2.5.3 Sleep-to-wakeup

The �sleep-to-wakeup� function, in conjunction with low-power mode, allows to further reduce the system power consumption and develop new smart applications.

The H3LIS331DL may be set in a low-power operating mode, characterized by lower date rate refreshments. In this way the device, even if sleeping, continues to sense acceleration and generate interrupt requests.

When the �sleep-to-wakeup� function is activated, the H3LIS331DL is able to automatically wake up as soon as the interrupt event has been detected, increasing the output data rate and bandwidth.

With this feature the system may be efficiently switched from low-power mode to full performance, depending on user-selectable positioning and acceleration events, therefore ensuring power saving and flexibility.�

I have tried the following configuration:

&sharpdefine H3LIS331_DATA_RATE_SETTING          (0x40 | 0x08)   // LP ODR=0.5Hz, Norm ODR = 100Hz

&sharpdefine H3LIS331_FULLSCALE_SETTING          H3LIS331_FS_100G

&sharpdefine H3LIS331_CTRL_REG1_VAL              (0x07 | H3LIS331_DATA_RATE_SETTING)

&sharpdefine H3LIS331_CTRL_REG3_VAL              0x24

&sharpdefine H3LIS331_CTRL_REG4_VAL              (0x00 | (0x00 << 4))   //FS = 100g

&sharpdefine H3LIS331_CTRL_REG5_VAL              0x03  // (turns on sleep to wake)

&sharpdefine H3LIS331_INT1_THS_VAL               0x03    // ? @ 100g setting this is in units of 16*0.05g = 0.8g ?

&sharpdefine H3LIS331_INT1_DURATION_VAL          0x00

&sharpdefine H3LIS331_INT1_CFG_VAL               0x2A

I've seen it change data rate based on an above threshold measurement that was returned at the pre-change data rate tick of once every ~2 seconds. It also seems to miss a lot of events that occur between samples. This suggests that the part doesn't ''even if sleeping, continues to sense acceleration and generate interrupt requests''. Rather, it seems to change mode only if the acceleration at the instant of a low power mode measurement is above threshold.

Am I missing a register setting required to make use of sleep-to-wake?

#accelerometer #h3lis331dl
0 REPLIES 0