2017-05-29 02:13 AM
Hello, I am using two LIS2DH12 sensors in my project. I am using I2C communication interface. The one with the address pin high (IC4, address 0b0011001x) is working OK, but the one with the address pin low (IC5, address 0b0011000x) is not communicating. It does not even ACK the address. I tried swapping the IC for a new one or even swapping the entire PCB but the problem persists. What could I be doing wrong?
2017-05-29 05:08 AM
Do you have pull-up resistors on the I2C bus? What is the size?
The rising edge is quite slow and voltage level on I2C seems to be only 2.2V but in your schematic the power supply is 3.3V.Otherwise the schematic seems to be OK, it should work.
2017-05-30 12:35 AM
There are 10k pull-up resistors on the I2C bus. The power supply is also 2,2V, just the marking in the schematic is different.
2017-05-30 02:10 AM
OK, If the distance between MCU and the sensors is long I would use smaller pull-up resistors (i.e. 3k3).
Can you please check the voltages on CS and SA0 pins, if they are not properly connected it could create this issue.Do you use some ST boards or your own?2017-05-30 03:57 AM
Lowering the pullups to 3k3 didn't help.
CS - 2,2V
SA0 - 0V
I use my own boards. Length of a bus is around 20mm.
2017-05-30 10:32 AM
It turned out to be a soldering issue. The fact that after resoldering both IC's numeours times it was always the IC5 that was faulty led me to believe it is not a hardware issue, but it was. Thank you for your time