Here's one idea of how to do it:Garth wrote:You might want to implement some kind of hardware protection against overcurrent. What I'm thinking of is the possibility of a crash or other timing malfunction (especially before the debugging is finished) leaving a lot more current running through LEDs than they can safely take for more than a few ms. If the driver ICs have enable inputs, they could be driven together by a single circuit using an RC and a gate with a Schmitt trigger input so the enables will go false if clocking stops for more than a couple of ms for whatever reason.
The two gates on the left are just used as inverters, but I drew them as NANDs so the whole thing could be done with a single IC, a 74HC132 quad 2-input Schmitt-trigger NAND gate. The time constant of the .1uF and 22K is 2.2ms, and depending on the actual thresholds of the final Schmitt NAND, it will take the input clock signal getting stuck in one state or the other for approximately that long to make the output go false. As long as the input toggles faster than that, the output stays true. The first input gate is just to keep the clock signal from being loaded down by a capacitor through a diode. Depending on your clock speed, you might want to modify the values. The time will be proportional to the capacitance times resistance. Actually, if you want to strobe the shift registers' output latches that often, the clocking will be nearly ten times as fast (or faster, depending on the length of the shift register chain), so you might want to make it a .01uF or even less instead of .1uF.