Перейти к содержанию

Асинхронный счётчик

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

Обновлено Редакция GAW

Асинхронный счётчик (ripple counter, последовательный счётчик) — двоичный счётчик из цепочки триггеров, в котором внешний такт получает только первый триггер, а каждый следующий тактируется выходом предыдущего. Каждый триггер работает в счётном режиме: меняет состояние на каждом активном фронте своего входа, то есть делит частоту на 2. Цепочка из n триггеров делит на 2n, а выход каждого разряда сразу даёт частоту, поделённую на 2, 4, 8 и так далее. Счётный режим можно получить и из D-триггера, если завести его инверсный выход на вход D.

Задержка по разрядам

Слабое место такой схемы — время. Изменение старшего разряда начинается только после того, как переключились все младшие, и задержки распространения складываются. В даташите SN74HC393 это видно прямо в таблице (TI SCLS143E, VCC = 4,5 В, 25 °C):

От CLK до выходаtpd тип.tpd макс.
QA15 нс24 нс
QB22 нс38 нс
QC28 нс48 нс
QD32 нс58 нс

Пока изменение бежит по цепочке, выходы на короткое время показывают ложные коды. Kuphaldt разбирает переход 0111 → 1000: вместо чистого перехода счётчик проходит 0110, 0100 и 0000 и только потом приходит к 1000 (Lessons In Electric Circuits, т. IV, гл. 11). Для делителя частоты это безразлично, а вот дешифратор или сравнение кода на выходах может поймать такую иголку.

Как с этим жить

  • Делитель частоты. Если нужен только старший выход как поделённый такт, асинхронный счётчик идеален: просто и мало логики. Так устроены 14-разрядный делитель CD4060 и его родственники — см. CD4017 и CD4060.
  • Чтение кода. Значение снимают, когда счёт гарантированно установился: после последнего фронта прошло больше худшей задержки старшего разряда. Kuphaldt называет это стробированием — приёмник разрешают только в безопасную половину такта.
  • Синхронный счётчик. Если код должен меняться одновременно во всех разрядах, такт подают на все триггеры сразу. Подробнее о триггерах и последовательностной логике — в статье «Цифровая логика».

SN74HC393 содержит в одном корпусе два независимых 4-разрядных асинхронных счётчика со входами CLK и сброса CLR; соединив их последовательно, получают деление на 256. Тактовый вход гарантирует не меньше 25 МГц при 4,5 В во всём диапазоне температур (TI SCLS143E).

Частые вопросы

Чем асинхронный счётчик отличается от синхронного?

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

Почему дешифратор после асинхронного счётчика выдаёт иголки?

Пока изменение пробегает по разрядам, на выходах на несколько наносекунд появляются лишние коды: по Kuphaldt, при переходе с 7 на 8 счётчик кратко показывает 6, 4 и 0. Дешифратор успевает их распознать. Лечат стробированием — разрешают приёмник только тогда, когда счёт гарантированно установился, — или берут синхронный счётчик.

До какой частоты работает 74HC393?

По даташиту TI SN74HC393 при питании 4,5 В гарантирует не меньше 25 МГц на тактовом входе во всём диапазоне −40…85 °C. Но частота, на которой можно читать все четыре разряда как одно число, ниже: задержка до старшего разряда QD доходит до 58 нс при 25 °C.

Источники

  1. Texas Instruments. SNx4HC393 Dual 4-Bit Binary Counters (SCLS143E, December 1982, revised December 2024) — разд. 2 и 6.1: восемь триггеров — два независимых 4-разрядных счётчика со входами CLK и CLR, каскадирование до деления на 256, выходы всех разрядов доступны; Switching Characteristics при VCC = 4,5 В и 25 °C: tpd от CLK до QA 15 нс тип. / 24 нс макс., QB 22/38, QC 28/48, QD 32/58 нс; fmax не ниже 25 МГц для SN74HC393 в диапазоне −40…85 °C; tPHL от CLR 17/33 нс; табл. 6-1 — последовательность счёта
  2. Kuphaldt T. R. Lessons In Electric Circuits, Volume IV — Digital, ch. 11 «Counters», section «Asynchronous counters» (CC BY) — каждый следующий триггер тактируется выходом предыдущего; эффект пульсации (ripple): задержка накапливается от младшего разряда к старшему, при переходе 0111 → 1000 счётчик кратко проходит коды 0110, 0100, 0000; стробирование приёмника входом разрешения; ограничение скорости; синхронный счётчик переключает все разряды одновременно

Нашли ошибку?