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
External links