Continue to Site

# why pull up resistance?

Status
Not open for further replies.

#### arup

##### Member level 2
pull up resistance

Dear,

Could any body tell me what is the need for pull up resistance in a ckt? e.g why do we put pull up on I2C SDA & SCL bus?
What factors determine the value of the resistance and how to calculate it??

rgds,

Arup

resistance pull up

Otherwise the wires can be tri-state some time. It would latch up chip and high current occurs.
I guess the resistance number be determined by work voltage and PAD spec.

Nandy
www.nandigits.com
Netlist Debug/ECO in GUI mode.

i2c pull up resistor calculation

Hi arup,

Have you ever thought about the meaning of words "pull" and "up" ?
Why pull ? and why up ?
Why not push ? or down ?
It has something to do with current and voltage ?
Look at the picture bellow with two devices hanging on the wires.
Who do you think it needs the resistors ?

Now think about where the wires (SDA and SCL) goes ?
Let's suppose that both transistors (DATAN1 and DATAN2) are cut-off and drain is floating (no current sink).
What will be now the potential on the SDA line ? with Rp resistors and without them ?

Finnaly how many device could share the SDA and SCL line ?

I've choose these silly questions rather than a decent explanation just because it's a simple question and should figure out easily yourself.

Regarding your question "What factors determine the value of the resistance and how to calculate it ?", well the answer is in Official Philips I²C-bus specification.
You can get a copy here: **broken link removed**
Look at pages 39 - 40.

snaku

### snaku

Points: 2
Helpful Answer Positive Rating
pullup resistance

Basically, you put pull-up or down resistors, to provide a stable voltage reference to inputs or outputs of a microcontroller.
It's pull up or pull down depending on the device itself, there are some devices where the inputs or outputs are designed to drain current, then you use pull-up, otherwise you use pull-down. The value of the resistances depends on the amount of current that the inputs or outputs can handle.
You can find all that information on the user manual of the device you are using, in general they give you for example
current in mA that each input or output can handle, and the voltage, for example 5 V, then easily you can find the pull-up or pull-down resistance by R = V/I.

If it's a communication bus like those you posted, the current is determined by a standard, to create kind of a current loop to feed several devices.

the importance of pull up resistance

Another rezone for using the pull up resistors that included in PIC chips is that you in some applications, for example, when a pin is used as input, and a switch is connected to it to pull it to ground (when pressed), you can debounce the switch using software, and the pull up resistor will keep it high when the key is not pressed. If clear please confirm … otherwise ask for schematic example if needed.

About the current needed for a pull up (or down), It is the Minimum current required to keep the gate in the requested state … it depends on the type of the I/P ( or O/P) … refer to manufacturer data sheet for the proper resistor value of each PIC ( it leis between a min of 4.7K and up to 47K)

Added after 5 minutes:

In my previous replay, the second paragraph is about the pull up/down resistor that you add externally to microcontroller chip, not the build in pull up resistors in the PIC chips.
The embedded resistors are to help minimizing the external components add to pic chips.

resistance pull-up

output of some I2C IC is open collector

sda scl latch up floating

data bus of i2c is open drain
you must use resistor pull up this both port.

Status
Not open for further replies.