Дата последнего обновления файла 25.10.2012

Счётчики

Счётчики используются для построения схем таймеров или для выборки инструкций из ПЗУ в микропроцессорах. Они могут использоваться как делители частоты в управляемых генераторах частоты (синтезаторах). При использовании в цепи ФАП счётчики могут быть использованы для умножения частоты как в синтезаторах, так и в микропроцессорах.

Двоичные асинхронные счётчики

Простейший вид счётчика — двоичный может быть построен на основе T-триггера. T-триггер изменяет своё состояние на прямо противоположное при поступлении на его вход синхронизации импульсов. Для реализации T-триггера воспользуемся универсальным D-триггером с обратной связью, как это показано на рисунке 1.


Рисунок 1. Реализация счетного T-триггера на универсальном D-триггере

Так как схема T-триггера при поступлении на вход импульсов меняет свое состояние на противоположное, то её можно рассматривать как счётчик, считающий до двух. Временные диаграммы сигналов на входе и выходах T-триггера приведены на рисунке 2.


Рисунок 2 Временные диаграммы сигналов на входе и выходах T-триггера

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

Схема счётчика, позволяющего посчитать любое количество импульсов, меньшее шестнадцати, приведена на рисунке 3. Количество поступивших на вход импульсов можно узнать, подключившись к выходам счётчика Q0 … Q3. Это число будет представлено в двоичном коде.


Рисунок 3. Схема четырёхразрядного счётчика, построенного на универсальных D-триггерах

Для того чтобы разобраться, как работает схема двоичного счётчика, воспользуемся временными диаграммами сигналов на входе и выходах этой схемы, приведёнными на рисунке 4.


Рисунок 4 Временная диаграмма четырёхразрядного счётчика

Пусть первоначальное состояние всех триггеров счётчика будет нулевым. Это состояние мы видим на временных диаграммах. Запишем его в таблицу 1. После поступления на вход счётчика тактового импульса (который воспринимается по заднему фронту) первый триггер изменяет своё состояние на противоположное, то есть единицу.

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

Подадим на вход счётчика ещё один тактовый импульс. Значение первого триггера снова изменится на прямо противоположное. На этот раз на выходе первого триггера, а значит и на входе второго триггера сформируется задний фронт. Это означает, что второй триггер тоже изменит своё состояние на противоположное. Это отчётливо видно на временных диаграммах, приведённых на рисунке 4. Запишем новое состояние выходов счётчика в таблицу 1. В этой строке таблицы образовалось двоичное число 2. Оно совпадает с номером входного импульса.

Продолжая анализировать временную диаграмму, можно определить, что на выходах приведённой схемы счётчика последовательно появляются цифры от 0 до 15. Эти цифры записаны в двоичном виде. При поступлении на счётный вход счётчика очередного импульса, содержимое его триггеров увеличивается на 1. Поэтому такие счётчики получили название суммирующих двоичных счётчиков.

Таблица 1. Изменение уровней на выходе суммирующего счётчика при поступлении на его вход импульсов.

номер входного импульса Q3 Q2 Q1 Q0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1

Условно-графическое обозначение суммирующего двоичного счетчика на принципиальных схемах приведено на рисунке 5. В двоичных счётчиках обычно предусматривают вход обнуления микросхемы R, который позволяет записать во все триггеры счётчика нулевое значение. Это состояние иногда называют исходным состоянием счётчика.


Рисунок 5. Четырёхразрядный двоичный счётчик

Существуют готовые микросхемы асинхронных двоичных счётчиков. Классическим примером такого счётчика является микросхема 555ИЕ5. Подобные схемы существуют и внутри САПР программируемых логических интегральных схем.

Двоичные вычитающие асинхронные счётчики

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

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


Рисунок 6 Схема четырёхразрядного двоичного вычитающего счётчика, построенного на универсальных D-триггерах

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


Рисунок 7. Временная диаграмма четырёхразрядного вычитающего счётчика

