This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCA9544A: PCA9544 keeps SDA low on a read

Part Number: PCA9544A

I can write to the PCA9544 and an ACK, but when I read from the device, the SDA line stays low after the ACK until a power reset.

I have 4k7 pullups on all the I2C busses around the device, 10k pullups on all the !INT lines and the address lines tied to either 3v3 or gnd. Therre are also 1u and 0.1u capacitors on the supply (3v3) lines.

What can cause this to happen?

  • Hey Ian,

    Can you provide scope shots of the communication before and during the read when you see the SDA line latch low?

    Are you able to pulse the SCL line with 9~18 clock pulses and then able to check to see if SDA unlatches?

    "What can cause this to happen?"
    It could be possible to cause this if the device's state machine was glitch during communication. For example, it see's its address and ACKs but never sees a raising edge to the 9th clock cycle (cycle where the ack is expect) so it will not release until it sees a new clock cycle.

    This device is a switch so I am also wondering if it's possible that one of the slaves on the other side of the switch is holding the line low. Are you able to only power cycle the switch and check SDA lines on the other channels to make sure SDA was not stuck before the channel was even enabled?

    Please also check the rising edge of VCC when you turn on the device. Section 11 of the datasheet discusses a known issue with a bad power on reset that can cause the device to glitch though usually this is not the kind of issue that comes up.....

    Let me know your findings.

    Thanks,
    -Bobby
  • Thanks Bobby, it was the SDA line being kept low.  The pull up resistor was not correctly soldered.

    Ian