2022-11-15 09:41 PM
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???
2022-11-17 07:55 AM
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
2022-11-20 11:41 PM
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?