cancel
Showing results for 
Search instead for 
Did you mean: 

LPS22HH communication failed

TOMY.OKA
Associate II

In the case of power on, sometimes, the controller failed commnunication with LPS22HH.

The controller side accesses LPS22HH in the following order of processing;

1 power on

2 wait INT_SOURCE (@24h) BOOT_ON = 0

3 Set the BOOT bit of the CTRL_REG2(@11h) register to 1

4 wait INT_SOURCE (@24h) BOOT_ON = 0

5 Set the SWRESET bit of the CTRL_REG2(@11h) register to 1

6 wait SWRESET bit of the CTRL_REG2(@11h) register returns to 0

7 write ONE_SHOT order CTRL_REG2(@11h) ONE_SHOT = 1

8 wait CTRL_REG2(@11h) ONE_SHOT = 0

9 wait STATUS(@27h) T_DA and P_DA = 1

10 read press and temp

When this process is followed, communication sometimes fails and sometimes succeeds.

Does anyone know how to solve this problem???

2 REPLIES 2
Eleon BORLINI
ST Employee

Hi @TOMY.OKA​ ,

can you try with the procedure suggested on Github for LPS22HH --> lps22hh_read_data_polling.c, at least to check if there are no other device-related issues? Maybe the SWRESET is not always restoring the boot for some reason (do you apply a small delay after this command?).

-Eleon

TOMY.OKA
Associate II

Hi Eleon

Thank you for your reply.

I'll try to check my code base on the code you taught me.

And one more question.

I read an5209 document , and this said " VDD must be lower than 0.2 V for at least 10 ms during power-off sequence for correct POR. 3.1"

If POR not correct, is there a possibility of simlar problems?