Forums

ESD problems with PIC 16F88

Started by Unknown November 20, 2007
lloydcam@gmail.com wrote:

>PIC16F88s.
>Sometimes when you touch the socket with your finger, the PIC responds >in a manner suggesting that it has received some random data on the Rx >pin of the USART. The problem occurs much more frequently in cold dry >weather which I know is worse for static generally.
>Any ideas on how to prevent this?
I do not know, whether this applies to the 16F88 or to your application. But in general this problems can appear, if you do not tie the MCLR Pin to High. Some PICs will run well for years without it. But other exemplars will cause a strange instability, in particular then, when fingers come close to the enclosure or the pins.
Paul Rosen wrote:
> lloydcam@gmail.com wrote: > >> Sometimes when you touch the socket with your finger, the PIC >> responds in a manner suggesting that it has received some random >> data on the Rx pin of the USART. The problem occurs much more >> frequently in cold dry weather which I know is worse for static >> generally. > >> Any ideas on how to prevent this? > > I do not know, whether this applies to the 16F88 or to your > application. But in general this problems can appear, if you do > not tie the MCLR Pin to High. Some PICs will run well for years > without it. But other exemplars will cause a strange instability, > in particular then, when fingers come close to the enclosure or > the pins.
This is a general rule for all CMOS logic - tie any unused inputs either high or low, preferably through a 1k (or more) resistor. -- Chuck F (cbfalconer at maineline dot net) <http://cbfalconer.home.att.net> Try the download section. -- Posted via a free Usenet account from http://www.teranews.com
On Nov 21, 2:12 pm, lloyd...@gmail.com wrote:
> Many thanks for the replies, > > re. Ray Haddad's suggestion of covering the sockets: > Good idea BUT the problem has happened a few times when I was going to > plug a wire into the socket... So it has to be uncovered at that > moment anyway. > In fact, I should have mentioned this in the original post - sometimes > the strange behavior occurs just as a plug first touches the socket - > i.e. before the pins inside the plug and socket have properly mated. > So in this case, it is not my fingers but a wire connected to another > PCB which make it happen. But several other times, it happens just > when touching with fingers even if no other circuits or wires are > nearby. It has happened at times when there is no other electronic > apparatus nearby at all. So my guess is that the source of the > discharge (if that's what it is) is body static or as you say possibly > something else within the circuit... the circuit is fairly simple - a > bunch of LEDs connected to mosfets, an Xtal connected to the PIC and a > little battery charging chip. > The socket is not actually DB9, but a mini-USB B. However USB protocol > is not used, RS232 is used as mentioned previously. (That socket was > chosen just for its size and convenience getting leads etc). > > to Anthony Fremont: > The unused Output pins are pulled down to GND (not up) and they are > set as output zero so I don't think I'm wasting any power there. The > only pull-up is on the Rx pin which is an input. > I'm not sure how to modify the software to reject noise-generated > signals as I'm using the PIC's built-in USART. > I'm not using a MAX232 within the circuit. When the device is plugged > in, the device that communicates with it has a FTDI232 chip that > converts to TTL levels. But when the device is not plugged in, there > is nothing in the circuit to intentionally affect the RS232 RX input. > > to Hul: > I will try a 100pF cap between Rx and GND either close to the socket > or close to the PIC and let you know the result. > > Thanks again to all of you.
Try putting good number of decoupling capacitors across all the supplies. Try to place the supply near to the circuit. Try using a anti-static wristband. Did you succeed in your attempt ? Karthik Balaguru
CBFalconer wrote:
> > > This is a general rule for all CMOS logic - tie any unused inputs > either high or low, preferably through a 1k (or more) resistor.
Unless you need to access the pin for ATE, or other reasons, you can omit the resistor. Decades ago, TTL logic used to need a pullup because they could not guarantee the Zener knee of the reverse E-B junction, in worst case corners, was above Vcc. So the series was literally there to limit current. -jg
Jim Granville wrote:
> CBFalconer wrote: > >> This is a general rule for all CMOS logic - tie any unused inputs >> either high or low, preferably through a 1k (or more) resistor. > > Unless you need to access the pin for ATE, or other reasons, you > can omit the resistor. Decades ago, TTL logic used to need a > pullup because they could not guarantee the Zener knee of the > reverse E-B junction, in worst case corners, was above Vcc. So > the series was literally there to limit current.
However power lines can have noise spikes on them, and the results (if no series R) can be excess current into that input pin. The Rs are safer. One can be used to a herd of tied input lines. -- Chuck F (cbfalconer at maineline dot net) <http://cbfalconer.home.att.net> Try the download section. -- Posted via a free Usenet account from http://www.teranews.com