0
\$\begingroup\$

In a very general sense: When should you use pull up or down resistors on IC inputs and when should you connect the pin directly to Vcc/GND?

Particularly if no impedance is mentioned for the pin. Or can you assume the impedance to be near infinite so it does not matter?

For example, the TUSB2036. It either doesn't give an impedance for the control pins or I'm not looking in the right places (which is a very real possibility). Do I place a pull-down resistor on the ~BUSPWR pin or do I connect it straight to GND?

The schematics in the data sheet connect it directly, so that gives a strong indication that a pull-down resistor is not needed, but are there other indicators I can use to determine this, in case example schematics are not available for other ICs?

And, if a resistor is necessary (or at least a good idea), but I don't know the impedance — how do I determine the value of the resistor to use?

\$\endgroup\$

2 Answers 2

4
\$\begingroup\$

Generally, if the pin value is going to change then you need a pull up/down resistor and if it's static, you just connect directly to V+ or ground. For example, I2C rests high and the driving device pulls the line to 0 V so you need a resistor to limit the current and prevent a short circuit. For a digital pin, you may consider the pin's impedance to be very high. If you look at Figure 9 of your datasheet, you can see !EXTMEM is connected directly to V+.

In terms of the values, larger values will draw less current (simple Ohm's law) but will switch more slowly as the line's capacitances have to be charged through the resistor. Again, considering I2C, 4K7 is a sensible starting point between speed and current draw.

\$\endgroup\$
5
  • \$\begingroup\$ Is the assumption that the IC itself does not sink current or that the sunk current is insignificant, then? (Assuming no known impedance again) \$\endgroup\$
    – Xandaros
    Commented Nov 8, 2017 at 23:44
  • \$\begingroup\$ Yes. Added to the answer :) \$\endgroup\$
    – awjlogan
    Commented Nov 8, 2017 at 23:45
  • 2
    \$\begingroup\$ Assuming you have confidence in the design. If it's a first iteration having separate pull ups on each unused pin makes rework MUCH easier, especially on a power planed through hole board. \$\endgroup\$
    – Trevor_G
    Commented Nov 9, 2017 at 0:04
  • 1
    \$\begingroup\$ That is actually a very good point. Designing it with some resistors in there leaves me the option of adding them later (or just a wire). Or removing them. What's not needed I can leave unpopulated. I like it. \$\endgroup\$
    – Xandaros
    Commented Nov 9, 2017 at 0:09
  • 2
    \$\begingroup\$ I would agree, but go sparingly - you won't need this on every single pin and you'll just make your layout overly complicated. Think where it may be an issue, rather than a blanket rule. Also, if you're not sure if you'll want pull up or pull down, a 3-pad component is useful with the middle pad going to the pin, and the other pads going to V+/GND respectively. \$\endgroup\$
    – awjlogan
    Commented Nov 9, 2017 at 0:13
2
\$\begingroup\$

Here's a scenario where pull-up or pull-down resistors definitely should be used.... An input pin is driven from an off-board signal. The connection to the driver end is made via a plug and socket. When unplugged, the input pin floats in its very high impedance state.

This is not a good situation. The input pin should be terminated with a pull-up or pull-down resistor, whichever is the default or idle state that software expects. Otherwise when unplugged, the input is an antenna that can easily see a transient that could latch-up the whole microcontroller. Or it can float around, subject to stray electric fields, changing state with a wave of a hand. A 10 kohm resistor seems a reasonable value as a termination resistor for this purpose for CMOS logic.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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