Mạch đếm vòng hay Ring counter là mạch được lập ra bằng thanh ghi dịch với phản hồi ngõ ra trở về ngõ vào D đầu tiên. Khoảng cách Hamming của Mạch đếm Overbeck là 2, khoảng cách Hamming của Mạch đếm Johnson là 1.[1]
Mạch đếm vòng có thể lập với số flip-flop không hạn chế, và để thuận tiện thì xét với 4 bit.[2]
Straight ring/Overbeck counter | Twisted ring/Johnson counter | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
State | Q0 | Q1 | Q2 | Q3 | State | Q0 | Q1 | Q2 | Q3 | |
0 | 1 | 0 | 0 | 0 | 0 | 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 | |
0 | 1 | 0 | 0 | 0 | 4 | 1 | 1 | 1 | 1 | |
1 | 0 | 1 | 0 | 0 | 5 | 0 | 1 | 1 | 1 | |
2 | 0 | 0 | 1 | 0 | 6 | 0 | 0 | 1 | 1 | |
3 | 0 | 0 | 0 | 1 | 7 | 0 | 0 | 0 | 1 | |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Johnson counter là mạch đếm thường dùng, đặc biệt là để phát mã Gray, là mã mà hai trạng thái liền kề chỉ khác nhau nội dung của 1 bit.