# How fast should I feed 74HC164 for driving LEDs?

I want to ask about bitrate for 74HC164. I want to drive LEDs with it.

Circuit will be similar to this:

How fast CLK rate / bitrate can I use in this circuit? I know that LEDs have some capacitance.

• What does the 74HC164 data sheet say? – Leon Heller May 2 '14 at 14:21
• It seems to me you can clock them as fast as the datasheet allows, it would have nothing to do with the LEDs since I assume you are going to clock in two digits serially (ideally so fast the user is not aware of it) and then stop so they can be viewed. – tcrosley May 2 '14 at 14:42
• I would not recommend driving LEDs with 74HC164's unless updates are going to be rare, there is some other means of blanking them (e.g. by controlling the common wire), or they'll never be used in a dark room. Otherwise I would suggest using something like a 74HC595. It might seem like it should be possible to shift the LED data so fast that the data being shifted through won't be visible, but LEDs are remarkably fast. If a digit is blank before and after an update, momentary illumination during an update can be surprisingly noticeable. – supercat May 2 '14 at 18:01

The LED capacitance shouldn't matter very much provided the resistor value is high enough to allow the swing to easily meet the guaranteed logic levels. As Joe Hass says, the datasheet spec is at 50pF, which should be reasonably conservative for this application if the parts are all in close proximity on a board.

If you use the worst-case $t_{pd}$ at 4.5V of 44ns and the worst-case $t_{su}$ of 25ns, then the period of 69ns, or 14.49MHz, should work. The typical numbers (25°C temperature, and half the units will be worse) at 4.5V are 20ns and 20ns, or 25MHz.

Naturally, you should use the worst-case numbers, or a bit lower, such as 10MHz, to account for unknowns, but the 1.7:1 ratio gives you an idea of what you might measure, compared to what would be an adequate safety margin to use in a proper design.

This will probably work okay if you don't update the display too frequently- at high update rates and low clock speeds you're bound to see some pattern-sensitive ghosting of nominally 'off' segments, especially in subdued light.

• Huh I was thinking about much lower frequencies (10-100kHz or something). Good to know that I can go much faster. – Kamil May 2 '14 at 18:28
• You will need to, or you're going to see ghosting. I suggest using the 74HC595 instead, which has a latch and is also very cheap. – Spehro Pefhany May 2 '14 at 18:30

The loading on Q7 output of each shift register (except the last) will affect the propagation delay of this signal into the A and B inputs of the next shift register. You need to make sure that the clock period is longer than the sum of

• the maximum propagation delay of the Q7 output, plus

• the minimim input setup time of the A, B inputs.

The propagation delay of the Q7 output will depend on the supply voltage and operating temperature range, which you have not specified. This delay will also depend on the loading of the resistor and LED connected to Q7. I checked one manufacturer's data sheet and found that the Q7 propagation delay was specified with a capacitive load of 50 pF but there was no information about how the delay varied as a function of the capacitance, and the data sheet assumed that the load was purely capacitive (no d.c. current). Therefore, the data sheet did not provide enough information to answer your question. My guess is that you are just going to need to build the circuit and measure the Q7 delay under the specific conditions you intend to use.