TVS on I2C SDA doesn't work

Go To Last Post
23 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have an "interesting" problem. I hope I can explain my setup in a way it's understandable :wink:

I have:
1- ELV USB to I2C converter in the house, connected to computer (USB) and local I2C bus where a attiny861a is connected (using I2C).
2- I2C bus extender (P82B715) connected to the local I2C bus, it has no pull ups on the local bus (the ELV converter already supplies these) and it has 4k7 resistors on the "remote" bus, calculated from the datasheet
3- 2 meters (6 ft) of cat 5e UTP cable that carries the remote I2C bus outside the house, pairs connected/twisted as advised in the PB82B715 documentation (that is: pair every signal line with a ground line)
4- complementary I2C bus extender on the outside (not exposed to weather etc., btw.), no pullups on the "remote" side, 2x 4k7 on the local side.
5- the "outside" local bus has a attiny85 connected, as well some I2C sensors (digipicco, tsl2550, ds1731).

Believe it or not, but this works, no problem.

Problems started to show, though, when I started applying TVS diodes to all cables going outside the house. After long long searching I found out the problem was the TVS diode between SDA ("remote bus") and ground. I did replace the TVS diode of course, but no change. Also, the TVS diode on the SCL never was a problem.

So now I placed a 10k resistor in series with the TVS diode and now it works. I cannot be any smaller resistor, then it fails again.

This is very unsatisfactory of course, this won't give much protection against ESD...

The suprising thing is that I have a similar setup at another location and that works, including TVS on the SDA line.

Also I tried various TVS diodes, rated from 6V8 to 22V, no change.

I guess it has something to do with the parasitic capacitance of the TVS, but why only on SDA then? Also the TVS is on the "remote bus" which may be up to 3000 pF, of wich only 100 pF are "consumed" by the cable and converter.

Otherwise suggestions for other means of ESD-protection on SDA?

Thanks!

P.S. I already made a whole new print with the converter IC on it, to rule out any stupid errors. On the way along, I also added indicators for SCL and SDA using 2 leds + 2 transistors (inverting), it's quite fun to see :wink:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

TVS devices have a LOT of capacitance. I would try some of the transient suppressors designed for USB. They are typically dual and you can use one half for data and the other for clock.

When you say "no pullups obn the remote side", do you mean nothing to pull up, anywhere? Or, are there pull up resistors in some of the modules connected to that line?

4.7K seems a bit big. I have generally used around half that at 5V and lower for smaller supply voltages.

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:
TVS devices have a LOT of capacitance. I would try some of the transient suppressors designed for USB. They are typically dual and you can use one half for data and the other for clock.

Thanks for the tip, I didn't know they exist.

Can you give a part number if you have one lying around?

Quote:

When you say "no pullups obn the remote side", do you mean nothing to pull up, anywhere? Or, are there pull up resistors in some of the modules connected to that line?
I mean there are only pull-ups at one side of the UTP cable, if that's more clear :wink:

Quote:
4.7K seems a bit big. I have generally used around half that at 5V and lower for smaller supply voltages.
I just followed the calculation at the datasheet. The datasheet says add up all capacities at all parts of the system (local_1 <-> remote <-> local_2) and then for earch part you get to calculate the pull up resistance using this formula: R = 1ųs / cap-pF, for 100 pF (max value for 2 meters of cat5e UTP cable) this comes down to: 1000000 / 100 = 10 kΩ, which I took the liberty to "round down" to half of that, to be on the safe side.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just google "USB transient protection". You will find things at NXP, TI, and quite a few other sources.

I tend to like the SOT23-6 packages that have what is effectively a 5V zener and two diodes, one that goes to each logic line, and two grounded diodes, again one to each logic line. The diodes markedly reduce the effective load capacitance.

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But if you take a look at the example in the datasheet, the chip sides of the extenders have 4k7 pull-ups while both ends of the cable side have 470 ohms.

ELV has 10k pull-ups, according to google.

What I2C speed are you trying to use?

In case you have not noticed, the light sensor is a SMBUS device, which means it only works up to 100kHz, and they recommend minimum of 10kHz, and since it is a SMBUS device it has a timeout of about 20-30ms of inactivity so you better talk on the bus within the time limits or it will stop responding.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:
Just google "USB transient protection". You will find things at NXP, TI, and quite a few other sources.

