A Johnson counter is a type of digital sequential logic circuit that can be used to count the number of events or pulses that occur in a system. It is also known as a twisted ring counter, a walking ring counter, a creeping counter, or a switch-tail counter. In this article, we will explain what a Johnson counter is, how it works, what are its advantages and disadvantages, and what are some of its applications.

## What is a Johnson Counter?

A Johnson counter is defined as a shift register circuit that has the complement output of the last flip-flop fed back to the input of the first flip-flop.

This creates a closed loop that allows the bits to circulate within the register. A Johnson counter can be implemented using D or JK flip-flops.

A Johnson counter differs from a ring counter in that it uses the complement output of the last flip-flop instead of the non-complement output for feedback. This results in a different sequence of states for the Johnson counter compared to the ring counter. However, the mode of data movement is the same for both types of counters, i.e., the bits shift by one-bit position for each clock pulse.

A Johnson counter can have n flip-flops, where n is any positive integer. Such a counter is called an n-bit Johnson counter. The number of distinct states that an n-bit Johnson counter can have is 2n, after which the cycle repeats. Therefore, an n-bit Johnson counter can be considered as a MOD 2n counter.

The circuit has preset (P) and clear © pins that are used to initialize and reset the counter, respectively. The output of each flip-flop is denoted by Qn, where n is the bit position. The complement output of the last flip-flop is denoted by Q̅n.

## How Does a Johnson Counter Work?

To understand how a Johnson counter works, let us consider an example of a 3-bit Johnson counter. Table 1 shows the truth table of the 3-bit Johnson counter from its initial state 000.

Clock Pulse | Q1 | Q2 | Q3 |
---|---|---|---|

0 | 0 | 0 | 0 |

1 | 1 | 0 | 0 |

2 | 1 | 1 | 0 |

3 | 1 | 1 | 1 |

4 | 0 | 1 | 1 |

5 | 0 | 0 | 1 |

6 | 0 | 0 | 0 |

From the table, we can see that the counter starts with all zeros and then changes to all ones in three clock pulses. Then, it changes back to all zeros in three more clock pulses. The cycle then repeats after six clock pulses. Therefore, the period of the counter is six clock pulses.

From the waveform diagram, we can observe that each output has a frequency that is half of its previous output.

For example, Q1 has a frequency of f/2, where f is the frequency of the clock signal. Q2 has a frequency of f/4, and Q3 has a frequency of f/8.

We can also notice that each output has a phase difference of one clock pulse with respect to its previous output. For example, Q2 leads Q1 by one clock pulse, and Q3 leads Q2 by one clock pulse.

## What are the Advantages and Disadvantages of a Johnson Counter?

A Johnson counter has some advantages and disadvantages compared to other types of counters. Some of them are:

**Advantages:**- A Johnson counter can count twice as many states as a ring counter with the same number of flip-flops.
- A Johnson counter can self-initialize from the all-zeros state without requiring external input.
- A Johnson counter generates a code in which adjacent states differ by only one bit (Hamming distance of one), which can be useful for error detection or asynchronous sampling.
- A Johnson counter can be used as a frequency divider or a pattern recognizer.

**Disadvantages:**- A Johnson counter does not count in a binary sequence, which may limit its applications in some cases.
- A Johnson counter has more unused states than used states, which may reduce its efficiency or increase its complexity.
- A Johnson counter requires one-half of the number of flip-flops as the number of timing signals, which may increase its cost or size.

## What are some Applications of a Johnson Counter?

A Johnson counter can be used for various applications in digital electronics, such as:

**Synchronous decade counter or divider circuit:**A decade counter is a circuit that counts from zero to nine and then resets to zero. A synchronous decade counter means that all the flip-flops change their state simultaneously with respect to the clock signal. A decade counter can be implemented using a five-bit Johnson counter with some additional logic gates.**Finite-state machine:**A finite-state machine is a system that can have a finite number of states and can change from one state to another based on some inputs or outputs. A finite-state machine can be designed using a Johnson counter as a state register and some combinational logic circuits as state transition logic.**Three-phase square wave generator:**A three-phase square wave generator is a circuit that produces three square waves with equal amplitude and frequency but with different phases. A three-phase square wave generator can be implemented using a three-bit Johnson counter with some additional logic gates.**Frequency divider:**A frequency divider is a circuit that reduces the frequency of an input signal by some factor. A frequency divider can be implemented using an n-bit Johnson counter with some additional logic gates.

## Conclusion

A Johnson counter is a type of digital sequential logic circuit that can be used to count events or pulses in a system. It is also known as a twisted ring counter, a walking ring counter, a creeping counter, or a switch-tail counter. It consists of n flip-flops arranged in a shift register with feedback from the complement output of the last flip-flop to the input of the first flip-flop. It has some advantages and disadvantages compared to other types of counters and can be used for various applications in digital electronics.