Jump to content

Ring counter

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 82.33.61.156 (talk) at 15:59, 8 October 2008 (Undid revision 243732884 by 117.96.86.204 (talk)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A ring counter is a type of counter composed of a circular shift register. The output of the last shift register is fed to the input of the first register.

There are two types of ring counters:

  • A straight ring counter or Overbeck counter connects the output of the last shift register to the first shift register input and circulates a single one (or zero) bit around the ring. For example, in a 4-register one-hot counter, with initial register values of 1000, the repeating pattern is: 1000, 0100, 0010, 0001, 1000... . Note that one of the registers must be pre-loaded with a 1 (or 0) in order to operate properly.
  • A twisted ring counter or Johnson counter connects the complement of the output of the last shift register to its input and circulates a stream of ones followed by zeros around the ring. For example, in a 4-register counter, with initial register values of 0000, the repeating pattern is: 0000, 1000, 1100, 1110, 1111, 0111, 0011, 0001, 0000... .

Four-bit ring counter sequences

Straight ring/Overbeck counter Twisted ring/Johnson counter
Clock
pulse
Cycle Q0 Q1 Q2 Q3 Clock
pulse
Cycle Q0 Q1 Q2 Q3
0 I 1 0 0 0 0 I 0 0 0 0
1 0 1 0 0 1 1 0 0 0
2 0 0 1 0 2 1 1 0 0
3 0 0 0 1 3 1 1 1 0
4 II 1 0 0 0 4 1 1 1 1
5 0 1 0 0 5 0 1 1 1
6 0 0 1 0 6 0 0 1 1
7 0 0 0 1 7 0 0 0 1
8 III 1 0 0 0 8 II 0 0 0 0

See also