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: TCA9539 does not ACK to it's address

Part Number: TCA9539

Hi, 

I use 2 TCA9539 on my board. And the device addresses are configured to 0x74 and 0x75.

I2C speed is 100KHz. There are total 5 chips on the I2C bus. The other three chips are EEPROM and ADT75s. The pull up resistors are 4.7K. The VCC is 3.3V. Reset pin is connected to VCC via a 10K resistor.

The problem is the two TCA9539s have no response. And only 3 chips give response when the I2C bus is scaned.

I do following jobs to find out the reason:

1. Exchange the TCA9539 with another design that works well and the result is well still well, bad still bad.

2. Check the I2C signal at address 0x74 on both design and compare, and bellow is the two waves. the first is from another design and the second is from new design.

We can see that the read command is NACKed (1 at the ACK/NACK position).

Any body and give me some advice?

  • Hey Zhonghe,

    1. Are you able to provide a schematic?

    2. "Check the I2C signal at address 0x74 on both design and compare, and bellow is the two waves. the first is from another design and the second is from new design."

    - What is the device that is giving you the ACK? Is it a temperature sensor or is it another I/O expander?

    3. What is the master device generating the address and SCL? (is it an FPGA?)

    4. Lastly, there is something strange going on with your second picture. It looks like you are latching to a certain voltage, can you check to see what that voltage is?

    Thanks,

    -Bobby

  • Hi, Bobby

    Bellow is the part of the SCH in our new design. You can see there are two TCA9539 and one ADT75. The CPU is a MIPS, and we can access the ADT75, and the two I/O expanders, as you know, no response. The abnormal SCL/SDA wave uploaded was just captured at R144/R145 near U30. The C56 and C771 were not mounted on board.

    I also tried to connect the nSYSRESET to the RESET pin of TCA9539 and nothing changed.

    The following picture is part SCH of an older design, that in mass production. There are also 2 TCA9539s and they work fine. The normal SCL/SDA wave that I uploaded was from this design.

    The two design use just the same MIPS processor. We also have some other boards involved TCA9539 and all work fine. We are actually quite familiar with TCA9539. So it is quite strange to us. I checked the voltage at VCC pin, GND pin and RESET pin, they all at the normal level. The SCL/SDA wave, in my view, is also good, SCL signal is quite googd, and START, ADDRESS, R signals all meet I2C bus requirements.

    The only question is the TCA9539 give NO ACK !

    I noted  the voltage step in second picture. This is may be caused by the CPU's I/O voltage that use 2.5V supply. I don't think this is critical because we use the same CPU module in all other design.

  • Hey Zhonghe,

    Your address of 0x74h and 0x75h look good.

    1) Just to clarify, "The C56 and C771 were not mounted on board." so did you short this or leave it as an open circuit?

    I'm worried if this was shorted, then RESET would see GND and it would hold in reset mode and any inputs into the device would not register. If it is open, then it should be fine.

    2) Another issue we sometimes see is the SDA/SCL pins are swapped. Just to rule this possibility out, can you use a digital multi meter and check the contingency by probing SCL pin of ur processor and resistor R114/R517 away from the TCA device. If they are on the same line, you should hear a beep.

    3) "This is may be caused by the CPU's I/O voltage that use 2.5V supply."

    Are you using the cpu's GPIO pins to communicate with the SCL/SDA pins? This could be causing the issue if the GPIOs are push-pull architecture and not open drain.

    If this is the case, then likely we will be able to tell if you place a scope probe before and after the 100 ohm resistor. When the signal is pulled low, the side next to the TCA will see a voltage of maybe 1.6V and the opposite side will see about 3.3V if TCA is trying to ACK.

    ^Please try this and also confirm if the GPIOs are open drain or push pull. (This is very important)

    Lastly, may I ask where there are 100 ohm resistors tied infront of the SCL/SDA lines of our device?

    Thanks,

    -Bobby

  • Hi, Bobby

    1) C56/C771 are surely leaved open. And there is only one pull up resistor at the RESET pin. The voltage at RESET is high level after power up.

    2) We did check the connection of the I2C bus signals and there is no swap. Actually the SDA/SCL signal is capture just at the chip side of TCA9539, see blue mark in following picture:

    3) The I2C pins of CPU are multi-function pins and can be configured as I2C or GPIOs. And in our design, they are function as I2C of course.  I don't know how the CPU drive the two pins indeed when they configured as I2C. The datasheet does not give enough information about this. But as I mentioned, we use the same CPU module (include CPU, DDR, Flash and so on as a whole and mounted through socket on base board) in several designs. And no problem in other designs. So I think the CPU is not the bad guy.

    In my opinion, no matter how CPU drive the SDA/SCL, the TCA9539 should see normal I2C bus signal since the scope probes were placed at almost the TCA9539's PIN22 and 23 !

    About the 100ohm resistor, no special purpose there. Just a designer's habit. And I tried to replace them with 0ohm resistors, no change.

    Is there any power up requirements of the TCA? or is there any electric condition that may cause the TCA into dead lock?

  • Hey Zhonghe,

    "Is there any power up requirements of the TCA? or is there any electric condition that may cause the TCA into dead lock?"

    There are power up requirements, please see section 10 page 29. For first time turn on, you should only care about the rise time minimum.

    "I don't know how the CPU drive the two pins indeed when they configured as I2C"

    If you are configuring it as an I2C channel then it SHOULD be open drain.

    "the TCA9539 should see normal I2C bus signal since the scope probes were placed at almost the TCA9539's PIN22 and 23 !"

    I wanted to make sure you were on the side connected directly to the TCA9539 and not the opposite side of the resistor. If the GPIOs were push pull, the voltages on the opposite side of the resistor would be the same values you see in the oscope wave forms but on the opposite side, it wouldn't be (for the 100 ohm case).

    **Please continue testing with SDA/SCL using the zero ohm resistor.

    1) Are you able to verify the device is soldered on properly? If the Vcc, Reset, SDA/SCL pins aren't soldered on properly then this could also cause the NACK concern.

    2) Can you probe the Vcc pins during attempted communication (with oscope). Also, please place a probe on RESET during attempted communication. Make sure they stay stable at Vcc voltage.

    3) Can you pull RESET low for a second or two (verify by looking at oscope and seeing RESET sit at GND) then release RESET and attempt communication.

    4) Are you able to see how much current is flowing from the power supply into the Vcc pin?

    5) Can you try replacing the TCA9539 with a new one to ensure the current one was not damaged?

    -Bobby