CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

ESD protection/problem for our device/PIC
Goto page 1, 2  Next
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

ESD protection/problem for our device/PIC
PostPosted: Wed Apr 12, 2006 3:21 am     Reply with quote

Hello,

recently we've tested our device for EMI and I experienced 3 ESD problems that are surely PIC- related.

This is our device.



It's the Euroscope 20 and it is a PDA for visually impaired people. It has 4 PCB's inside:
* 1 carrierboard with i/o, power
* 1 small processorboard on the carrier (has an Intel PXA250)
* 1 keyboardprint (PIC is on that) connected through a board to board connector on the carrierboard
* 1 cursorrouting board: on the picture you can see the braille cells (blind can read via that); under the grey 'caps' is a small pcb with 20 pushbuttons next to each other:


The bottom of the device is a aluminium plate connected to ground.
Our Pic is a picLF877A.

ESD compatibility is tested with a charged ESD gun of +/- 8kV. That gun is hold close to all i/o and all pushbuttons and to the housing.

Now we are experiencing 3 problems:

1/ Gun is hold close to the bottom of device, near the hole for the resetbutton. What happens is a spark to the metal housing of the button. The spark goes into the PIC via /MCLR => device reset.
The line is pulled up via 100K to Vpic = 3V.

2/ Gun is hold close to the braille reading device. Under the grey caps are the same buttons as the resetbutton. Those 20 smd pushbuttons are connected in a PIC keyboard 8 x 9 matrix. Spark goes up to housing of the pushbutton; spark goes through input/output of PIC => PIC reset (=> device reset)

3/ Gun shoots to ground 'net'. 3 Possible things sometimes happen:

* If the spark is really powerful => device reset
* If the spark is not that powerful => nothing happens
* Sometimes the external RB0 interrupt is triggered; unwanted sending serial data (position on/off switch)

I hope you guys can give me some tips to prevent this; many thanks,

Chr
newguy



Joined: 24 Jun 2004
Posts: 1907

View user's profile Send private message

PostPosted: Wed Apr 12, 2006 11:14 am     Reply with quote

I guess I need to ask you some more questions before I can give you a decent answer.

Does your device incorporate any ESD protection devices now? If not, you need to add protection for every vulnerable line. Vulnerable lines are those that are connected to pushbuttons and/or any line that enters/leaves the device enclosure, such as a serial cable, power cable, etc.

The ESD protection networks I like the best, especially from a price perspective are: http://www.onsemi.com/PowerSolutions/product.do?id=MMQA5V6T1

These are quad transient voltage suppressors (TVS) in a 6 pin package. 4 pins for lines you want to protect, two for ground. They work really well.

Once all the data/input/output lines are protected, then I'd turn my attention to the power network. All Vdd lines also have to have protection, and I usually just use TVS zeners for that. You also need to have adequate capacitance distributed evenly between your Vdd and ground planes. If the power grid does take a "hit" (worse if it is ground that gets zapped), then the distributed capacitance will lessen the impact on the power grid.

I've made several products with this protection scheme, and I've never lost one yet. I haven't heard of any "funny" behaviour either, so I assume the protection is doing its job. One of these products is for rough service/extreme environment automotive, and it is constantly being.....let's say "rearranged" by the mechanic/driver. No issues with it at all.

Hope this helps.
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 1:02 am     Reply with quote

Well, I haven't got any kind of protection as for now.

You are suggesting fast zener protection diodes?
What do you mean by distributed capacitance?
I have vcc = 4,3 a 5V
Vpic = 3V
5V = 5V

All voltages are coupled to ground via capacitors close to the ic, most of them 100nF. I guess that is not enough..
angelkato



Joined: 12 Apr 2006
Posts: 2
Location: FRANCE

View user's profile Send private message Send e-mail

ESD protection and design rules
PostPosted: Thu Apr 13, 2006 1:17 am     Reply with quote

Hi,

I work on electronic automotive device and your problem is normal with your design.

Give this rules to improve ESD capability (for 8kV contact ESD and 15Kv Air discharge with humain body model 2Kohm/330pF):

ESD capacitor to all input and output = 10nF / 50V min
Use VDR (36V) to protect line communication
You must reduce all wire impédance. Your MCLR line doen't have 100K impédance (use 22K max) and place the résistor near the µC. If your MCRL line is long, place ground line in each side of your MCLR Line.

In your case, place ESD capacitor on each input line connected to your keyboard.

By
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 1:18 am     Reply with quote

And when you have pushbuttons implemented; where would you place the TVS? At the input or output side of the pic of the button?
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 1:41 am     Reply with quote

Angelkato,

this is my pic-schematic :



SCAN0-9 : outputs switching from floating to ground
D0-7 : inputs reading in matrix

So I have to place 10nF/50V on the D0-7 lines close to the PIC? I'll try that

What is a VDR ?
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 3:22 am     Reply with quote

newguy: where do you place those TVS? Next to the PIC inputs/outputs or close to the pushbuttons?
JPH



