Strange behavior: NE555 + 7493 Ripple Counter + 4 to 16 Decoder

breadboarddigital-logicttl

I have implemented the following with TTL 74LS chips:

  1. A NE555-based timer generates a clock signal every second
  2. The clock signal is fed into a TTL 7493 4-bit binary ripple counter.
  3. The 4-bit binary counter value is fed into a 4-to-16 decoder that I have built from TTL 7408 and TTL 7404 gates.

When I connect the timer and only the 4-bit ripple counter, the ripple counter outputs the correct binary value. When I use the 4-to-16 decoder with a hand-coded binary value, it also produces the high-signal on the correct output line.

But as soon as I feed the output from the 4-bit ripple counter into the 4-to-16 decoder, the ripple counter produces an incorrect binary counting sequence. I'm already struggling with this problem over a few days, and I have no idea how to troubleshoot it nor I have no idea why this behavior happens.

As I have said, the 4-to-16 decoder and the 4-bit ripple counter are working perfectly when I use them on their own, but as soon as I chain them up, the strange behavior occurs.

Every help and tip is appreciated 🙂

Thanks & nice greetings,

Best Answer

The output of a ripple counter does not change from one 'count' to another instantaneously. The new state 'ripples' across the outputs until it has reached the new state.

It is possible that these 'in between' states show up on the outputs of the 4 to 16 decoder as 'random' outputs.

If you clock the ripple counter manually and then look at the outputs they will be correct, because the ripple happens quickly, but the 4 to 16 decoder is fast enough to change according to the in between results.