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.

TCA9548A: I2C communication debug strategy

Part Number: TCA9548A
Other Parts Discussed in Thread: LDC1614

Hello there,

I am facing problems to establish I2C communication between MCU (master) and TCA9548A. (Not response
on default I2C address 0x70, but A0-A2 grounded).

For further test setup simplicity, can I neglect all channel considerations like pullup resistors dedicated to the individual channels etc?
At current debug stage, I only want to establish I2C comm between the master and a single slave device, and reading and writing the status register.
Once that is working, I will look into channel usage.

Obviously, I have pullup resistors in place (4.7K) for this simplified test setup.

Regards,
Jo

  • The SCx/SDx pins are connected through passive switches, and should not affect the initial I²C communication.

    The first steps are to check the voltages at all input and power pins, and then to look at the I²C signals with an oscilloscope.

  • Hello Clemens,

    Thank you for your feedback- please let me describe the application scenario more in detail:

    I have received 10 units of the TCA9548A parts from a side-channel. normally we are ordering from the bigger
    suppliers but they were all out of stock. Just to mention this- I am not assuming a quality problem with received parts.

    2 parts were malfunctioning on the target boards. It was not possible to generate an I2C start condition. I found the SDA line
    was hold down all the time by the TCA9548A. I have verified this by erasing the MCU firmware, so all I/O was high impedance.
    Also no short-circuits on the PCB. Since controller board has only 1 MCU master and a single I2C slave (with respect to I2C 
    circuitry), I came to the conclusion that SDA was hold down by the slave device. Resetting the device did also not help.

    Today I tried another IC from the delivery, initially that looked good to me. When I2C bus in idle state, I could measure DC voltage
    levels of 2.5V on SDA and 2.8V on SCL. VCC is 3.3VDC. I verified start and stop conditions, this seems to work now.

    However, there are more problems to debug:

    When trying to read the TC9548A control register, the firmware hangs (because polling code is checking flags) after issuing
    a NACK read sequence. I was following the datasheet instruction for control register reads:

    - send start condition
    - send slave address with the R/W bit set to 1
    - send NACK request
    - send stop condition

    The I2C firmware part is a library for Atmel AVRs, not written by me, but I had never issues with it in the past- of course this does
    not mean it is bug-free. Today I was connecting a different slave device (Ti's LDC1614) to the controller board, bypassing the
    TCA9548A- no issues with I2C communication, working as expected.

    May I ask for your advise, how to proceed ? You have already mentioned to check with oscilloscope, I have a 4-channel Rigol in
    the office but I2C interpreter is not enabled. I have also a dedicated USB Logic analyzer from Intronix, but I am not sure how
    useful it is for debugging reported problem. Another strategy might be stepwise JTAG debugging for MCU register inspection,
    but I know already the firmware hangs when issuing a NACK read request.

    Regards,

    Jo

  • An oscilloscope would be used to check voltage levels and edge shapes. If the other device works, this is probably not what causes the problem.

    You do not need the I²C decoder in the oscilloscope if you can decode it yourself. (Or post the waveform here.)

    The idle voltage level should be VCC. It appears all your chips are defective, but I'd guess those are not TCA9548A.

  • Hello Clemens,

    If I would send a good resolution photo of the chips (top and bottom), would it help to make a prediction
    if those are faked ones or more likely original parts? Could do that next week when back to office.

    The top label is inline with datasheet part designation, and bottom side has a grove between pin 1 and 24.

    Regards,

    Jo

  • I doubt that TI will be interested if you did not get them from an authotized distributor.

    And what matters is not the marking, but that they do not behave like a TCA9548A.

  • Exactly, different chip or defective. As as quick solution, I have ordered a breakout board from Amzon and relocated
    the chip to my target board- I can read the control register.

  • Hi Jo,

    You can send a picture of your top marking and I can check if they are counterfeit parts.

    Do you have a schematic of your setup? I'm also a little confused by your initial statement about pull up resistors. Do you have pull up resistors on both sides of the device? One for the SDA/SCL side and one for the SDx/SCx channel that you are using.

    Can you also send over any scope shot of your I2C communication?

    Best,

    Chris

  • Hello Chris,

    Sure I can send chip photos, but will take some time.

    With chips from an Adafruit breakout board reported problem was gone. 

    Reported problem appeared with or without connected I2C device on a TCA9548A channel.
    As for the former test case, pull ups were present on  channel with connected device.

    And in both test cases, pull ups where connected at master side.

    Regards,

    Jo

  • No worries Jo,

    Are you saying that the issue is no longer present on the devices?

    Whenever you send over the top markings I'll check them.

    Best,

    Chris

  • Hi Chris,

    No, imo the original devices are defective or even different, re-labeled chips. I have received 20 ICs
    from a Chinese supplier (ecTransistors). Normally we are ordering only from the established supply chains,
    but at that time all of the were out of stock. The Chinese parts came without anti-static bag.

    As a quick (test) solutions I bought some adafruits boards and have relocated a chip to one of our
    target boards- that works fine except the glitch described in my other thread with you. Imo that problem
    has nothing to do with the chip.

    Regards,
    Jo

  • No worries Jo. Whenever you can get those top marking images send them over and I will check.

    Best,

    Chris

  • Hi Chris,

    Here a photo of one chip out of 20 received. I suspects all of them not working, have tested 4 devices. SDA and SCL lines showing levels below
    3.3VDD, which is not correct. Tested with pull-up resistors 4k7.


  • Hi Jo,

    The one on the left is definitely not a genuine TI part. The one on the right I can't find anything about the markings. Every part that TI sends out comes with a LOT number. Can you email me the LOT number you received with this part at c-ayoub@ti.com. Usually this can be found on the packaging that you received with this device.

    Also can you feel the dot on find out if the dot is just printed onto the case or if the dot is an actual dimple that you can feel with your finger?

    Best,

    Chris

  • Hi Chris,

    The dot is printed only, no engravement.

    I kept the packaging in the office, but there is no LOT number mentioned. We are not ordering directly, everything goes through 
    a middle man, ordering parts from different suppliers. That company agreed already to re-order from Mouser, though when I was
    checking last time they had no parts in stock.

    Please let me know if the LOT number would be interesting for your own investigations, maybe I can still find it out. Otherwise,
    I just let it as is because we need TCA9548A parts more or less for an one-off project, and I got some Adafruit boards.

    Regards,

    Jo

  • Jo,

    If you can email me the LOT code that would definitely allow me to give you a for sure answer. Currently using just the markings on the top of the device I wasn't able to find any records of this part. However, depending on when this was manufactured it could still be a genuine part. So the only way for me to check at this point is look at the LOT code.

    Eitherway,  it is up to you if you want me to continue with this investigation.

    Best,

    Chris

  • Chris,

    Let me try- our component provider will contact the overseas supplier regarding LOT no.

    Regards,
    Jo

  • Sounds good Jo,

    I'll be waiting for your response.

    Best,

    Chris

  • Hi Chris,

    The supplier is not responding to out LOT no. request.
    Anyway, thanks for your follow-up, and I will consider it as resolved.

    Regards,
    Jo