I found a nice application note from NXP. They have several devices, but all of them SMD. Useless to me :(. I need through-hole devices.

I'll do some more searching.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jepael wrote:
But if you take a look at the example in the datasheet, the chip sides of the extenders have 4k7 pull-ups while both ends of the cable side have 470 ohms.

That's because the example uses a long, high-capacitance cable. My cable is only 100 pF max.

And as said, I have a very similar setup working, with quite a bit longer cable.

And also, it works, if I remove the TVS diodes.

Quote:

What I2C speed are you trying to use?

Plain default 100 kHz.

Quote:

In case you have not noticed, the light sensor is a SMBUS device, which means it only works up to 100kHz, and they recommend minimum of 10kHz, and since it is a SMBUS device it has a timeout of about 20-30ms of inactivity so you better talk on the bus within the time limits or it will stop responding.

Yes I did notice and all of it is no problem.

The ds1731 is a "real" I2C device and also gives problems with the TVS mounted.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I just see that the TVS I am using has a capacitance of 4300 pF!

Case closed I think ;-)

Now find a good alternative...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That was exactly what I was going to suggest. When you compute the maximum value for the pull-up resistors, you MUST include the transient protection capacitance. A standard TVS is far higher capacitance than what you expect. No problem for power; big problem for fast signal.

Check TI, On, Fairchild, LittleFuse, STMicro, DiodesInc, and such. But, I'll bet that you won't find DIP. The big market for these is USB and for USB, board area and automated assembly is a really big deal.

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What are we talking about here? A varistor or tvs diode? A varistor can easily have nF of capacitance but a diode? I'd expect a few pF. Something like a sa5.0 tvs diode.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Even classic Zener diodes have a lot more capacitance than you would think. Diode TVS devices have even larger junction area, so higher C would not surprise me at all. SAxxxx devices have no capacitance spec (at least the Vishay ones).

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I did not cross my mind that a TVS could have 4300 pF of capacitance. What device it is?

I guess I have been using 0.3 pF devices for too long now.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:
That was exactly what I was going to suggest. When you compute the maximum value for the pull-up resistors, you MUST include the transient protection capacitance. A standard TVS is far higher capacitance than what you expect. No problem for power; big problem for fast signal.

Check TI, On, Fairchild, LittleFuse, STMicro, DiodesInc, and such. But, I'll bet that you won't find DIP. The big market for these is USB and for USB, board area and automated assembly is a really big deal.


Yes indeed, that confirms what I found out yesterday :?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
What are we talking about here? A varistor or tvs diode? A varistor can easily have nF of capacitance but a diode? I'd expect a few pF. Something like a sa5.0 tvs diode.

Well, that was my expectation as well. So I've been proven wrong :wink:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:
Even classic Zener diodes have a lot more capacitance than you would think. Diode TVS devices have even larger junction area, so higher C would not surprise me at all. SAxxxx devices have no capacitance spec (at least the Vishay ones).

Yes, couldn't find it too. I did check a whole bunch of both THM and SMD device ranges and when it's mentioned, the capacitance is either small (0.1 - 10 pF) but then it's a SMD device, or it's huge (> 5000 pF) for THM devices.

And indeed using a zener won't help much too, apparently. Also, with 5W rating, it won't help much...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jepael wrote:
I did not cross my mind that a TVS could have 4300 pF of capacitance. What device it is?

Both 1.5KE (1500 Watts) and P6KE (600 Watts) THM devices.

Quote:

I guess I have been using 0.3 pF devices for too long now.

Then they very probably are SMD devices... If not I am very interested!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Amazing what one finds out when you read the datasheet! I would not have guessed a p6ke had so much capacitance, but then again, i wouldn't be using such a device on i2c - more like across dc.
The package doesn't determine whether a device is low capaitance - a p6ke device is going to be much the same whether smt or leaded.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, that's quite obvious, but you'll see there are no low-capacitance TVS diode available in THM package, try it if you don't believe me...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I pointed out, the driver for the low capacitance transient protectors is USB. In that market, board area and automated assembly are critical concerns. Thus, you are not likely to find many through hole devices.

On the SMD front, don't discard it,. The SOT23-6 packages are relatively easy to solder. The spacing between pins is relatively large and they are not at all difficult to solder.

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've found a few SOIC's that should be doable. I'd really prefer THM though.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, then you need to choose between how badly you dislike SMD vs how much you want transient protection.

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:
Well, then you need to choose between how badly you dislike SMD vs how much you want transient protection

Yeah, 'fraid so... :wink:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think I have the solution, soic-to-dip converter prints from eBay :-)

Suitable TVS diodes with low capacitance are no problem in SOIC package, I already have them.