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 of the MCLR on 16F88

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
kender



Joined: 09 Aug 2004
Posts: 768
Location: Silicon Valley

View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger

ESD protection of the MCLR on 16F88
PostPosted: Thu Sep 06, 2007 2:40 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Thu Sep 06, 2007 4:56 pm     Reply with quote

Describe the circuit on the MCLR pin, on your existing boards.
kender



Joined: 09 Aug 2004
Posts: 768
Location: Silicon Valley

View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger

PostPosted: Thu Sep 06, 2007 5:07 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Wed Jan 16, 2008 6:35 am     Reply with quote

what solution did you come up with Kender?
kender



Joined: 09 Aug 2004
Posts: 768
Location: Silicon Valley

View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger

PostPosted: Wed Jan 16, 2008 1:07 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Thu Jan 17, 2008 1:49 am     Reply with quote

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

View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger

PostPosted: Thu Jan 17, 2008 7:26 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Wed Feb 13, 2008 7:00 am     Reply with quote

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

View user's profile Send private message

PostPosted: Wed Feb 13, 2008 2:09 pm     Reply with quote

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








PostPosted: Wed Feb 13, 2008 10:42 pm     Reply with quote

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

View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger

PostPosted: Wed Feb 13, 2008 10:59 pm     Reply with quote

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

View user's profile Send private message

PostPosted: Thu Feb 14, 2008 3:08 am     Reply with quote

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..
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
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