Это вызвано тем, что при поступлении переднего фронта тактового импульса первый триггер переходит в единичное состояние. В результате на его выходе тоже формируется передний фронт. Он поступает на вход второго триггера, что приводит к записи единицы и в этот триггер. Точно такая же ситуация складывается со всеми триггерами счётчика, то есть все триггеры перейдут в единичное состояние. Для четырёхразрядного счётчика это и будет число 1510. Запишем новое состояние вычитающего счётчика в таблицу 2.

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

Все возможные состояния логических сигналов на выходах вычитающего счётчика, при поступлении на счётный вход схемы тактовых импульсов приведены в таблице 2. Таблица 2 фактически повторяет временные диаграммы, приведённые на рисунке 7, однако она более наглядно представляет физику работы счётчика. Просто мы при работе с числами привыкли иметь дело с цифрами, а не с напряжениями, тем более в зависимости от времени.

Таблица 2. Изменение уровней на выходе вычитающего счётчика при поступлении на его вход импульсов.

номер входного импульса Q3 Q2 Q1 Q0
0 0 0 0 0
1 1 1 1 1
2 1 1 1 0
3 1 1 0 1
4 1 1 0 0
5 1 0 1 1
6 1 0 1 0
7 1 0 0 1
8 1 0 0 0
9 0 1 1 1
10 0 1 1 0
11 0 1 0 1
12 0 1 0 0
13 0 0 1 1
14 0 0 1 0
15 0 0 0 1

Для тех, кто привык работать с реально выпускаемыми микросхемами средней интеграции, следует обратить внимание, что для примера были использованы D-триггеры, работающие по заднему фронту. Микросхемы, выпускаемые промышленностью, например, 1533ТМ2 (два D-триггера в одном корпусе) или SN74LVC1G79 (микросхемы малой логики) срабатывают по переднему фронту, поэтому схемы для суммирующего и вычитающего счётчика поменяются местами.

Следует отметить, что при применении для реализации двоичных счетчиков современных схем большой интеграции, таких как программируемые пользователем вентильные матрицы FPGA, мы можем применять D-триггеры срабатывающие как по переднему (нарастающему), так и по заднему (спадающему фронту).

Литература:

  1. Микушин А.В., Сажнев А.М., Сединин В.И. Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2010.
  2. Угрюмов Е. П. Цифровая схемотехника. СПб, БХВ-Петербург, 2010.
  3. Александр Ашихмин Цифровая схемотехника. Шаг за шагом. М, Диалог-МИФИ, 2008.
  4. Дж. Ф. Уэкерли Проектирование цифровых устройств. М, Постмаркет, 2002.
  5. Клайв Максфилд Проектирование на ПЛИС. Архитектура, средства и методы. Курс молодого бойца. М, Додэка XXI, 2015.
  6. Шило В. Л. "Популярные микросхемы КМОП" — М.: "Горячая Линия - Телеком" 2002
  7. "CMOS Power Consumption and Cpd Calculation" "Texas Instruments" 1997
  8. "Input and Output Characteristic of Digital Integrated Circuits" "Texas Instruments" 1996
  9. "LOGIC MIGRATION GUIDE" "Texas Instruments" 2004

Вместе со статьей "Асинхронные счётчики" читают:

Недвоичные счётчики с обратной связью
http://digteh.ru/digital/counter1.php

Недвоичные счётчики с предварительной записью
http://digteh.ru/digital/counter2.php

Синхронные счётчики
http://digteh.ru/digital/counter3.php

Синхронные двоичные счётчики
http://digteh.ru/digital/counter4.php


Автор Микушин А. В. All rights reserved. 2001 ... 2017

Предыдущие версии сайта:
http://neic.nsk.su/~mavr
http://digital.sibsutis.ru/

Поиск по сайту сервисом Яндекс

Поиск по сайту сервисом ГУГЛ

пЕИРХМЦ@Mail.ru


Rambler's Top100