Skip to main content
Visitor II
November 16, 2022
Question

LPS22HH communication failed

  • November 16, 2022
  • 2 replies
  • 1124 views

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???

    This topic has been closed for replies.

    2 replies

    ST Employee
    November 17, 2022

    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.OKAAuthor
    Visitor II
    November 21, 2022

    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?