Joined: 02 Feb 2005
Posts: 9
Location: Finland

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 3:49 am     Reply with quote

Hello

VDR is voltage dependent resistor. Google will help you how use it. Shortly when voltage rises resistor value goes down. Suppressors must placed as close as possible place where electric disarge comes in. Firstly I would choose switches that have external ground pin which conduct over voltage to ground instead of processor. For bus protection I would choose example PHILIPS bza100 chip for protecting whole bus.
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 4:00 am     Reply with quote

Hey JPH... it's impossible to change the switches and we cannot ground every housing of each button (although that would be the solution).

In my case the spark can hit 2 lines; SCAN line or Data line; should I place a diode on every line?
Ttelmah
Guest







PostPosted: Thu Apr 13, 2006 4:04 am     Reply with quote

Normally you want to stop signals getting ino the board. If you suppress close to the PIC, and the wires route close to other lines, you have the potential for the signal to couple onto these lines,and possibly to other circuitry.
This is why you will see things like 9/25 pin D-type connectors, with suppresion capacitors 'built in'.
The starting point, must be a good ground plane on the PCB, or a ground 'strip', if only using a single sided board. The best trap/suppression, depends on the nature of the signals. For instance, 'logic' lines, can be trapped using Tranzorbs/MOV's, while an analog signal line, may be better handled by something like a 'Pi' or 'T' network (combination of inductors/capacitors). For high impedance signals, Tranzorbs can introduce non-linear loading, well below their rated voltage. Remember that the lower the actual impedance of a line, the less problems it is likely to exhibit. Also though that problems can exist 'backwards'. So (for instance), if you have a section of a board, that links to another component internal to the unit, you may well think that there is not a problem here. However if a spike arrives at the first area, the voltages on this may move relative to that of the rest of the board, and you then see problems 'back' across the connection. This is normally more of a problem with lower impedance spike sources than the 'human body' model, but should be borne in mind.

Best Wishes
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 5:18 am     Reply with quote

tried capacitors, zener diodes and combinations... doesn't help..
Ttelmah
Guest







PostPosted: Thu Apr 13, 2006 5:53 am     Reply with quote

Capacitors are very dependant (as with all the devices), on just how good the ground is to which they are attached. Also you need to be very careful on device selection. 'bigger is better', is definately not the case for a capacitor, since in most cases larger capacitors have worse transient behaviour.
You need to be using Zener diodes designed for suppression applications. Normal Zeners can be too slow, and breakdown suprisingly easily.
Have a look at:
<http://www.microsemi.com/support/micnotes.asp>
Look particularly at note 109, and the comments about parasitic inductance in the conductive path.

Best Wishes
Christophe



Joined: 10 May 2005
Posts: 323
Location: Belgium

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 6:50 am     Reply with quote

I've read the note, and I understand the theory; but the switches have 2 nodes. At which node should I place the TVS?

* Are there clamping diodes inside the PIC ?
* Why does my PIC sometimes reset/does something strange when a spark hits ground? What can I do about it?
Ttelmah
Guest







PostPosted: Thu Apr 13, 2006 7:12 am     Reply with quote

The PIC pins with output drives, have clamping diodes. This _excludes_the MCLR pin, and A4 on some chips. You want to protect all lines. When the switch is 'open', there is no connection between the pins, and the lines will need individual protection. However the line that is normally 'driving', will have the relatively low impedance of the drive circuit itself present, which will help massively.
On the effect when the spark hits 'ground', this could be the second effect I commented on (if there is circuitry going outside the board), or could show a lack of enough HF decoupling between the rails.
Seriously it is all down to design. I have systems that are built inside industrial printing machines, with large motors being switched only inches from the board. These have (as yet!...), shown no transient problems at all, but they are built with four layer boards, using a good ground-plane, series resistors, and 'T' networks on the local logic line interconnections, opto-coupling on the external inputs for the detectors, isolated power, and opto-coupling on the RS485 serial outputs. The transient survival requirements on these, were 4Joule, at 50Kv, making the 'human body' test seem relatively minor.
As another comment, does a 'reset' matter?. If you design your code to 'warm boot' quickly and reliably, this is still acceptable as 'survival' of the spike.

Best Wishes
SherpaDoug



Joined: 07 Sep 2003
Posts: 1640
Location: Cape Cod Mass USA

View user's profile Send private message

PostPosted: Thu Apr 13, 2006 7:12 am     Reply with quote

You should put suppression on any line from the ESD source to the PIC whether it is an input or an output. In your case you need to protect both scan and data lines. Also the signal should go from the button to the cap THEN from the cap to the PIC. If you just add a cap to an existing line from button to PIC the inductance and impedance of the cap leads may make it useless. The best would be to use "feedthrough" caps, but they are a pain. I like 490-2548-1-ND from Digi-Key for this use. They have three terminals, 2 for signal in & out and one ground.
_________________
The search for better is endless. Instead simply find very good and get the job done.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group