Асинхронный счётчик
Самый простой двоичный счётчик — цепочка триггеров, где выход одного служит тактом для следующего. Он делит частоту без лишней логики, но его разряды переключаются не одновременно, и это надо учитывать при чтении кода.
Обновлено Редакция GAW
Асинхронный счётчик (ripple counter, последовательный счётчик) — двоичный счётчик из цепочки триггеров, в котором внешний такт получает только первый триггер, а каждый следующий тактируется выходом предыдущего. Каждый триггер работает в счётном режиме: меняет состояние на каждом активном фронте своего входа, то есть делит частоту на 2. Цепочка из n триггеров делит на 2n, а выход каждого разряда сразу даёт частоту, поделённую на 2, 4, 8 и так далее. Счётный режим можно получить и из D-триггера, если завести его инверсный выход на вход D.
Задержка по разрядам
Слабое место такой схемы — время. Изменение старшего разряда начинается только после того, как переключились все младшие, и задержки распространения складываются. В даташите SN74HC393 это видно прямо в таблице (TI SCLS143E, VCC = 4,5 В, 25 °C):
| От CLK до выхода | tpd тип. | tpd макс. |
|---|---|---|
| QA | 15 нс | 24 нс |
| QB | 22 нс | 38 нс |
| QC | 28 нс | 48 нс |
| QD | 32 нс | 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.
Источники
- 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 — последовательность счёта
- Kuphaldt T. R. Lessons In Electric Circuits, Volume IV — Digital, ch. 11 «Counters», section «Asynchronous counters» (CC BY) — каждый следующий триггер тактируется выходом предыдущего; эффект пульсации (ripple): задержка накапливается от младшего разряда к старшему, при переходе 0111 → 1000 счётчик кратко проходит коды 0110, 0100, 0000; стробирование приёмника входом разрешения; ограничение скорости; синхронный счётчик переключает все разряды одновременно
Нашли ошибку?
Смотрите также
- D-триггерЯчейка памяти по фронту такта: таблица истинности, установка, счётный режим
- Задержка распространенияВремя от входа до выхода элемента: tPLH, tPHL, зависимость от питания
- CD4017 и CD4060Счётчик на 10 выходов и делитель с генератором: выводы, частоты, токи
- Цифровая логикаВентили, таблицы истинности, СДНФ, карты Карно, мультиплексор, защёлка, триггер, регистр