Electronic – evaluating ESD protection for 3.3V i2c

esdi2cprotection

Even though there are questions about ESD protection for i2c bus already in this forum, I wanted to ask how to suppress the clamping voltage of a TVS diode to a safe level. As an example, the following plot shows the clamping voltage of RClamp0582BQ.
enter image description here

Let's say a microcontroller's SCL, SDA pins are connected to a sensor over wires. Then one wants to protect the chips against an ESD strike caused by human contact. In the circuit below, the TVS diodes clamp the fast transient. The 100 ohm resistors slow down the short current and dissipate power to reduce the stress on the TVS diodes. However, How does one suppress the clamping voltage further ?
enter image description here
(1) an additional ~1k ohm series resistor (as in the image above)
If the device is powered off the impedance of the SCL and SDA pins should be already high, so 1k ohm would not help that much, right?

(2) a ~20pF capacitor
Would it be good to place such small bypass capacitor next to the I/O pins? Since the capacitance should not exceed 400pF, it might be difficult to use a higher value, when there are many slave devices. But I'm not sure if 20pF or something similar is useful.

Best Answer

I've got a couple of comments.

Series resistance. When the master drives an I²C line low, the series resistors and the pull-up resistors form a voltage divider. As a result, the logic low voltage which the slave sees will be higher. You need to make sure that this actual logic low is below the logic low threshold for each slave device. (Similar rationale applies when slave is driving an I²C line and master is receiving information.)

Bus capacitance. TVS diodes have their own parasitic capacitance. TVS with capacitance on the order of few pF are available. Look for TVS intended for protecting USB 2.0 ports.

The tradeoff is between series resistance, pull-up resistance, bus capacitance, and bus speed. If this were my design, I would definitely remove the 1 kΩ resistors, and 100 Ω maybe too (maybe leave pads for the 100 Ω).

Because of bus capacitance and weak pull-up, you you may have to reduce the bit rate on the I²C bus.

Are you overextending the I²C beyond its intended application? You are running the I²C through wires to multiple board. That's not something I²C is intended for. You may end-up like me that time.