In: Electrical Engineering
Ring Counters
Ring counters are the shift register in which the output is feedback to the input.
Johnson Counters
The Johnson counter is useful when you need a sequence that changes by only one bit at a time but it has a limited number of states (2n, where n = number of stages).
The first five counts for a 4-bit Johnson counter that is initially cleared are
CLK Q0 Q1 Q2 Q3
0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 |
0
1
2
3
4
The switch tail ring counter, also
known as the Johnson Counters overcomes some of the limitations of
the ring counter. Like a ring counter a Johnson counter is a shift
register fed back on its’ self. It requires half the stages of a
comparable ring counter for a given division ratio. If the
complement output of a ring counter is fed back to the input
instead of the true output, a Johnson counter results. The
difference between a ring counter and a Johnson counter is which
output of the last stage is fed back (Q or Q’). Carefully compare
the feedback connection below to the previous ring
counter.
This “reversed” feedback connection
has a profound effect upon the behavior of the otherwise similar
circuits. Recirculating a single 1 around a ring
counter divides the input clock by a factor equal to the number of
stages. Whereas, a Johnson counter divides by a factor equal to
twice the number of stages. For example, a 4-stage ring counter
divides by 4. A 4-stage Johnson counter divides by
8. Start a Johnson counter by clearing all stages
to 0s before the first clock. This is often done
at power-up time. Referring to the figure below, the first clock
shifts three 0s from ( QA
QB QC) to the right into (
QB QC QD. The
1 at QD’ (the
complement of Q) is shifted back into
QA. Thus, we start shifting
1s to the right, replacing the
0s. Where a ring counter recirculated a single
1, the 4-stage Johnson counter recirculates four
0s then four 1s for an 8-bit
pattern, then repeats.
The above waveforms illustrate that multi-phase square waves are generated by a Johnson counter. The 4-stage unit above generates four overlapping phases of 50% duty cycle. How many stages would be required to generate a set of three phase waveforms? For example, a three stage Johnson counter, driven by a 360 Hertz clock would generate three 120o phased square waves at 60 Hertz. The outputs of the flop-flops in a Johnson counter are easy to decode to a single state. Below for example, the eight states of a 4-stage Johnson counter are decoded by no more than a two input gate for each of the states. In our example, eight of the two input gates decode the states for our example Johnson counter.
Johnson Counters with introduction of LED
The below mentioned Johnson counter shifts a lighted LED each fifth of a second around the ring of ten. Note that the 74HC4017 is used instead of the ‘40017 because the former part has more current drive capability. From the data sheet, (at the link above) operating at VCC= 5V, the VOH= 4.6V at 4ma. In other words, the outputs can supply 4 ma at 4.6 V to drive the LEDs. Keep in mind that LEDs are normally driven with 10 to 20 ma of current. Though, they are visible down to 1 ma. This simple circuit illustrates an application of the ‘HC4017. Need a bright display for an exhibit? Then, use inverting buffers to drive the cathodes of the LEDs pulled up to the power supply by lower value anode resistors. The 555 timer, serving as an astable multivibrator, generates a clock frequency determined by R1 R2 C1. This drives the 74HC4017 a step per clock as indicated by a single LED illuminated on the ring. Note, if the 555 does not reliably drive the clock pin of the ‘4015, run it through a single buffer stage between the 555 and the ‘4017. A variable R2 could change the step rate. The value of decoupling capacitor C2 is not critical. A similar capacitor should be applied across the power and ground pins of the ‘4017.
Each bit of the stored byte in the shift register corresponds with one of the shift registers parallel outputs (q0 - q7), these outputs are connected to the LEDs, so if, for example, the register contains the value 01010101, every second LED will be lit.
Shift registers are usually used as an attachment to the output of a microprocessor, as pulse extenders, they were used for number addition in early computers, or for multiplying/dividing a number by 2.