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.

TCA4311A - Multiple in series

Other Parts Discussed in Thread: TCA4311A, TCA9517AHi ,
I use three TCA4311A in serie .
if the number of slave on the ouput of the third TCA4311A is less than 2 ,the i2c communication works properly but when i increase the number of slave to three the i2c communication doesn't work . knowing that each slave have an internal pull up 10K .
Could you help me .

Thanks
  • Hello Said,

    Thanks for your post!

    I've split your question off into its own post so that we may dedicate this thread to helping you with your problem.

    The key piece of information here is that the slaves have internal pull-up resistors. My suspicion is that with the 2nd slave, your total pull-up resistance drops to a resistance which is low enough to raise the VOL. This is why we don't recommend placing more than 2 TCA4311As in series without buffers, the VOL offset can get very large without buffers (buffers have to be setup in a careful way as to make sure the static voltage offset side is not connected to a TCA4311A, since it has rise time accelerators). I'll explain below.

    Remember that the TCA4311A has a input to output offset voltage, which is dependent on the total pull-up resistance! As the pull-up resistance gets lower, the offset across devices gets higher (see below snippet from data sheet)

    It has an example, showing how if the pull-up resistor is 10k, then the VOL_Offset is 108 mV (VOL would be 118 mV). If we assume another slave is added with another 10k pull-up (internal pull-up is fine), then the total resistance is 5k. This would be a VOL_Offset of 141 mV. Now imagine this across 3 series 4311As.

    You would see a combination of the pull-up resistances (if we knew your exact circuit setup, we could calculate it, but since we don't, I'm going to make the (incorrect) approximation of 3 x 141 mV. This would give you a rough approximation, in reality, though, Since the TCA4311a is not buffed, it means that it will have to see the combined pull-up resistance of all the devices down stream from it. So the "first" device in the series would actually have the worst VOL_Offset (combined pull-up resistance of the 2 down stream of it, including the slaves). The 2nd one would be affected by the one immediately after it (which includes the slaves), and the last one would only be affected by the slaves. So in reality, you would be seeing something higher than 0.423 V offset.

    This voltage difference will get larger as you add more slaves to end.

    What this does to your signal, is that when a 0 gets transmitted on the first device, by the time it goes through the 3 series TCA4311As, your 0 will be at a voltage > 0.423 V (assuming total pull-up resistance is 5k, which will not be the case in your situation. It sounds like your situation is much lower, which will cause a higher VOL_Offset). If this voltage is too high, then your slave won't interpret it as a 0, and communication will fail.

    I would suggest you take a look at the waveform on an oscilloscope at the master, and then at the slaves (or both if possible) during a communication attempt. I'm willing to bet that you will see that the slave side has a voltage much higher than 0, causing this communication failure.

    A suggestion I would have is to place a buffered repeater between the slaves and the TCA4311A. I would recommend the TCA9517A, and make sure that the A side is connected to the TCA4311A, and that the B side is connected to the slaves. If you could share your I2C schematic, I would be happy to offer suggestions to rectify the problem.

  • hi Jonathan,
    Thank you for your response highly appreciated.
    I tried to add a waveform but it does not work on the website.how can i do this ?
  • Said,

    When you click reply, you will see a box and some text to the bottom right which says 'use rich formatting'. (See below)

    From here, you put your cursor where you would like the image, and click on the add image button at the top on the tool bar.

    A box will pop up, click browse and select your image. WHen you press ok, it will upload the image, and it'll show you a preview in the box. Once you see it, press the "Insert" button at the bottom. Then you'll see the image in line with your message and it'll show up when you post your reply.