Value of internal "weak" pullup resistor

jims

Senior Member
I've never used the "pullup" command. Will be interfacing a dip switch to pin C.4 on a 20m2 chip and hope this will save me some resistors. Are there cautions that I should be aware of?? Also what is the value of the internal weak" pullup resistor?? Thank you, JimS
 

geoff07

Senior Member
I don't think it is specified, as it isn't actually a resistor, it is a semiconductor. But it is there for you to do pretty much exactly what you want to do.
 

AllyCat

Senior Member
Hi,

Yes the Weak Pullups are intended for just such an application so should work fine. Of course, as thay are pullups the switch must go to ground, so a closed switch is "Active Low" (i.e. reads as a '0').

With most microcontrollers the pullups are indeed nearer to a "current source" than a fixed resistor, and indeed the base PIC data sheet specifies the pullup in terms of a current range. However, in practice the pullups seem to be quite good, linear resistors of about 30k - 40k, as hippy says. According to the Microchip data they might be anything between 15k and 200k, but Microchip seem notoriously pessimistic with some of their data sheet specifications.

It does appear that the Microchip manufacturing process is capable of producing quite good resistors; the "DAC" has 32 resistors of around 5k each and obviously quite well matched to each other. I've used both types of resistor in some moderately "serious" analogue applications and they seem to perform quite well.

Cheers, Alan.
 

rq3

Senior Member
I've never used the "pullup" command. Will be interfacing a dip switch to pin C.4 on a 20m2 chip and hope this will save me some resistors. Are there cautions that I should be aware of?? Also what is the value of the internal weak" pullup resistor?? Thank you, JimS
I calculated this some time ago, based on the Microchip data sheet for the 16F18xx devices (Picaxe 20M2). While the "pull-up" isn't really a resistor (it's a current source), it's effective value can range anywhere from 6K ohms to 192K ohms (from memory, please don't quote me). In actuality, the range is much tighter at around 60K ohms, but don't count on that if you're going to try something weird. As a switch pull-up, it works fine as intended, and if you need to add physical switch de-bounce caps, assuming it's 60K ohm will be good enough.
 

AllyCat

Senior Member
Hi,

the "pull-up" isn't really a resistor (it's a current source)...... In actuality, the range is much tighter at around 60K ohms,
Hmm, I'm puzzled why you specify 60k (and it not being a resistor) when hippy and myself (above) and Technical and Goeytex (in hippy's linked thread) all agree that it's normally between 30k and 40k, and the base Microchip data sheet for the 20M2 specifies typical values around 33k (3.3v / 100uA) and 35.7k (5.0v / 140uA). :confused:

Cheers, Alan.
 

rq3

Senior Member
Hi,


Hmm, I'm puzzled why you specify 60k (and it not being a resistor) when hippy and myself (above) and Technical and Goeytex (in hippy's linked thread) all agree that it's normally between 30k and 40k, and the base Microchip data sheet for the 20M2 specifies typical values around 33k (3.3v / 100uA) and 35.7k (5.0v / 140uA). :confused:
Cheers, Alan.
Alan, I didn't "specify" anything. I only reported what I had actually measured on a representative sample of surface mount 20M2 running on a tight 5 volt supply. In actuality, I think we all agree that the value is somewhat irrelevant, when the weak pull-up is used as intended. If experimenters need to know the actual value of a particular device, they should measure it.

Rip
 
Top