Счетчиком называют устройство, которое производит подсчет поступающих на его вход импульсов.
Количество разрядов счетчика определяется наибольшим числом, которое должно быть получено в каждом конкретном случае. В счетчиках имеется один вход и п выходов, в зависимости от количества разрядов.
В общем случае счетчик имеет п устойчивых состояний. Под действием входных сигналов счетчик, установленный в исходное состояние, изменяет свое состояние и сохраняет его до тех пор, пока на вход не поступит следующий сигнал. Каждому состоянию счетчика соответствует порядковый номер 0, 1, 2, ..., N. Счетчики находят широкое применение как в вычислительной технике, так и в различных устройствах автоматики. Они применяются для формирования адреса ячеек запоминающих устройств, для счета количества циклов выполнения операций, для запоминания кода в аналого-цифровых преобразователях и т. д.
По своему назначению счетчики подразделяют на суммирующие, вычитающие и реверсивные.
В суммирующих счетчиках производится сложение поступающих на вход импульсов с тем числом, которое хранилось в счетчике.
|
|
Вычитающие счетчики производят вычитание поступивших на вход импульсов из начального числа.
Реверсивные счетчики могут производить как сложение, так и вычитание поступающих на вход импульсов в зависимости от управляющего сигнала, который переключает счетчик (с помощью специальной схемы переключения), либо в режим сложения, либо в режим вычитания.
Рисунок 1 – Схема счетчика импульсов (а) и временная диаграмма его работы (б).
Для построения счетчиков чаще всего используют статические триггеры со счетным сходом. Применяют также динамические триггеры, феррит-транзисторные и феррит-диодные ячейки.
Рассмотрим принцип действия счетчика, приведенного на рисунке 1, а. Импульсы, которые требуется сосчитать, подаются на счетный вход триггерной ячейки 1-го разряда (Т1).
Каждый приходящий импульс перебрасывает первую триггерную ячейку из одного устойчивого состояния в другое. Предположим, что все разряды счетчика стояли в положении «0», что соответствует коду «000» на 3-разрядном счетчике.
Первый входной импульс перебросит 1-й разряд в положение «1».
Второй входной импульс переведет его в положение «0». При этом возникает импульс переноса из 1-го во 2-й разряд, который перебрасывает триггерную ячейку 2-го разряда в положение «1».
Код на счетчике станет «010».
Триггерная ячейка 2-го разряда вновь перебросится в положение «О» только после 4-го импульса.
При этом возникают импульсы переноса (ИП) из 1-го во 2-й разряд и затем из 2-го в 3-й. На счетчике устанавливается число 4 или в двоичном коде 100. Код третьего разряда изменится теперь только при поступлении 8-го импульса. Таким образом, каждая последующая счетная ячейка перебрасывается в два раза реже, чем предыдущая, т. е. происходит деление частоты (временная диаграмма работы счетчика, на рисунок 1, б).
|
|
В рассматриваемом счетчике импульс переноса возникает в результате дифференцирования фронта выходного сигнала триггера, соответствующего перебросу триггера из положения «1» в положение «0».
В данном случае на емкость С подается сигнал с выхода «0» триггерной ячейки. Образовавшийся дифференцированный импульс поступает на счетный вход триггерной ячейки.
Количество просчитанных импульсов можно определить по положению триггеров счетчика. Код, стоящий на счетчике, точно соответствует числу поступивших на вход импульсов, выраженному в двоичном коде. Поэтому количество каскадов, которое должен иметь счетчик, равно количеству двоичных разрядов необходимого числа импульсов, поступивших на счетчик при одном подсчете, т. е. до установки счетчика в положение «0». Если после заполнения счетчика (код 111..1) не прекратится подача входных импульсов, то после перехода счетчика через положение «0» во всех разрядах подсчет импульсов начнется сначала. Этот режим работы счетчика называется циклическим. За один цикл работы на счетчик поступает 2nимпульсов, где п — количество разрядов счетчика.
В ряде случаев требуется, чтобы число импульсов было отличным от 2n. Допустим, счетчик требуется выполнить на 10 импульсов.
Количество разрядов этого счетчика должно быть равно 4, так как ближайшее число 2n, большее 10, равно 16. Для того чтобы цикл равнялся 10 импульсам, необходимо после каждого 10-го импульса производить установку счетчика в положение «0». На рисунке 2 приведена схема счетчика с циклом на 10 импульсов.
Рисунок 2 – Счетчик с пересчетом на 10.
Схема состоит из четырех триггеров. Образование импульса переноса осуществляется так же, как и в предыдущей схеме. Установка счетчика в положение «0» производится с помощью схемы совпадения на двух вентилях В1 и В2. Потенциальные входы этих вентилей подключены соответственно на единичные выходы триггеров 1-го и 4-го разрядов. Вентили одновременно открыты, когда на счетчике стоит код 1001 (т. е. число 9). Таким образом, схема совпадения открыта только для 10-го импульса, который должен установить счетчик в положение «0». Выходной импульс вентиля В2 нельзя подавать непосредственно на входы У «0» триггерных ячеек, так как при этом произойдет только сдвиг числа в счетчике влево. Поэтому вначале устанавливают каждый разряд счетчика в положение «1» путем подачи импульса с вентиля В2 на единичные входы триггерных ячеек. В этом случае импульсов переноса не образуется. Затем 1-й разряд устанавливается в. положение «0» подачей выходного импульса вентиля В2 через линию задержки τ2 на вход У «0» триггера. Образовавшийся в 1-м разряде импульс переноса последовательно перебросит все триггеры в положение «0».
Линия задержки τ2 становится для того, чтобы импульс с вентиля В 2 пришел на вход У «0» триггерной ячейки 1-го разряда после установления всех триггеров в положение «1».
Поэтому импульс с вентиля В2 подается только на единичные входы У «1» 1-го и 3-го разрядов. Линия задержки τ1 на входе 1-го разряда включается для того, чтобы входной импульс смог пройти через вентиль В1 до переброса триггера Т1 в положение «0».
Одной из характеристик счетчика является коэффициент пересчета.
Если суммирующий счетчик имеет п разрядов, то лишь после подачи 2n входных импульсов на единичном выходе триггера старшего разряда появится первый сигнал.
Следовательно, коэффициент пересчета такого счетчика равен 2п.
|
|
Коэффициентом пересчета счетчика Ксч, называют отношение частоты импульсов, подаваемых на его вход, к частоте импульсов, образующихся на выходе его старшего разряда.
Считывание числа, записанного в счетчике, производится так же, как и в регистрах, т. е. в прямом коде с единичных выходов триггеров и в обратном коде с нулевых выходов.
Рисунок 3 – Вычитающий триггерный счетчик.
На рисунке 3 приведена схема вычитающего счетчика. В этом счетчике счетный вход триггеров старших разрядов соединяется не с единичным, а с нулевым выходом предыдущих разрядов триггеров. Каждый входной импульс уменьшает величину кода, установленного в вычитающем счетчике, на единицу.
Если, например, в счетчике записан код 100, то первый входной импульс перебрасывает триггер Т1 из нулевого в единичное положение.
Возникающий на его выходе импульс переноса переводит триггер Т2 также в единичное положение, а импульс переноса триггера Т2 переводит триггер Т3 из единичного положения в нулевое.
В результате в счетчике будет установлен код 011. Второй входной импульс уменьшит показание счетчика еще на единицу и т. д.
Счетчики со сквозным переносом. Быстродействие рассмотренных счетчиков зависит как от скорости переброса триггера младшего разряда, так и от времени передачи импульсов переноса по цепи счетчика. Повысить быстродействие счетчика можно за счет создания цепей, которые обеспечивают параллельную передачу импульсов переноса. Такие счетчики называют счетчиками со сквозным переносом. Принцип работы счетчиков со сквозным переносом основан на особенности сложения двоичных чисел, заключающейся в следующем.
Если к некоторому двоичному числу прибавляется единица младшего разряда, то получаемая сумма двух чисел может быть получена заменой первого нуля (считая справа налево) единицей, а всех единиц, стоящих справа от этого нуля, нулями. Например:
+ 1
В первом слагаемом первый стоящий справа нуль расположен в третьем разряде. Производя замену этого нуля единицей, а стоящих перед ним единиц нулями, получим сумму, которая на единицу больше первого слагаемого.
|
|
Рисунок 4 – Счетчик со сквозным переносом.
На рисунке 4 приведена схема счетчика со сквозным переносом. Предположим, что в счетчике записано число 0111. При подаче входного импульса сигнал пройдет через открытые вентили В1 ÷ В3 по цепи сквозного переноса и поступит на вход триггера Т4. В результате триггер Т4 будет установлен в единичное положение. Одновременно при прохождении импульса по цепи переноса триггеры Т1, Т2 и Т3 поочередно будут установлены в нулевое положение. Таким образом, в результате прохождения первого входного импульса на счетчике будет установлено число 1000.
Реверсивные счетчики. В этих счетчиках предусматривается специальная переключающая схема, предназначенная для переклюю-чения счетчика либо на сложение, либо на вычитание. На рисунке 5 приведена схема реверсивного счетчика на три числовых разряда.
Рисунок 5 – Реверсивный счетчик.
В счетчике используются триггеры со счетным входом Т1, Т2 и Т3.Триггер управления Ту и вентили управления Вс и Вв представляют собой переключающую схему. Счетчик содержит также знаковый разряд Тзн.
В режиме сложения счетчик работает следующим образом. В исходном состоянии триггеры Т1 ÷ Т3 находятся в состоянии «0» и на их единичных выходах имеется низкий потенциал, поэтому входные сигналы через цепочку вентилей Вс1 ÷ Вс3 не пройдут.
При подаче сигнала сложения Ус триггер Ту устанавливается в единичное положение, в результате чего будет открыт вентиль Вс и входные импульсы UBX проходят в цепь сложения. Вентили Вс1 ÷ Вс3 образуют цепь сквозного переноса в режиме сложения. При этом сигналы, управляющие вентилями Вс1 ÷ Вс3, поступают с единичных выходов триггеров Т1 ÷ T3.
Первый входной импульс UBX перебросит в единичное положение триггер Т1 в результате чего вентиль В с1 откроется, а вентиль Вв1 закроется. Второй входной импульс перебросит триггер Т1 в нулевое положение и, пройдя вентиль Вс1, установит триггер Т2 в состояние «1».
Третий входной импульс переводит триггер Т1 в единичное положение.
Четвертый импульс проходит через открытые вентили Вс1 и Вс2 и перебрасывает триггер Т3 в единичное положение. Он же переводит триггеры Т1 и Т2 в нулевое положение и т. д. Чтобы счетчик работал в режиме вычитания, управляющий сигнал Ув подается на триггер Ту. В результате триггер будет установлен в нулевое положение, при котором открывается вентиль Вв, а вентиль Вс закрывается. В этом случае входные импульсы будут теперь поступать уже в цепь вычитания – вентили ВВ1 ÷ BB3, которые образуют цепь сквозного переноса при вычитании. Эти вентили будут находиться в открытом состоянии при нулевом положении соответствующих триггеров Т1 ÷ Т3.
Знак числа, записанного в счетчике, может быть установлен 'с помощью триггера знака Тзн. Нулевое положение этого триггера соответствует положительному числу, а единичное – отрицательному числу в дополнительном коде.