Кольцевые счётчики и счётчики Джонсона: проектирование, принцип работы и практические применения
Основы кольцевых счётчиков
Кольцевой счётчик — это специальный вид сдвигового регистра, в котором выход последней ступени подключается обратно к входу первой. При подаче тактовых импульсов битовый паттерн бесконечно циркулирует по кольцу.
Например, в четырёхступенчатом кольцевом счётчике паттерн повторяется каждые четыре тактовых импульса, но регистр сначала должен быть загружен начальным кодом. Загрузка единственной «1» (например, 1000) — самый распространённый вариант, обеспечивающий наглядный паттерн.

После загрузки 1000 форма сигнала на каждой ступени идентична, за исключением задержки в один тактовый цикл, как показано ниже.

Такая конфигурация работает как делитель частоты на 4; сравнение тактового входа с любым выходом показывает соотношение частот 4:1.
Деление на произвольные коэффициенты
Для получения делителя на 10 требуется десять ступеней. Единственная «1» будет циркулировать каждые десять тактовых импульсов.

Требования к инициализации
Кольцевые счётчики должны инициализироваться при включении питания, так как начальное состояние каждого триггера неопределено. После инициализации паттерн должен сохраняться; однако шумы могут со временем повредить состояние, нарушая последовательность.
Обычный синхронный двоичный счётчик способен к самоисправлению и поэтому часто более надёжен при длительной работе.

Сравнение с обычными счётчиками
Двоичный счётчик использует две ступени и требует декодеров, тогда как кольцевой счётчик самодекодируем, но нуждается в большем количестве ступеней. Если нужны декодированные выходы и большая часть логики размещается в одном корпусе сдвигового регистра, кольцевой счётчик может быть привлекателен; в противном случае предпочтительнее простой двоичный счётчик.

Декодированные формы сигналов синхронного двоичного счётчика совпадают с выходами кольцевого счётчика: (QA QB) перебирает состояния 00, 01, 10, 11.
Счётчики Джонсона
Также известные как счётчики с инверсным обратным соединением (switch-tail ring counter), счётчики Джонсона устраняют несколько ограничений кольцевых счётчиков. Подавая инверсный выход (Q′) последней ступени на вход первой, счётчик Джонсона требует в два раза меньше ступеней для заданного коэффициента деления.
Например, четырёхступенчатый счётчик Джонсона делит входную частоту на 8, тогда как четырёхступенчатый кольцевой счётчик делит только на 4.
Счётчики Джонсона обычно сбрасываются в нулевое состояние при включении питания для установки известного начального состояния.

При внесении единственной «1» счётчик проходит последовательность из четырёх нулей, за которыми следуют четыре единицы, образуя цикл из восьми состояний.

Генерация многофазных выходов
Четырёхступенчатый счётчик Джонсона выдаёт четыре наложенных фазы с коэффициентом заполнения 50%. Трёхступенчатый счётчик Джонсона, тактируемый от 360 Гц, генерирует три прямоугольных волны, сдвинутых на 120°, с частотой 60 Гц.
Декодирование состояний
Каждое состояние счётчика Джонсона может быть декодировано простыми двухвходовыми элементами. Для 4-ступенчатого счётчика восемь состояний декодируются восемью двухвходовыми элементами И.

Независимо от длины счётчика требуются только двухвходовые декодеры. Инверсия входов элементов И может упростить логику, но приведённая схема точно соответствует даташиту CD4022B.

Восемь декодированных выходов (G0–G7) каждый остаётся активным высоким уровнем в течение одного тактового периода в 8-тактовом цикле. Например, G0 высокий, когда QA и QD оба низкие.

Недопустимые состояния и коррекция ошибок
Поскольку 4-ступенчатый сдвиговый регистр может представлять 16 двоичных состояний, только восемь являются допустимыми для счётчика Джонсона. Остальные восемь — недопустимые. В микросхеме CD4022B встроен детектор недопустимых состояний из двух элементов И-НЕ.
На практике счётчик сбрасывается при включении питания, чтобы избежать попадания в недопустимое состояние. Если недопустимое состояние всё же возникает (например, 010), элементы И-НЕ принудительно устанавливают следующий вход в ноль, переводя состояние в допустимое (например, 000).
После нескольких тактов любое недопустимое состояние будет исправлено. Однако для критически важных приложений всегда сбрасывайте счётчик при включении питания.
Микросхемы счётчиков Джонсона
Интегральные схемы с декодированными выходами выпускаются как для серии 4000, так и для 74HC. CD4017 предоставляет десять декодированных выходов (модуль 10), а CD4022 — восемь (модуль 8). Варианты 74HC работают при более низких напряжениях (2–6 В) и обеспечивают больший выходной ток.
- CD4017 — счётчик Джонсона с 10 декодированными выходами (CD4022 — с 8)
- 74HC4017 — счётчик Джонсона, 10 декодированных выходов

Практические применения
Рисунок 1 демонстрирует управление десятью светодиодами через 74HC4017: каждый светодиод загорается на пятую часть секунды по кругу. Выходной ток 74HC4017 — 4 мА (VOH = 4,6 В при 4 мА) достаточно для светодиодов, хотя типичные токи составляют 10–20 мА.

Таймер 555 генерирует тактовые импульсы; при необходимости можно добавить буфер, если 555 не может надежно управлять тактовым входом счётчика.
Счётчики Джонсона также могут генерировать трёхфазные прямоугольные волны. Выбирая P1 = QA, P2 = QC, P3 = QB′, получаем выходы, сдвинутые на 120°. Низкочастотная фильтрация и усиление преобразуют их в трёхфазные синусоиды для источников питания или приводов двигателей.

Для трёхфазных шаговых двигателей наложенные выходы декодируют в неналоженные формы (P0, P1, P2), подходящие для драйверов вроде ULN2003 или дискретных пар Дарлингтона.

Используя один CD4017, счётчик можно сбрасывать после третьего счёта, обеспечивая полный тактовый период для каждого состояния перед следующим сбросом.

Связанные материалы
- Рабочий лист по счётчикам
- Рабочий лист по сдвиговым регистрам
Промышленные технологии
- Удержавающие кольца (Retaining Rings): понимание конструкции и применений
- 3-битный двоичный счетчик на таймере 555 и триггерах 4027
- Модуль счетчика
- Counter в collections Python: эффективное подсчёт, обновление и арифметические операции
- 4-битный счетчик: эффективный бинарный отсчёт от 0 до 15
- Параметризованный Mod-N счётчик на Verilog: модуль и тестбенч
- Счётчик Грея на Verilog: 4-битный генератор кода Грея
- Гвозди с кольчатым стержнем: преимущества и применение в строительстве
- ToughMet® 3AT кольцо AT (C72900): высокопрочный, коррозионно-стойкий медный сплав
- Понимание жидкостных кольцевых насосов: принцип работы и значение