View previous topic :: View next topic |
Author |
Message |
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
ESD protection of the MCLR on 16F88 |
Posted: Thu Sep 06, 2007 2:40 pm |
|
|
Colleagues,
A batch of boards came from the assembly shop, and all of them have been zapped with ESD through the MCLR pin. PICs have less ESD protection on the MCLR pin than on the rest of the pins. The datasheet for the 16F88 says (in my understanding) that MCLR on that particular PIC has even less protection than on the other PICs:
16F88 datasheet wrote: | The behavior of the ESD protection on the MCLR pin has been altered from previous devices of this family. Voltages applied to the pin that exceed its specification
can result in both MCLR and excessive current beyond the device specification during the ESD event. The circuit, as shown in Figure 15-2, is suggested. |
Fig. 15-2 suggests an RC circuit connected to the MCLR. At the same time, a capacitor connected to the MCLR is bad for the in-circuit debugging.
Could you recommend (from your experience) a pin-for-pin replacement PIC for 16F88 that has normal ESD protection on the MCLR, that comes in 28-QFN?
Thanks,
Nick _________________ Read the label, before opening a can of worms. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Thu Sep 06, 2007 4:56 pm |
|
|
Describe the circuit on the MCLR pin, on your existing boards. |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Thu Sep 06, 2007 5:07 pm |
|
|
PCM programmer wrote: | Describe the circuit on the MCLR pin, on your existing boards. |
47k from MCLR to Vcc, nothing else. Vcc is decoupled to ground with a single 0.1uF (it's a tiny board). _________________ Read the label, before opening a can of worms. |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Wed Jan 16, 2008 6:35 am |
|
|
what solution did you come up with Kender? |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Wed Jan 16, 2008 1:07 pm |
|
|
Christophe wrote: | what solution did you come up with Kender? |
Adding a resistor in series with MCLR# and a capacitor solved the problem in my case. The resistor value anywhere between 2.0k and 4.7k worked. The capacitor values 0.01uF and 0.1uF worked.
Here's a schematic sketch:
Code: |
Vcc = 5V
|
\
/
\ 33k
/
\
/ ________
| 2.7k |
to programmer ----+---/\/\/\---| MCLR#
| |
| |
--- 0.1uF
---
|
|
/// GND
|
_________________ Read the label, before opening a can of worms. |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Jan 17, 2008 1:49 am |
|
|
How is the cap rated? Is it a 50V capacitor? Because the programmer will drive this pin to 12V.
Also, do you have a pushbutton on the MCLR line? And where is it located on the PCB? Is the pull-up resistor close to the PIC or close to the pushbutton? Where is the RC network located on the PCB (probably very close to the MCLR-pin)
Did you put any TVS at the pushbutton? |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Thu Jan 17, 2008 7:26 pm |
|
|
Christophe wrote: | How is the cap rated? Is it a 50V capacitor? |
Yes, I think it was a 50V cap.
Christophe wrote: | Also, do you have a pushbutton on the MCLR line? |
No, there was no reset button.
Christophe wrote: | Where is the RC network located on the PCB (probably very close to the MCLR-pin). |
Yes - next to the MCLR pin. _________________ Read the label, before opening a can of worms. |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Wed Feb 13, 2008 7:00 am |
|
|
Hi again,
some other questions I think of now.
1. Where did you put the pull-up resistor? Close the PIC?
2. What kind of programmer do you use? CCS state that the pull-up is 47K.
regards |
|
|
kolio
Joined: 06 Feb 2008 Posts: 26
|
|
Posted: Wed Feb 13, 2008 2:09 pm |
|
|
As far as I understand the capacitor in ESD-protection recommended circuit is a problem during the development phase. It can be removed from the development board, but it is not a problem for in-circuit programming.
Is in-circuit debbuging really necessary during the production phase? |
|
|
Guest
|
|
Posted: Wed Feb 13, 2008 10:42 pm |
|
|
The issue is if you use an ICD then it probably won't work unless the pullup is 47k and there is no large capacitor to ground on the MCLR. Many of us use the ICD to not only debug, but to program production boards (well at least I do!).
Having said that - I know that the pullup needs to be close to 47k - CCS states that and you can play with the values and you will find that you don't need to be very far off for the ICD to not work.
As far as the CAP on the MCLR line goes - you probably don't really need 0.1 uF to kill an ESD discharge. Perhaps 470 pF or 1000 pF might work well (they have for me in the past). I don't know if the ICD will work with this kind of loading (I would guess that it should). But that is easy enough to try for sure.
As another poster suggested - a small Transient suppression diode rated at > 13 volts is an option also - small diode like this can be under 100 pF at rated voltage - I'll bet this would work with the ICD. |
|
|
kender
Joined: 09 Aug 2004 Posts: 768 Location: Silicon Valley
|
|
Posted: Wed Feb 13, 2008 10:59 pm |
|
|
Anonymous wrote: | The issue is if you use an ICD then it probably won't work unless the pullup is 47k and there is no large capacitor to ground on the MCLR. Many of us use the ICD to not only debug, but to program production boards (well at least I do!). |
In-circuit programming with ICD-U40 works just fine with the ESD protection schematic that I've posted, even over a 2m cable (untwisted unshielded). _________________ Read the label, before opening a can of worms. |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Feb 14, 2008 3:08 am |
|
|
kender wrote: | Anonymous wrote: | The issue is if you use an ICD then it probably won't work unless the pullup is 47k and there is no large capacitor to ground on the MCLR. Many of us use the ICD to not only debug, but to program production boards (well at least I do!). |
In-circuit programming with ICD-U40 works just fine with the ESD protection schematic that I've posted, even over a 2m cable (untwisted unshielded). |
I've tested your circuitry here on my application and it works fine. It's the same schematic microchip recommends in their datasheet.. |
|
|
|