Pull-up resistor

In electronic logic circuits, a pull-up resistor (PU) or pull-down resistor (PD) is a resistor used to ensure a known state for a signal. More specifically, a pull-up resistor or pull-down resistor ensures that a wire will have a high logic level or low logic level, respectively, in the absence of a driving signal. It is typically used in combination with components such as switches and transistors, which physically interrupt the connection of subsequent components to ground or to VCC. A closed switch creates a direct connection to ground or VCC, but without a PU or PD, when the switch is open, the rest of the circuit would be left floating (i.e. it would have an indeterminate voltage), which is generally undesirable.
For a switch that is used to connect a circuit to ground, a pull-up resistor (connected between the circuit and VCC) ensures a well-defined voltage (i.e. VCC) when the switch is open. For a switch that is used to connect a circuit to VCC (e.g. if the switch is used to transmit a "high" signal when closed), a pull-down resistor connected between the circuit and ground ensures a well-defined ground voltage (i.e. logical low) across the remainder of the circuit when the switch is open.
An open switch is not equivalent to a component with infinite impedance. The stationary voltage in any loop with an open switch cannot be determined by Kirchhoff's laws, while that with a component with infinite impedance can be determined by such laws. Consequently, the voltages across those critical components (such as the digital inputs in the example on the right), which are only in loops involving the open switch, are undefined, too. A pull-up resistor effectively establishes an additional loop over the critical components, ensuring that the voltage is well-defined even when the switch is open.
For a pull-up resistor to serve only this one purpose and not interfere with the circuit otherwise, a resistor with an appropriate amount of resistance must be used. For this, it is assumed that the critical components have infinite or sufficiently high impedance, which is guaranteed, for example, for logic gates made from FETs. In this case, when the switch is open, the voltage drop across a pull-up resistor (with sufficiently low impedance) practically vanishes, and the circuit looks like a wire directly connected to VCC. On the other hand, when the switch is closed, the pull-up resistor must have sufficiently high impedance in comparison to the closed switch to not affect the connection to ground. Together, these two conditions can be used to derive an appropriate value for the impedance of the pull-up resistor. However, usually, only a lower bound is derived, assuming that the critical components do indeed have infinite impedance.
A resistor with relatively low resistance (relative to the circuit it is in) is often called a "strong" pull-up or pull-down; when the circuit is open, it will pull the output high or low very quickly (just as the voltage changes in an RC circuit), but will draw more current. A resistor with relatively high resistance is called a "weak" pull-up or pull-down; when the circuit is open, it will pull the output high or low more slowly, but will draw less current. This current, which is essentially wasted energy, only flows when the switch is closed, and technically for a brief period after it is opened until the charge built up in the circuit has been discharged to ground.
A pull-up resistor may be used when interfacing logic gates to inputs. For example, an input signal may be pulled by a resistor, then a switch or jumper strap can be used to connect that input to ground. This can be used for configuration information, to select options or for troubleshooting of a device.
Pull-up resistors may be used at logic outputs where the logic device cannot source current such as open-collector TTL logic devices. Such outputs are used for driving external devices, for a wired-OR function in combinational logic, or for a simple way of driving a logic bus with multiple devices connected to it.
Pull-up resistors may be discrete devices mounted on the same circuit board as the logic devices. Many microcontrollers intended for embedded control applications have internal, programmable pull-up resistors for logic inputs so that not many external components are needed.
Pull-down resistors can be safely used with CMOS logic gates because the inputs are voltage-controlled. TTL logic inputs that are left unconnected inherently float high, and require a much lower valued pull-down resistor to force the input low. A standard TTL input at logic "1" is normally operated assuming a source current of 40 μA, and a voltage level above 2.4 V, allowing a pull-up resistor of no more than 50 kohms; whereas the TTL input at logic "0" will be expected to sink 1.6 mA at a voltage below 0.8 V, requiring a pull-down resistor less than 500 ohms. Holding unused TTL inputs low consumes more current. For that reason, pull-up resistors are preferred in TTL circuits.
In bipolar logic families operating at 5 VDC, a typical pull-up resistor value will be 1000–5000 Ω, based on the requirement to provide the required logic level current over the full operating range of temperature and supply voltage. For CMOS and MOS logic, much higher values of resistor can be used, several thousand to a million ohms, since the required leakage current at a logic input is small.
Some disadvantages of pull-up resistors are the extra power consumed when current is drawn through the resistor and the reduced speed of a pull-up compared to an active current source. Certain logic families are susceptible to power supply transients introduced into logic inputs through pull-up resistors, which may force the use of a separate filtered power source for the pull-ups.