STM32 Capsense ESD protection circuit question

Design

So I toasted my STM32 Blue Pill by touching an unprotected capsense pin (analog input pin) when I was charged with static electricity, enough that I felt the zap. The effect was immediate and that pin has become forever dead. The Blue Pill still works otherwise (the other capsense pins still work).

To protect the capsense pins I am adding series resistance and clamp diodes to the touch inputs; [as shown in this schematic diagram] (https://imgur.com/a/omN7qZW). When the ESD comes in it goes through the BAS70 diode into ground and VCC.

My question is; do I also need a TVS diode (D1) across VCC and ground to keep the ESD from going in the VCC3V3 pin and causing havoc? Or is there little enough energy in the static electricity that it will be absorbed by the power bus capacitance and do no damage.

Posted Feb 12, 2019, 12:21 AM UTC

187
InductorMan•

Normally one puts the clamp diodes on the outside and the resistor between the clamp diodes and the pin. The reason is that the clamp diodes don’t have infinitely low impedance and the static zap current can be several amps. The diodes will clamp this, but definitely not well enough to keep all of the current from flowing into the input. The input will still see a large fraction of the current.

So the typical strategy is that the clamp diodes reduce the voltage associated with the current pulse to perhaps 10V outside of the rails (say it’s -5kV through a 500 ohm human body model resistance and the diode has 1 ohm of ohmic impedance, it’ll clamp to -10V), and then the resistor interposes itself between this clamped voltage and the IO pin internal ESD diode. That diode will clamp at half a volt, and with 10V across the 500 ohm resistance the current into the pin is 20mA.

Critical for this to work is that the source must have some impedance. If it’s your finger, it does: that’s the HBM resistance mentioned above (don’t recall offhand whether it’s 500 ohms exactly, it depends on the model too). If it’s a “machine model” like discharge, which represents what happens if the spark comes from a low resistance metallic charge reservoir, things are much harsher. The diodes won’t be able to clamp against that, and you’d have to install a resistor both inside and outside the diodes. And the resistor outside would need enough clearance distance not to spark over. But this is super unusual and people rarely need to solve for this kind of abuse.

Then to determine if the supply rail needs clamping it’s really about how much charge is delivered. A 5kV impulse from a 300pF human body model capacitance will deliver 1.5uC of charge, charging a 1uF cap by 1.5V and a 100nF cap by 15V. So in the former case maybe you get away with no clamp: in the latter maybe not. Also note that for real IEC test profiles you have to hit the pin repetitively maybe 5-10x in a row, so even if the first one doesn’t kill the chip, maybe eventually one of the later ones does.

9
a455OP•

Thanks, InductorMan. I feel kind of like I'm fighting a bear and you just handed me a potato masher; I don't quite know what to do with it. But I really do appreciate the information and I'll try to use it.

Meanwhile I'm just going to go with a zener instead of a steering configuration, and use a low capacitance diode rated at 5V standoff voltage (5.8V breakdown) to minimize the leakage currents at 3.3V. And we'll see how that works or not.

3
InductorMan•

Well, it’s not a bear, it’s a potato!

Ahh I don’t know what that means. Just wanted to say it. Anyway, sure, a unidirectional TVS is fine.

But again, this device just isn’t that stiff. None of them are. Look at Vc in the datasheet, that’s the important one not breakdown. During a 1A ESD pulse (which as I said is totally not big), it lets 15V show up across it. Or look at Fig 1. For 8kV, which a quite large zap, it let’s 50V show up across it.

So if you’re gonna be feeding 15-50V to your chip, tell me: do you want to do it through a resistor, or not through a resistor? If you put the resistor between the external electrode and the diode, it only changes the current which produces this voltage by a handful of percent, and the voltage across the diode is still going to yank your chip pin up to 15V with a 1 amp drive strength. If you put it between the diode and the cap-sense pin, it’ll reduce the current down to milliamps.

1
onerustyking•

You're on the right track. I would get rid of the BAS70 diodes and just put the single TVS diode (rated to breakdown at a voltage below the abs max of the STM32 pin). The series resistor should go between the TVS diode and the STM32 pin. You'll also want to put the TVS diode as close as possible to the source of the possible ESD event. If your board is not in a case, then I'm not sure of the best location, since ESD can come in anywhere.

6
a455OP•

The circuit is updated to what I think you are saying, here is the schematic.

The problem is a 3.3V TVS has a breakdown voltage of 4V minimum and the STM32 pin is 4V maximum. So I'm having trouble finding a TVS that keeps the STM pin within the absolute maximum limits.

2
onerustyking•

Can you link the diode datasheet?

Also, if the TVS has a breakdown of 4V, then the STM32 will be fine. The series resistor will block the higher voltage, and the protection diodes on the STM32 will kick in. You'll briefly have a small current flow through that path, but it shouldn't damage the STM32.

3
a455OP•

TVS diode datasheet link

I was looking for voltage matches, not configuration. This TVS looks kind of unidirectional so it might not be right.

But it sounds like I just need to knock off the really high energy spikes with the TVS; a little overvoltage through the series resistor won't hurt.

And thanks for the replys!

1