cancel
Showing results for 
Search instead for 
Did you mean: 

Different performance between LIS2DH and LIS2DH12, even with the same register settings.

SLin.2
Associate II

I am using LIS2DH and LIS2DH12 with the same register setting and system. However, I got different performance. LIS2DH had the worse performance, compared with LIS2DH12. That is, LIS2DH12 could reach around 150Hz but LIS2DH only reach 110Hz, when I set them to DR 200Hz. What's the difference between LIS2DH and LIS2DH12? Any possible reason for the gap (150Hz vs 110Hz)?

4 REPLIES 4
Eleon BORLINI
ST Employee

Hi @SLin.2​ , the LIS2DH12 is a different and newer part number, and although it is pin to pin (and register to register) compatible with the LIS2DH, it has a different electronics/MEMS inside. Btw, both devices can be configured with ODR up to 5376Hz... what do you mean when you are saying that "LIS2DH12 could reach around 150Hz but LIS2DH only reach 110Hz"? Do you refer to the fact that you are able to detect external vibration up to 150Hz when setting the ODR 200Hz? Please note that the intrinsic ODR filter is a low pass filter with frequency ODR/2, so in both cases you should use at least ODR 400Hz to detect a 150Hz vibration. Regards

SLin.2
Associate II

Regarding the different performance between LIS2DH and LIS2DH12 that I mentioned, I can get the same performance now after checking the HW connection.

About the 150Hz, I set the watermark to 10 and set ODR to 200Hz, then enabling the interrupt, and nothing to do with the filter. So I can calculate how many raw data I get in a certain time according to the interrupt. Once there is an interrupt, I would read out the data from FIFO to make it empty. 3400 raw data of x-axis can be read in 5 seconds, that is, around 147Hz. However, according to what you said, I should only get 100hz (ODR/2) only on both LIS2DH and LIS2DH12?

Although the data rates are the same on LIS2DH and LIS2DH12, I still get different sensibility on the real world. >.<

Hi @SLin.2​ , I'm simply referring to the maximum (mechanical) frequency you can detect with a specific ODR set, for example related to an environmental vibration: if your ODR is 200Hz, the maximum vibration you can detect is 100Hz, from Nyquist theorem.

About the FIFO, I'm not sure I well understood...  the FIFO is composed by 32 slots of data for X, Y and Z (192 bytes (6 output registers by 32 levels) have to be read when FIFO is full, referring to 10bit data in Normal mode), so if you fill only 10 slots (with a 200Hz filling rate) and then read when the watermark is raised, you will get a pulsed interrupt of 20Hz rate...

>> I still get different sensibility on the real world.

Are you referring to the different sensitivity value for the two products, or to the different noise level?

Regards

SLin.2
Associate II

Thank you for the information.

The DR could reach to 200Hz after changing to the other platform with different MCU. So I assume that I got 150Hz cause of the poor performance of I2C on the previous platform or something. Although it cannot explain the difference, which is 200Hz and 150Hz under the same setting, between LIS2DH and LIS2DH12 on my previous platform.