Синхронные двоичные счетчики: проектирование, Up/Down работа и применения в энкодерах
Что такое синхронный счетчик?
Синхронный счетчик отличается от асинхронного (пробегающего) счетчика тем, что все выходные биты меняют состояние одновременно. Соединив тактовые входы всех триггеров с одним и тем же тактовым импульсом, мы избегаем задержки пробега, характерной для пробегающих счетчиков.
При использовании J-K триггеров тактовые входы соединяются вместе так, что каждое устройство получает один и тот же тактовый фронт в один и тот же момент:

Сложность заключается в установке входов J и K. Для поддержания деления-на-два тайминга, производящего двоичный отсчет, каждый триггер должен работать в режиме переключения, что требует J=K=1 в соответствующие моменты. Простое подключение всех J и K к Vcc заставило бы каждый триггер переключаться на каждом тактовом импульсе, разрушая двоичную последовательность:

Вместо этого мы используем предсказуемый паттерн в двоичной последовательности: бит переключается непосредственно перед тем, как все младшие биты станут высокими. Этот паттерн позволяет обусловить переключение каждого триггера состоянием предыдущих выходов.

Синхронный Up счетчик
В синхронном суммирующем счетчике каждый J-K триггер разрешается переключаться только когда все младшие выходы высоки. Первый (младший) триггер переключается на каждом тактовом импульсе, поэтому его J и K постоянно привязаны высоко (к Vcc). Второй триггер переключается всякий раз, когда первый выход высок — гейт не нужен. Для старших триггеров гейт И подает на J и K конъюнкцию всех предшествующих выходов.

Результат — четырехбитный синхронный суммирующий счетчик, воспроизводящий двоичную последовательность без пробега, так как все ступени реагируют на один и тот же тактовый фронт.
Синхронный Down счетчик
Обратный отсчет меняет условие переключения: бит переключается непосредственно перед тем, как все младшие биты станут низкими. Выходы Q′ J-K триггеров дают необходимый «низкий» сигнал, поэтому переключение каждого триггера разрешается, когда его младшие выходы низки.


Up/Down счетчик с выбором режима
Добавив управляющую линию, выбирающую между сетями гейтов И для «up» и «down», можно построить единственный счетчик, отсчитывающий в обе стороны. Гейт ИЛИ затем подает выход выбранной сети И на входы J и K каждого триггера.

Управляющая линия переключает, какая сеть И активна: высокое для суммирующего отсчета, низкое — для вычитающего. Примерные диааграммы показывают схему с неактивными участками, затененными серым.


Практические применения
Up/down счетчики незаменимы в управлении движением. Датчики вращения вала (энкодеры) генерируют тактовые импульсы, управляющие счетчиком для отслеживания позиции. Когда важно только общее смещение, достаточно одноканального энкодера. Для захвата направления квадратурный энкодер выдает два противофазных сигнала.

D-триггер отличает фазовую связь между двумя сигналами энкодера, устанавливая счетчик на инкремент или декремент соответственно.

Такие схемы лежат в основе робототехники, станков с ЧПУ и любого приложения, требующего точного измерения обратимого механического движения.
Связанные рабочие листы
- Рабочий лист по синхронным счетчикам
Промышленные технологии
- 3-битный двоичный счетчик на таймере 555 и триггерах 4027
- Проектирование асинхронного четырехбитного суммирующего счетчика на J-K триггерах
- Модуль счетчика
- Кольцевые счётчики и счётчики Джонсона: проектирование, принцип работы и практические применения
- Цифровой рамповый (счетный) АЦП: принцип работы, преимущества и ограничения
- Отслеживающий АЦП: реверсивный счетчик для быстрого непрерывного преобразования
- Counter в collections Python: эффективное подсчёт, обновление и арифметические операции
- 4-битный счетчик: эффективный бинарный отсчёт от 0 до 15
- Параметризованный Mod-N счётчик на Verilog: модуль и тестбенч
- Счётчик Грея на Verilog: 4-битный генератор кода Грея