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.
Hi Team,
We received this inquiry from our customer.
So we are building a certain project which will use interchangeable responder devices and one controller device, all communicating using I2C. Because we would like to use a higher number of responder devices, we are aware that adding them will also add capacitance to the I2C bus. So we have decided that using an I2C buffer is inevitable. Now my question for you is, is there such a device that could be used as an I2C buffer even for I2C busses that could reach lengths of up to 1m, and also, will there be need for a separate logic level translator, because not all responder devices will use the same logic, or is there such an I2C buffer which is also a logic level translator?
and also hot swapping is a must because the responder devices will be interchangeable.
Our customer shared the diagram below showing the details of their application.
I suggested TCA4311A buffer on both controller and responders since the responders are removable and the distance between the controller and responder is quite far (1m max). However, based on the application notes entitled "Why, When, and How to use I2C Buffers" in the link below, the I2C bus capacitance would exceed the maximum allowed (400pF) as there are maximum of 50 responders in their system. It seems that another solution is to divide the responders into 2 or more groups with 1 buffer for each group to reduce the bus capacitance. Can you please confirm if this is a good solution? Do you have a better suggestion?
Regards,
Danilo
For improved performance, replace the TCA4311A with the TCA9511A.
You need a hot-swappable buffer only if the communication on the bus should not be disturbed while plugging a card in. If you can ensure that the bus is idle (or if you can ignore errors), then normal I²C buffers will work.
Normal buffers (TCA980x, TCA9517) also are level shifters. If you use the TCAxx11A, you need to add level shifters.
Each buffer creates separate bus segments that have their own capacitance limits, so the diagram would be OK. (The buffer at the controller should be the TCA9803 to handle the larger capacitance of the 1 m bus.)
Hi Danilo,
I agree with Clemen's response.
If you have 50 I2C targets downstream, you would need to separate them if you were trying to stay within I2C standard for bus cap limitation. You can use the same TCA980x or TCA9517 to help you seperate the buses into two groups.
1 meter of cabling isn't much in terms of cap loading. For a cat5 cable, this is about 50pF of cap. Using an I2C buffer like TCA9517 or TCA980x would buffer the cap loading.
Our I2C hotswap buffers are the TCA4311A/TCA9511A/TCA4307. I would recommend TCA9511A if you need it. Most people misuse/design hotswap card incorrectly, you need to have the hotswap side on the unpowered card and have special staggered connections to make connection to the main board/backplane. If you're not able to design in such a way, you won't get the full benefits of the hot swap feature.
-Bobby
Hi Clemens,
Why do you suggest the TCA9803 at the controller side? What is the difference between that and say TCA9517?
We have also altered our design in a way that doesn't require hot swapping.
I recommended the TCA9803 over the TCA9802 because the former has higher drive strength.
Without how swapping, you do not need the TCAxx11A.
The TCA9517 supports up to 5 V, the TCA980x, 3.3 V. In general, the TCA980x is preferrable if you can ensure that there are no pull-up resistors on the B side.
The 9517 and 980x are pin to pin so you should be able to evaluate them both if needed.