Author Topic: Unidirectional TVS on I2C prevents it from working - Bi-directional one is ok  (Read 2332 times)

0 Members and 1 Guest are viewing this topic.

Offline ricko_ukTopic starter

  • Super Contributor
  • ***
  • Posts: 1015
  • Country: gb
(Updated with the part numbers and details about the voltage/length. See underlined addition)

Hi,
we have a board manufactured for years and always worked. On the I2C channel there are two separate connectors so we had two "dual TVS", one on each connector protecting both the SCL and the SDA lines. 

The original TVS were the PESD3V3L2BT for some reason bi-directional (not required because I2C only needs unidirectional). We recently changed it to PESD3V3X2UT a uni-directional and some boards stopped working but when we remove it they work perfectly.

The Ir" is running at 400KHz. The system and the I2C run at 3V3. Both connected like in the attached screenshot. The I2C and the 3V3 lines are clean and stable.
The I2C is on the PCBs only connected by a ribbon cable 3 inches long. The external I2C connector does not have anything connected to it, not even a cable.

Waiting for a PCB so I can have a look at the signals but any ideas/suggestions what could cause the intermittent faulty behaviour on the I2C channel with the new (uni-directional) TVS?
The capacitance in the new one is extremely low (less than a pF) compared to 100pF of the original, so that cannot be the reason.)

This is the PESD3V3L2BT, the original (bi-directional) which worked well for years: https://assets.nexperia.com/documents/data-sheet/PESDXL2BT_SER.pdf

This is the PESD3V3X2UT which, when used in place of the original one causes some PCBs to not be able to communicate with the I2C ICs: https://assets.nexperia.com/documents/data-sheet/PESD3V3X2UT.pdf

Thank you :)

« Last Edit: March 02, 2022, 02:37:32 pm by ricko_uk »
 

Offline ricko_ukTopic starter

  • Super Contributor
  • ***
  • Posts: 1015
  • Country: gb
Screenshots attached of the original and new TVS types (both connected as usual as shown)
 

Offline m98

  • Frequent Contributor
  • **
  • Posts: 615
  • Country: de
Just shooting in the dark, could the ground potential at the diode float higher than the signal voltage for some reason? Are there some high current paths on your PCB?
 

Offline uer166

  • Frequent Contributor
  • **
  • Posts: 893
  • Country: us
Check the footprint pinout, potentially you've flipped some pins on the TVS. If it's bidirectional, the breakdown from any pin to any other pin is >3.3V, so even if you screw up it'll keep working. No longer the case with 0.7V drop.
 
The following users thanked this post: EEEnthusiast

Offline AndersJ

  • Frequent Contributor
  • **
  • Posts: 408
  • Country: se
OP is not saying which type is used when it works.
Most likely the clamping voltage is lower for the non working alternative.
"It should work"
R.N.Naidoo
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21719
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Is it exposed to more than 3.3V?  Is there any ringing on the line?

Most importantly -- why is I2C being exposed on a connector!

I would stick with the traditional zener type TVS.  If nothing else, the capacitance gets you a bit more filtering (may want to add ferrite beads or other additional filtering to this end), and a mild resistance (say 10-100 ohms) toward the driver(s) increases ESD immunity at the expense of drive strength (which should be irrelevant as, it's I2C, it's not supposed to run any kind of length).

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline ANTALIFE

  • Frequent Contributor
  • **
  • Posts: 509
  • Country: au
  • ( ͡° ͜ʖ ͡°)
    • Muh Blog
OP give us the exact part numbers please ;^)

Offline Berni

  • Super Contributor
  • ***
  • Posts: 4957
  • Country: si
Leakage can also be a problem sometimes.

The more zenner kind of protection diodes have a pretty soft knee at these low voltages, so they can leak a significant amount of current in the area before the actual breakdown voltage. On a I2C bus that is only pulled up by resistors this could pull the bus down slightly.

On the other extreme there are TVS diodes that operate more like a Diac where they have excellent low leakage up to a point where they trip and they start pulling current until the voltage drops sufficiently low to let it relax again. This can be a issue on I2C that has constant pullup resistors.

And as others said running I2C on a cable outside of the device is usually a bad idea. I seen I2C be finicky even between chips on large PCBs.
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9034
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
And as others said running I2C on a cable outside of the device is usually a bad idea. I seen I2C be finicky even between chips on large PCBs.
That's done on every HDMI link and it works just fine, although the cable is shielded.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline ricko_ukTopic starter

  • Super Contributor
  • ***
  • Posts: 1015
  • Country: gb
