0
\$\begingroup\$

I'm wondering if pull-up resistors are strictly necessary when using shift registers to control motor drivers or LEDs. I have two STP16DPPS05 low voltage 16-bit constant current sink drivers, one controls four Allegro A3906 motor drivers which in turn drive one bipolar stepper motor each (so a total of 16 lines), the other drives 16 LEDs directly.

It's my understanding pull-up resistors are needed to ensure solid logic level high for input pins (or pull-down resistors for solid logic level low) but these aren't really GPIO pins even though they are sink drivers. I would have thought all the lines are either on or off according to control signals and any input is ignored.

As you can see in the images the shift register for the motor drivers has pull-up resistors but the shift register for the LEDs does not. I'd like to be consistent so I'm not sure which one is better.

Shift Register for Motor Controllers

Shift Register for LEDs

\$\endgroup\$
0

2 Answers 2

0
\$\begingroup\$

You don't need pullups or pulldowns on output pins that are driven high or low.

In your circuit they'd only be needed for the top shifter's outputs if you intend to tri-state the outputs and the circuit they connect to demands a solid high or low.

In the LED case it is safe to tri-state them without pullups: the LEDs won't light and don't care if pins float.

\$\endgroup\$
5
  • \$\begingroup\$ That's really good to know, thank you! I will dispense with the resistors then. \$\endgroup\$
    – sage6
    Commented May 17, 2021 at 16:31
  • \$\begingroup\$ Thanks for accepting my answer, but now I’m getting squeamish about it – enough so I tried to delete it but wasn’t allowed to! My answer was correct for standard voltage-output shifters but I’m not clear on how this constant-current device, which is designed to drive LEDs, will behave driving the high impedance logic inputs of the A3906, which should not be left floating. I fear you may have to put the pullups in after all and increase the Rext to reduce the drive current, treating the pullup resistors as if they were low current LEDs. \$\endgroup\$
    – td127
    Commented May 17, 2021 at 17:44
  • \$\begingroup\$ Ok, I will keep them, just to be on the safe side :) \$\endgroup\$
    – sage6
    Commented May 17, 2021 at 18:24
  • \$\begingroup\$ Somebody did recommend that if I used a different shift register (non-sink) like the Texas Instruments SN54LS673 I could avoid using pull-up resistors, would you agree with that? \$\endgroup\$
    – sage6
    Commented May 17, 2021 at 18:26
  • \$\begingroup\$ I'm partial to the 74HC594 (8 bit version) myself and yes, I'd avoid trying to shoehorn the squirrelly STP part into this application. \$\endgroup\$
    – td127
    Commented May 17, 2021 at 18:55
0
\$\begingroup\$

The output leakage spec when disabled is 1 μA max, so itself will not illuminate the LEDs. however this represents a high impedance condition [Mohm] which means it is susceptible to parasitic grid E fields for long strings acting as antenna and the diodes can rectify these AC fields into a small current.

  • if this is the case either a cap for DC CC not PWM or a pull-up R in the range to attenuate this stray field and at the same time remove the 1uA max induced voltage remaining on the cathode. Use 100k to 10k typ. If you need.
\$\endgroup\$
2
  • 1
    \$\begingroup\$ Thank you kindly! \$\endgroup\$
    – sage6
    Commented May 17, 2021 at 16:30
  • \$\begingroup\$ Even short strings with floating high levels of CM SMPS noise can cause dim light. Tri-state works over a ground plane or nearby gnd tracks, especially with stepper motor noise nearby \$\endgroup\$ Commented May 17, 2021 at 16:50

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.