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.

TCA9539: SLVUA59A

Part Number: TCA9539
Other Parts Discussed in Thread: TCA6424

Tool/software:

The SLVUA59A board which I have been using has two slave i2C chips, the one that I am trying to communicate with is the TCA9539 with the address of 0x77.The other slave chip (TCA6424) on this board can have the address of 0x22 or 0x23 which I have no interest of using at a time. I grounded the pin 9 of the J1 in order to put this chip (TCA6424) in reset mode to eliminate any possibility of this chip interfering with the communication between the master and the slave(TCA9539) as I am trying to debug an issue with responses coming from the TCA9539.

I supplied this board with +3.3v and connected the SDA &CLK lines coming out of the master (Micro Controller) to this slave chip (J8). The SDA & CLK lines, each have a 4.7K pull up resistors in their lines.  When the software running in the master, receives any response from TCA9539, this chip does not push the data line all the way to zero level. The zero level by this chip in this board goes all the way to ~+600mv but not to zero.  I have included below a screenshot captured by a scope as the master transmitted the address of 0x77 with the write command to the slave and then it received an ACK from the slave. Please take a look at the ACK received from the slave by the master. The ACK does not drop to zero level and my logic analyzer interrupt it as a NAK. Any response from slave including data read from registers which may contain ‘0’ in any of its bit pattern shows up above zero line (~+600mv) as the attached scope captured for ACK demonstrated this.

  • Are there any other pull-up resistors? The TCA9539 is specified to pull down to at most 0.4 V as long as the pull-up current is no more than 3 mA.

  • Hi Mehran, 

    Thank you for your question. 

    VCC = 3.3V, a VIL = 30% of VCC = 0.3 x 3.3 = 0.99V. Technically speaking, VOL = ~600mV is still within spec. The logic analyzer needs to be reconfigured to interrupt a logic low according to the I2C standard VIL = 30% of VCC. The system is fine as is by the I2C standard, but 600mV is quite high for an ACK from the TCA9539. 

    As to Clemens suggestion, what are the sources of pull-up current? Any I2C level shifters, switches, or buffers in the system? Do you have a block diagram to show? 

    Regards,

    Tyler