16

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.

Faken
  • 1,688
  • 2
  • 23
  • 31
  • 1
    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. – Kortuk Oct 11 '11 at 00:54
  • 2
    @Kortuk blasphemy! – kenny Oct 11 '11 at 01:02
  • 2
    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. – JustJeff Oct 11 '11 at 01:06
  • 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 ;) – Kromster Oct 11 '11 at 08:52
  • Yeah, I'd prefer if a _power_ switch actually gave me some power when turned on, but that's just me... – Lundin Oct 11 '11 at 15:18
  • @Krom, Don't base your design on what the markings are power switches are. These decisions should be made for technical reasons, and if you want to stick with common use, pull-ups are the more common design choice in my experience. – Kortuk Oct 11 '11 at 17:44
  • @Ludin, when did we say it was a power switch? On that note, why does connecting the power line deliver power any more then connecting the ground line? It is a complete circuit no matter which side you connect. – Kortuk Oct 11 '11 at 17:45

4 Answers4

17
  • 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.

starblue
  • 6,462
  • 2
  • 21
  • 35
  • 2
    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. – supercat Oct 13 '11 at 03:41
  • @supercat Almost ten years later, but I don't understand why. – Jonas Daverio Mar 10 '21 at 09:22
9

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.

stevenvh
  • 145,145
  • 21
  • 455
  • 667
  • 2
    I often still see microcontrollers that have higher current to drive an output low then output high. – Kortuk Oct 11 '11 at 17:41
6

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.

JustJeff
  • 19,163
  • 3
  • 48
  • 75
0

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.

Kevin Vermeer
  • 19,989
  • 8
  • 57
  • 102
Saneesh A T
  • 1,152
  • 1
  • 13
  • 17