A Johnson counter is a type of ring counter that cycles through a sequence of bit patterns:
How it works
The output from the last flip flop is inverted and fed back to the input of the first flip flop. This is also known as an Inverse Feedback Counter or Twisted Ring Counter.
Advantages
A Johnson counter only needs half the number of flip-flops as a standard ring counter for the same MOD. It's also an efficient way to generate one-hot codes and frequency pre-scalers.
Uses
Early computer mice used 2-bit Johnson encodings to indicate motion in each dimension. A Johnson counter can also be used to produce a glitch-free approximation of a sine wave.
Invented by
Robert Royce Johnson, an American inventor, engineer, computer pioneer, and professor.