Thank you all! :)

Replies below to various questions/comments:

Is it exposed to more than 3.3V?  Is there any ringing on the line? Most importantly -- why is I2C being exposed on a connector!
I would stick with the traditional zener type TVS. 

@Tim,
it is not exposed to more than 3V3 and no ringing. Why would the I2C being exposed to a connector be a potential issue in general?
By "traditional zener type TVS" do you mean to use an actual Zener instead of a TVS?

@ANTALIFE,
parts updated also in OP. The one that worked (bi-directional) is PESD3V3L2BT and the one that only for some boards did not work was the uni-directional PESD3V3X2UT. So both parts are rated for Vrwm = 3.3 V and the entire system runs at 3V3 only.

@Berni,
why is an I2C cable outside an enclosure a potential issue?

Thank you
« Last Edit: March 02, 2022, 05:01:11 pm by ricko_uk »
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21719
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
it is not exposed to more than 3V3 and no ringing. Why would the I2C being exposed to a connector be a potential issue in general?
By "traditional zener type TVS" do you mean to use an actual Zener instead of a TVS?

I2C on connector is bad for EMI and ESD.  Fine if well shielded (as the HDMI example (Display Data Channel (DDC)), also used in VGA and DVI -- all use shielded connectors and cables), but the low bandwidth may give the false impression that it doesn't matter.  But there's hardly anything special about I2C transmitters or receivers; there's a minor amount of filtering (maybe 50ns worth) and that's about it.  Extra transitions corrupt the state easily, pins don't have extra robustness towards ESD, and EMI banging into ESD clamp diodes shifts the baseline which can also corrupt logic levels, even if the RF isn't being read directly as signal.

Besides, it's no good for long cable runs, not that that's relevant here I guess, but cable length is an easy way to soak up extra loading capacitance compromising clock rate.

Finally, it's not easy to filter, because the impedance isn't constant.  You want to minimize loading capacitance, but you can't get the cutoff frequency very low just by increasing inductance: when a driver pulls down, it'll ring (because R(driver) < filter Zo), and then when driver(s) turn off, it'll rise slowly again -- the edges are asymmetrical, which I mean, you already know this, but trying to put a filter on it just doesn't work very well for the same reason all over again.

It truly is well suited to exactly what it is -- onboard communication!

There are extenders and translators out there, if you absolutely need to use it over longer distances (e.g. differential I2C, which physically works something like CAN, but it's the same old I2C protocol)... or there are other standards to choose from. :)


As for TVS, the regular kind is just a zener, a beefy one that's rated for surges.  You can indeed use regular zeners, if appropriately rated; they might not be, so it's simply safer to get the TVS version.  They might well put the same chips into both products, give or take appropriate testing; who knows.

There's also the snapback diode (the unidirectional one).  This has a negative resistance characteristic, and, it's not clear if it'll turn off with the pullups in there; they don't specify the valley (turnoff) current or voltage.

You'll also see low-capacitance TVSs, which are of the usual (zener) type, but have a series diode so that the TVS capacitance charges up to signal peaks, only loading the signal initially.  Often the TVS comes out on a pin that can be tied to VDD, so it stays out of the way normally, and also protects VDD.  See dual and quad arrays for USB and such.

The other kind of negative resistance TVS is the SIDAC type, which has low leakage until breakdown, then stays latched on until holding current is released.  Advantage of course being much higher surge energy handling for a given voltage rating.  They aren't available at such low voltages though (I think?).

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: AndersJ, ricko_uk

Offline Berni

  • Super Contributor
  • ***
  • Posts: 4957
  • Country: si
@Berni,
why is an I2C cable outside an enclosure a potential issue?

Thank you

Some I2C chips and MCU peripherals can get confused into weird states if they see a voltage spike on the lines. At the same time the bus is only driven high by a pullup so it is more sensitive to extra capacitance on the lines (long cables can have quite a bit of it)

Not saying it can't be done, just that some care has to be taken when doing so. Like short shielded cables with consideration to there capacitance.
 

Offline ricko_ukTopic starter

  • Super Contributor
  • ***
  • Posts: 1015
  • Country: gb
Thank you Tim and Berni :)
 

Offline Scutarius

  • Regular Contributor
  • *
  • Posts: 106
  • Country: ca
Hi ricko_uk

Just wondering if you ever found out the root cause?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf