Many CPLDs have a handy feature which will weakly drive pins toward their present state, so that a pin which is weakly pulled high will pull high and one which is weakly pulled low will pull low. Are there any convenient ICs which will perform that function without needing a CPLD or a bunch of resistors? A possible design for a 14-pin part would be to have eight "bus" pins with "weak" drivers, VDD and VSS, and two pairs of mode pins controlling four bus pins each. The mode pins would select one of four bus modes:

  • 00 - Open-circuit (no pull-up or pull-down)
  • 01 - Unconditional weak pull-down
  • 10 - Unconditional weak pull-up
  • 11 - Pull-up or pull-down based upon current pin state

Such a part could be used for bus-keeper applications, and also for things like low-power polling of switches (with the pull-up/pull-down modes). Does anything like that exist?


2 Answers 2

  • 74LCXH2245
  • SN74ACT1071
  • SN74ACT1073

Would it make any difference if you used a "resistor network" package of 8 resistors that looks like a single IC, to conceal the fact you are using resistors?

  • 1
    \$\begingroup\$ The TI parts look like what I'm after, though the I/V behavior looks more like a resistor than like a current source/sink (which I would think would be preferable). They look a bit expensive, but maybe there's not enough demand to justify someone making them cheaper? \$\endgroup\$
    – supercat
    Mar 16, 2011 at 22:23

I think a 74HC7541 and eight resistors will get close, modes 00 and 11 at least.

  • 2
    \$\begingroup\$ Yeah, a buffer chip with eight resistors would be a ready off-the-shelf approach. Practically any buffer chip would work, but having to use eight resistors seems a bit icky. It would seem curious that a bus-keeper feature would be almost a standard feature on CPLDs, but not a convenient function in discrete logic. Even though it would end up needing more pins than would otherwise be necessary, a tri-state driver chip with 'weak' outputs would be handy. \$\endgroup\$
    – supercat
    Mar 16, 2011 at 14:25
  • \$\begingroup\$ Actually, I also find it curious that I've never seen a micro or CPLD which conveniently allows a pin to be configured as a "weak" output for both high- and low-side drive. Many micros and CPLDs have weak pull-ups, and some have weak pull-downs as well, but I've never seen one where an output could be configured to use a weak high and low side drive without reconfiguration. \$\endgroup\$
    – supercat
    Mar 16, 2011 at 14:26
  • 1
    \$\begingroup\$ MSP430 processors, and probably others, have individual pullup/pulldown resistors that pull towards the output latch. Doesn't this accomplish what you want? \$\endgroup\$
    – markrages
    Mar 16, 2011 at 14:32
  • \$\begingroup\$ I'll have to look at those; who makes them? Can those weak drivers be used with I/O features like UARTs, etc.? In any case, current-limited driver chips would be useful for cases where signals go through some discrete logic before joining together; depending upon the limit current, they could also be useful for bus interfaces in cases where contention would not be expected, but could possibly occur (e.g. during certain device startup or reset situations). \$\endgroup\$
    – supercat
    Mar 16, 2011 at 15:33
  • \$\begingroup\$ @supercat, MSP430 is made by TI (Texas Instruments.) \$\endgroup\$
    – Thomas O
    Mar 16, 2011 at 21:28

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.