Asynchronous (Ripple) Counter
Ripple counters are so named because the count is like a chain reaction that ripples through the counter because of the time involved. This effect will become more evident with the explanation of the following circuit. The ripple counter is also called an asynchronous counter. Asynchronous means that the events (setting and resetting of flip-flops) occur one after the other rather than all at once. Because the ripple count is asynchronous, it can produce erroneous indications when the clock speed is high. A high-speed clock can cause the lower stage flip-flops to change state before the upper stages have reacted to the previous clock pulse. The errors are produced by the flip-flops’ inability to keep up with the clock.
The figure above shows a basic four-stage, or modulo-16, asynchronous counter. The inputs and outputs are shown in the figure below. The four J-K flip-flops are connected to perform a toggle function; which divides the input frequency by 2. The HIGHs on the J and K inputs enable the flip-flops to toggle. The flip-flops change state on the positive-going pulse.
Assume that A, B, C, and D are lamps and that all the flip-flops are reset. The lamps will all be out, and the count indicated will be 00002. The positive-going pulse of clock pulse 1 causes flip-flop FF1 to set. This lights lamp A, and we have a count of 00012. The positive-going pulse of clock pulse 2 toggles FF1, causing it to reset. The positive-going input to FF2 (from Q1) causes it to set and causes B to light. The count after two clock pulses is 00102, or 210. Clock pulse 3 causes FF1 to set and lights lamp A. The setting of FF1 does not affect FF2, and lamp B stays lit. After three clock pulses, the indicated count is 00112.
Clock pulse 4 causes FF1 to reset, which causes FF2 to reset, which causes FF3 to set, giving us a count of 01002. This step shows the ripple effect.
This setting and resetting of the FFs will continue until all the FFs are set and all the lamps are lit. At that time the count will be 11112 or 1510. Clock pulse 16 will cause FF1 to reset and lamp A to go out. This will cause FF2 through FF4 to reset, in order, and will extinguish lamps B, C, and D. The counter would then start at 00012 on clock pulse 17. To display a count of 1610 or 100002, we would need to add another flip-flop.