15
\$\begingroup\$

I noticed that pull up resistors are much more common than pull downs, why?

For example, the Arduino's MCU has internal pull ups but these tend to invert the physical logic of things you are working with (such as working with switches) whereas a pull down resistor would do the same job and avoid the logic issue.

\$\endgroup\$
  • 1
    \$\begingroup\$ The only reason you think of it as inverting is because you think of 1(logic high) as on. Why does 1 need to be on? There is a reason, and someone will go into the transistor reason, but just something to think about. \$\endgroup\$ – Kortuk Oct 11 '11 at 0:54
  • 2
    \$\begingroup\$ @Kortuk blasphemy! \$\endgroup\$ – kenny Oct 11 '11 at 1:02
  • 2
    \$\begingroup\$ Kortuk's got a point though. 1's and 0's are just symbols, and you can write programs to work either way. Just because billions of power switches are marked '1' for ON doesn't mean it has to be so. \$\endgroup\$ – JustJeff Oct 11 '11 at 1:06
  • \$\begingroup\$ In fact because billions of power switches are marked '1' for ON it DOES mean it has to be so for clarity sake. UX has to be consistent ;) \$\endgroup\$ – Kromster Oct 11 '11 at 8:52
  • \$\begingroup\$ Yeah, I'd prefer if a power switch actually gave me some power when turned on, but that's just me... \$\endgroup\$ – Lundin Oct 11 '11 at 15:18
15
\$\begingroup\$
  • TTL has a threshold between low and high that is closer to ground than to the positive rail, so it is better when the stronger transistor pulls the output down against the relatively weaker resistor.

  • In general ground is presumably a better (e.g. more stable) reference voltage than a power rail.

  • You can use open collector/drain outputs as voltage converters, if you connect the resistor to the positive rail of the target voltage.

  • The ancient resistor transistor logic even used this as its working principle throughout.

That said, some microcontrollers have configurable internal pull-ups and pull-downs, e.g. the NXP LPC1xxx.

| improve this answer | |
\$\endgroup\$
  • 2
    \$\begingroup\$ Another observation: An external switch (or other) input connection which has one side tied to ground and the other side tied to VDD via 47K pullup and to an input via another 47K resistor will expose the internals of the device to damage far less than would a connection which has one side tied to VDD. \$\endgroup\$ – supercat Oct 13 '11 at 3:41
9
\$\begingroup\$

This stems from the TTL era. Floating TTL inputs are seen as high, no pull-up needed.

enter image description here

So you could just connect a switch between the input and ground. Later, with the advent of CMOS the switch position was kept, but the floating input (switch open) left the input undefined, so a pull-up was added.

| improve this answer | |
\$\endgroup\$
  • 2
    \$\begingroup\$ I often still see microcontrollers that have higher current to drive an output low then output high. \$\endgroup\$ – Kortuk Oct 11 '11 at 17:41
6
\$\begingroup\$

There are a lot of open-collector and open-drain outputs, which require a resistor in order to drive logic inputs. These almost universally switch the output to ground; I'm not sure if there are any open-drain type outputs that pull the output to the positive rail. Besides, given the choice, ground is the better rail to pull to, since it's conventionally the voltage reference for the rest of the circuit. Also, if you're not driving a logic input but switching a load current, any resistor present has more to do with limiting load current than with pulling up a voltage.

| improve this answer | |
\$\endgroup\$
0
\$\begingroup\$

We can take a high impedence point to logic 1 (Say it is 5V) by just pulling it up (possibly through a high impedance) to VCC. But pulling dowm the same point may not make the point to GND potential. A good quality zero logic means that it has low impedence sinking capacity.

Suppose you made a switch using an NPN transistor, and the base is pulled up. And now you have a logic circuit, which has an input and a single output. Here you can never turn off the circuit using a pull down resistor, you can turn the switch off only by directly connecting the input terminal to GND. So we can't say a pulled down terminal is logic ZERO.

But finally it depends on the type of logic that we use.

| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Please do not post text as code. Your post still has some content problems, but it's much more readable this way. \$\endgroup\$ – Kevin Vermeer Oct 12 '11 at 16:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.