View previous topic :: View next topic |
Author |
Message |
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
RA0 shorted to Vcc. Damaged PIC. |
Posted: Mon Jun 11, 2007 2:32 pm |
|
|
Colleagues,
I have batch of boards with 16F88. In these boards RA0 is connected to an open collector output of a reflective IR proximity sensor (with 20k pull-up), which is measured through AN0 channel. Vcc = +5V everywhere on the board.
After some time, the proximity sensor stopped working. I turned out that its output was shorted to Vcc through the pin RA0. Even when the power was removed from the board, RA0 remained shorted to Vcc. I guess, port A on the PIC is damaged, although the rest works just fine. I wonder, what could cause this damage? Did anyone else have these symptoms?
Cheers,
Nick
Hardware: 18F88 in 28-pin QFN, Vcc = +5V, internal RC 8MHz
CCS: 3.240 _________________ Read the label, before opening a can of worms.
Last edited by kender on Mon Jun 11, 2007 3:19 pm; edited 1 time in total |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Mon Jun 11, 2007 3:12 pm |
|
|
I assume you mean 16F88.
The implication is that pin A0 was turned into an output pin, and set
to put out a high level. Do you know this happened for a fact ?
What's the brand and part number of the IR sensor ? |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Mon Jun 11, 2007 3:30 pm |
|
|
PCM programmer wrote: | I assume you mean 16F88. |
Yes, that's what I had in mind.
PCM programmer wrote: | The implication is that pin A0 was turned into an output pin, and set to put out a high level. Do you know this happened for a fact ? |
I see a high level with a scope, when the board is powered up. I see short between RA0 and Vcc with a multimeter, when the board is powered down; this is alarming. In the code I don't set RA0 as output (neither with set_tris_a() nor with output_something(PIN_A0) ).
PCM programmer wrote: | What's the brand and part number of the IR sensor ? |
The IR sensor is Osram SFH9210
http://catalog.osram-os.com/catalogue/catalogue.do?act=showBookmark&favOid=000000010000a1960001003a
The board has 3 sensors. Each of these sensors is connected to an analog input AN0, AN1 and AN2. So far I have brought up 2 boards, and from the total of 6 analog channels, 4 are shorted to Vcc. _________________ Read the label, before opening a can of worms. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Mon Jun 11, 2007 3:51 pm |
|
|
Are you certain that the PIC pin A0 is shorted internally to Vdd ?
Have you removed the IR detector chip and the pullup resistor,
and then checked for a short ?
This is the QFN package. Pin A0 is not next to the Vdd pin, so there
shouldn't be a solder short problem. Does a +5v trace go near pin A0 ?
I'm just trying to consider all possibilities. |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Mon Jun 11, 2007 5:26 pm |
|
|
PCM programmer wrote: | Are you certain that the PIC pin A0 is shorted internally to Vdd ? Have you removed the IR detector chip and the pullup resistor, and then checked for a short ? |
Yes, that's what I've done. Nothing was connected to RA0.
PCM programmer wrote: | Does a +5v trace go near pin A0 ? |
It doesn't seem to pass too close. _________________ Read the label, before opening a can of worms. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Mon Jun 11, 2007 6:22 pm |
|
|
If pin A0 is truly shorted to Vdd internally to the PIC, then it
could be caused by one of the following:
1. The protection diode going to Vdd is shorted.
2. The high level output driver is shorted to Vdd.
3. The control signal for the high level output driver is stuck "on".
It seems to me that #1 is the most likely. Have you ever run the PIC
at +3.3v while connecting +5v directly to pin A0 ? This would cause
massive over-current through the upper protection diode.
It's possible that the pin driver or the diode was damaged by ESD.
Have you ever applied ESD to the board ? (In testing, or by accident,
by walking across a carpet and then touching the board) |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Mon Jul 02, 2007 12:12 am |
|
|
PCM programmer wrote: | If pin A0 is truly shorted to Vdd internally to the PIC, then it could be caused by one of the following:
1. The protection diode going to Vdd is shorted.
...
It seems to me that #1 is the most likely. Have you ever run the PIC
at +3.3v while connecting +5v directly to pin A0 ? This would cause
massive over-current through the upper protection diode. |
I’ve never applied Vcc < 5V to the PIC.
PCM programmer wrote: | It's possible that the pin driver or the diode was damaged by ESD.
Have you ever applied ESD to the board ? (In testing, or by accident,
by walking across a carpet and then touching the board) |
I think it is ESD. As a part of testing I have to touch the sensor. I have carpet. All of the DUTs work well in the beginning, but as development goes, analog channels start to fail mysteriously one at a time.
I’m thinking of adding ESD protection to the analog inputs at least temporarily for the development time. I should, probably, also get a wrist strap, possibly, invite a shaman to re-consecrate the lab, and read-up on ESD protection insode the PIC. _________________ Read the label, before opening a can of worms. |
|
|
|