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.

TCA4307: EMI effect on I2C in harsh environment.

Part Number: TCA4307
Other Parts Discussed in Thread: P82B96

Hi experts,

I'm building a simple IO system to work in industrial field. The system consists of main board and IO modules. All the boards are connected to each other through side connector carrying the power supply and communication I2C bus.

The maximum distance from the main board to the last module is about 50 cm. The system should pass the EMI/EMC tests.

Initially, I decided to use "TCA4307" for I2C hot-swap and buffer but now I'm in doubt if it will has good immunity to EMI.

I put ferrite beads and TVS (0.5pf) on the SDA/SCL bus for all boards.

My question is:

Is I2C bus suitable for this project or it is better to use CAN bus for example?

I searched on the net a lot but it seems that this question is more practical experience than science so I hope to find answer here or may be good documents to help me better understand to can decide correctly.

Thanks in advance,

Mohammad.

  • I²C was designed for not-too-long connections on a single board. With single-ended signals, it is quite sensitive to noise.

    You could add low-pass filters to remove high-frequency noise. But if your noise use frequencies near the signal frequencies, you have to use a protocol with differential signals, i.e., RS-485 or CAN.

  • Hi Mohammad,

    I2C is known for its inter-board connections rather than long distance communication, although there are many I2C devices out on the market that are suitable for such longer distance communication. 

    TCA4307 is a hot-swap buffer capable of buffering i2c signals with 400pF of load cap on both sides of the device totaling for 800pF of parasitic bus cap. If you take the 50 cm distance into account, we can generalize to say that 1cm/pf or about 3pF / inch. The total bus cap in this system seems to be just fine for the driving capabilities of the TCA4307. 

    TI also sells i2c bus extender devices (P82B96) which are capable of buffering up to 4nF of load. This helps for much longer distance communication over I2C (meters at a time). 

    Generally speaking, I2C overall is not meant for long distance communication, also due to inductive parasitic. More robust protocols like RS-485, CAN, Ethernet, are used but can be more expensive solutions to implement. I2C is the easier and less cost route for these types of applications. 

    IF you are concerned about EMI/EMC testing, I would most likely recommend something like CAN or RS-485 due to their differential signaling robustness when it comes to EMI.

    Regards,

    Tyler

  • Thanks Clemens and Tyler for your replies.

    I forgot to say that there will be maximum of 16 devices on the I2C bus. So, by calculations it seems good but yes it is more reliable to use differential signals.

    I checked before the IC "P82B96" but I read it is best with twisted or shielded cables which is not possible in my case. The bus will run on the PCB tracks and side connector pins on one module then to PCB track and side connector pins of the other module and so on. Just we can run the two differential signals side by side on the PCB tracks and connector pins. There will be no twisting or shield.

    I think the same is applied also for RS-485 and CAN bus differential lines but there are many industrial products use CAN bus among modules without cables successfully.

    There is a question here about the termination resistors on the bus.

    I think only one 120 ohm (could be split in two 60 ohms) on the main controller is enough because the bus is too short <50 cm, correct?

    Regards,

    Mohammad.

  • You could add low-pass filters to remove high-frequency noise.

    Also I understand that using low-pass filter is not possible here because it will increase the capacitance on the I2C bus which will leads to speed reduction.

  • I think only one 120 ohm (could be split in two 60 ohms) on the main controller is enough because the bus is too short <50 cm, correct?

    According to the following documents:

    https://www.ti.com/document-viewer/lit/html/SSZTB23

    https://web.physics.ucsb.edu/~lecturedemonstrations/Composer/Pages/76.18.html

    https://physics.stackexchange.com/questions/274886/speed-of-signals-in-a-wire-vs-fiber-optic-cable

    https://www.quora.com/What-is-the-speed-of-an-Rf-signal-through-coaxial-cable

    If the CAN bus is 50 cm long and on the speed of 1 MHZ then the signal will reflect more than 400 times before the next bit start. So, the reflection will completely diminish before the next bit start.

    Then, I think termination at one side is fine.

  • The limited speed of I²C would be another reason to use CAN or RS-485.