Счетчик – устройство для подсчета числа входных импульсов. Число, образованное состоянием его выходов по фронту каждого входного импульса, изменяется на единицу. Счетчик можно реализовать на нескольких триггерах. В суммирующих счетчиках каждый входной импульс увеличивает число на его выходе на единицу, а в вычитающих счетчиках каждый входной импульс уменьшает это число на единицу. Двоичные счетчики являются простыми в схемном решении. Схема суммирующего двоичного счетчика и диаграммы его работы представлены на рис. 2.1.
Как говорилось выше, счетчики можно реализовать на триггерах. При этом триггеры соединяют последовательно. Выход каждого триггера непос-редственно действует на тактовый вход следующего. Для того чтобы реализовать суммирующий счетчик, необходимо счетный вход очередного триггера подключать к инверсному выходу предыдущего. Для того чтобы изменить направление счета (реализовать вычитающий счетчик), можно предложить два способа.
Способ 1 – считывать выходные сигналы счетчика не с прямых, а с инверсных выходов триггеров. Число, образуемое состоянием инверсных выходов триггеров счетчика, связано с числом, образованным состоянием прямых выходов триггеров соотношением:
Nпр = 2n – Nинв – 1, (2.1)
где n – разрядность выхода счетчика.
Пример связи числа на прямых выходах с числом на инверсных выходах триггеров счетчика приведен в табл. 2.1.
а
б
Рис. 2.1. Схема суммирующего двоичного счетчика (а) и
диаграммы его работы (б)
Таблица 2.1
Состояние входов счетчика
Состояние прямых входов
Число
Состояние инверсных входов
Число
N
N
Способ 2 – изменить структуру связей в счетчике: подавать на счетный вход следующего триггера сигнал не с инверсного, а с прямого выхода предыдущего, как показано на рис. 2.2. В этом случае изменяется последовательность переключения триггеров.
Счетчики характеризуются числом состояний в течение одного периода (цикла). Для схем, представленных на рис. 2.1 и 2.2, цикл содержит восемь (N = 23 = 8) состояний (от 000 - до 111). Часто число состояний называют коэффициентом пересчета Ксч, который равен отношению числа импульсов Nc на входе к числу импульсов NQст на выходе старшего разряда за период:
. (2.2)
а
б
Рис. 2.2. Схема суммирующего двоичного счетчика (а) и
диаграммы его работы (б)
Если на вход счетчика подавать периодическую последовательность импульсов с частотой Fc, то частота FQ на выходе старшего разряда счетчика будет меньше в Ксч раз: Ксч = Fс / FQ, поэтому счетчики называют делителями частоты, а величину Ксч – коэффициентом деления. Для увеличения значения Ксч необходимо увеличивать число триггеров в цепочке. Каждый дополнительный триггер удваивает число состояний счетчика и коэффициент Ксч. Для уменьшения коэффициента Ксч можно в качестве выхода счетчика рассматривать выходы триггеров промежуточных каскадов. Например, для счет-чика на трех триггерах Ксч = 8, если взять выход второго триггера, то Ксч = 4, при этом Ксч является целой степенью числа 2: 2, 4, 8, 16 и т. д.
Можно реализовать счетчик, для которого Ксч – любое целое число. Например, для счетчика на трех триггерах можно Ксч увеличить от 2 до 7, но при этом один или два триггера могут быть лишними. При использовании всех трех триггеров можно получить: Ксч = 5 – 7; 22 < Ксч < 23. Счетчик с Ксч = 5 должен иметь пять состояний, которые в простейшем случае образуют последовательность {0, 1, 2, 3, 4}. Циклическое повторение этой последовательности означает, что коэффициент деления счетчика равен пяти.
Для построения суммирующего счетчика с Ксч = 5 необходимо, чтобы после формирования последнего числа из последовательности {0, 1, 2, 3, 4} счетчик переходил не к числу 5, а к числу 0. В двоичном коде это означает, что от числа 100 следует перейти к числу 000, а не к 101. Изменение естественного порядка счета возможно при введении дополнительных связей между триггерами счетчика. Можно воспользоваться следующим способом: как только счетчик попадает в нерабочее состояние (в данном случае – 101), этот факт должен быть опознан и должен повлечь за собой последующую выработку сигнала, который перевел бы счетчик к числу 000. Рассмотрим этот способ более детально.
Факт попадания счетчика в нерабочее состояние описывается логическим уравнением:
(2.3)
Состояние счетчика при числах 110 и 111 также является нерабочим, это учтено при составлении уравнения (2.3). Если на выходе эквивалентной логической схемы F равен нулю, то счетчик находится в одном из рабочих состояний: . Как только счетчик попадает в одно из нерабочих состояний ( ), формируется сигнал F равный единице, появление этого сигнала должно переводить счетчик в начальное состояние, т. е. к числу 000, следовательно, этот сигнал необходимо использовать для воздействия на установочные входы триггеров счетчика, которые осуществляли бы сброс счетчика в состояние Q1 = Q2 = Q3 = 0. При реализации счетчика на триггерах со входами установки «0» для сброса триггеров требуется подать на входы сброса сигнал R, равный нулю. Для обнаружения факта попадания в нерабочее состояние используем схему, реализующую функцию F и выполненную на элементах И-НЕ. Для этого преобразуем выражение для функции F:
(2.4)
Соответствующая схемная реализация приведена на рис. 2.3.
Рис. 2.3. Схема суммирующего счетчика
Счетчик будет работать следующим образом: при счете от нуля до четырех все происходит, как в обычном суммирующем счетчике с Ксч = 8. Установочные сигналы равны единице и естественному порядку счета не препятствуют. Счет происходит по положительному фронту импульса на счетном входе С. В тот момент, когда счетчик находится в состоянии 4 (100), следующий тактовый импульс сначала переводит счетчик в состояние 5 (101), что немедленно (задолго до прихода следующего тактового импульса) приводит к формированию сигнала сброса, который поступает на установочные входы сброса триггеров R. В результате счетчик сбрасывается в ноль, т. е. все триггеры переходят в нулевое значение, и ждет прихода следующего тактового импульса на счетный вход, т. е. один цикл счета закончился, счетчик готов к началу следующего цикла.
Применяя такие схемы с обратной связью для сброса счетчика, нужно иметь в виду, что операция сброса занимает ограниченное время, поэтому непосредственно перед сбросом счетчика в ноль на выходе первого триггера появляются кратковременные импульсы, или «иголки». Это не имеет значения при подключении счетчика напрямую к индикатору, но при использовании этого выхода счетчика в качестве источника тактовых импульсов могут возникнуть определенные проблемы. Схема, в которой это явление устранено, приведена на рис. 2.4. Отличием от схем других счетчиков является то, что данная схема обнаруживает не факт попадания в нерабочее состояние 101, а факт попадания в состояние 100, и в следующем такте вырабатывает сигнал сброса.
Рис. 2.4. Схема суммирующего счетчика со схемой устранения сбоев