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.

TCA4311: Weird issue with slave reply not coming through

Part Number: TCA4311
Other Parts Discussed in Thread: TCA9511A, , P82B96

Hello,

I designed a project to use the TCA4311 as a long distance bus buffer, however, after reading it seems this might have been a sub.optimal choice.

Non the less, the boards are already made and I'd like to ask for some help with a weird issue. When I write, the slave sees the message properly, but the master never receives any response from the slave. I know the bus works, cause replacing the TCA4311 with a by-pass wire, it works.

I'll go ahead and attach some images of the project.

Overview:

Master:

Slave:

Any help appreciated. I'm open for replacement suggestions too.

Edit, 2019-10-17

I've now tried with several boards, and several configurations, including No TCA4311 and Only 1 4311. Also several different "Master" CPUs. Without any TCA4311, it works without issue.

//Kind Regards

  • Hi Johan,

    Are you able to probe the I2C lines on either end of the TCA4311 using an oscilloscope?  This should give us a better idea what might be going wrong.  (Just using a logic analyzer will hide any underlying "analog" behaviors that may be useful in diagnosing the issue.)

    Regards,
    Max

  • Unfortunately not, I only have access to a poor Saleae logic analyzer. Osciloscope is on my list of things to buy.

  • Hey Johan,

    How far are you trying to communicate? Your diagram only mentions a long distance.

    What is the clock frequency?

    It's a bit hard for us to diagnose the problem without o-scope shots but I could take a few guesses.

    1) You may be seeing the missing ACK event which is mentioned in section 8.4.3 in the datasheet. If this is the case, maybe we can try making the pull up resistors weaker (about 20k) on all sides. This device features a Rise time accelerator so using weak pull up resistors help to trigger the RTAs a little later and keep the logic in sync.

    2) The long cable has a lot of inductance and it is conflicting with the rise time accelerator's triggering logic (drives the line high when the slave tries to drive the line low). We may want to add some series resistance on both sides of the transmission cabling sides. (keep it low to around 50 ohms.)

    -Bobby

  • " I'm open for replacement suggestions too."

    TCA4311A has a unique pin out so we do not have many p2p replacement parts. Maybe try TCA9511A (currently sampling and is P2P), this device should not have the missing ACK event I pointed out in the above comment.

    Other than that, I would recommend P82B96 for cable buffering as it was designed for I2C communication acorss cables. One down side though is the Sx/Sy sides have a VoL which is considered high so make sure the master/slave have a ViL larger than the VoL of the P82B96.

    Thanks,

    -Bobby