zaro

What is the Johnson Counter Also Known As?

Published in Digital Counter 2 mins read

The Johnson counter is also known as a creeping counter.

A Johnson counter is a type of digital counter and a specific application of a shift register. It is renowned for its unique sequence generation and is an example of a synchronous counter. This means that all flip-flops within the counter are clocked simultaneously, ensuring precise timing and operation.

Key Characteristics of a Johnson Counter

  • Creeping Counter Name: The alternative name, "creeping counter," stems from the way its output pattern progresses, creating a characteristic "creeping" or "walking" sequence of 1s and 0s.
  • Synchronous Operation: Unlike asynchronous (ripple) counters where flip-flops are clocked sequentially, all flip-flops in a Johnson counter change state in unison, triggered by a common clock pulse.
  • Feedback Mechanism: A defining feature of the Johnson counter's design is its specific feedback loop. The complemented output of the last flip-flop is connected to the input of the first flip-flop. This inversion and feedback are crucial for generating its distinct output sequence.
  • Implementation: To implement an n-bit Johnson counter, n flip-flops are required. For instance, a 4-bit Johnson counter would utilize four flip-flops.
  • Output Sequence: A unique aspect of an n-bit Johnson counter is that it produces a sequence of 2n states, which is different from a standard n-bit ring counter (which produces n states) or an n-bit binary counter (which produces 2^n states). The sequence typically involves a string of leading zeros gradually converting to ones, followed by a string of leading ones gradually converting to zeros.

Applications

Johnson counters are commonly used in various digital systems, including:

  • Frequency Division: They can be used to divide the input clock frequency by a specific factor.
  • Sequencing and Control: Their predictable output patterns make them suitable for generating control signals in sequential logic circuits.
  • Decoders: They can be paired with decoding logic to create unique output signals for each state, useful in applications like displaying numerical values or controlling specific operations.