Меню

Асинхронный реверсивный счетчик схема

Счётчики

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

Вниманию любителей баннерорезок. Данная статья полностью искажается любыми антирекламными программами. Они очень не любят слово «счетчик», поэтому почти все рисунки вырезаются, насколько искажается текст не вчитывался 🙂

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

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


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

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


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

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

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


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

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


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

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

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

Читайте также:  Электросчетчик энергомера се 102 двухтарифный

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

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

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

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

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

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

Источник



Асинхронные реверсивные двоичные счетчики с последовательным переносом

9.2.3.3 Асинхронные реверсивные двоичные счетчики с последовательным переносом

Часто возникает необходимость, чтобы счетчики обладали способностью выполнять сложение или вычитание, т.е. были реверсивными.

В таких счетчиках объединяются схемы суммирующего и вычитающегосчетчиков. Реверсивные счетчики могут иметь два или один входа для подачи счетных сигналов.

Ниже показана схема реверсивного асинхронного счетчика имеющего один счетный вход (рисунок 9.53).

Единичным управляющим сигналом на входе +1 или -1 счетчик настраивается на работу в режиме суммирования (на входе +1 – единица, а на выходе -1 – нуль) или в режиме вычитания (на входе +1 – нуль, -1 – единица).

Асинхронные счетчики имеют простую структуру, но обладают рядом недостатков:

1) схема имеет сравнительно низкое быстродействие, т.к. при поступлении каждого счетного импульса триггеры переключаются последовательно и к i-му разряду переключающий сигнал проходит через (i-1) предыдущих. Поэтому интервал меду соседними входными импульсами должен превышать tпер∙(n-1), где tпер — время переключения одного триггера, а n — число разрядов счетчика.

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

Когда для устройства, в состав которого входит счетчик, отмеченные недостатки являются существенными, используют синхронные счетчики.

9.2.3.4 Синхронный счетчик со сквозным переносом

В таких счетчиках состояние триггеров изменяется одновременно под действием сигналов синхронизации на входах всех триггеров.

На рисунке 9.54 приведен суммирующий синхронный счетчик, выполненный на JK-триггерах.

В схеме с помощью конъюнкторов организован так называемый сквозной (параллельный) перенос. Его идея состоит в том, что сигнал переноса поступает на J, K входы последующих триггеров лишь в том случае, если предыдущие находятся в состоянии единица. Триггер Тг1 переключается каждым счетным импульсом, т.к. на его J и K входы постоянно подается единица. Остальные триггеры переключаются счетными импульсами при следующих условиях: Тг2 — при Q1=1; Тг3 — при Q1=1; Q2=1; Тг4 — при Q1=1; Q2=1; Q3=1.

Недостатком описанного счетчика является необходимость иметь конъюнкторы с большим количеством входов, число которых возрастает с увеличением числа разрядов. Если число разрядов синхронного счетчика не превышает четыре, то схему можно реализовать без внешних конъюнкторов, используя JK-триггеры с входной логикой И.

Ниже показана схема суммирующего синхронного счетчика, у которого число разрядов равно трем (рисунок 9.55).

Аналогично может быть построен вычитающий синхронный счетчик со сквозным переносом (рисунок 9.56).

Реверсивный синхронный счетчик со сквозным переносом приведен на рисунке 9.57.

Схема содержит один источник сигналов счета и два управляющих входа для переключения счетчика на суммирование (+1) или вычитание (-1). На выходе счетчика, обозначенном >7, единичный сигнал появляется при поступлении седьмого импульса и переходе счетчика в состояние, в котором все триггеры установлены в 1. Следующим восьмым импульсом на этом выходе появляется сигнал переноса в следующий разряд в виде перепада из 1 в 0.

Источник