Счетчики
Функция счетчика состоит в подсчете количества импульсных сигналов, поступающих на его вход. Элементом структуры счетчика является Т-триггер. Состояние счетчика характеризуется его содержимым
S(t) = snsn–1…s0.
Здесь si – состояние i-го триггера счетчика. Код S(t) так или иначе соответствует количеству счетных импульсов, поступивших на счетчик к данному моменту времени t. Одно из состояний счетчика принимают за начальное s(0). Подсчет количества импульсов производится в счетчике по модулю K, где K – общее число различных состояний счетчика. Число K называют или модулем, или основанием, или коэффициентом пересчета, а также емкостью счетчика.
Классифицируют счетчики по следующим признакам: по коэффициенту пересчета K, по направлению счета, по способу управления счетом.
По коэффициенту пересчета K различают:
– бинарные счетчики, у которых K = 2n+1;
– счетчики с произвольным коэффициентом пересчета(K ¹ 2n+1, K = сonst);
– счетчики с произвольным K ¹ 2n+1, K = var.
По направлению счета счетчики разделяют как:
– суммирующие, у которых S(0) < S(t), t > 0 (суммирующий счетчик – счетчик, который под действием счетного импульса переходит из состояния s(t) в (s(t) + 1)mod K состояние);
– вычитающие, у которых S(0) > S(t), t > 0 (вычитающий счетчик – счетчик, который под действием счетного импульса переходит из состояния s(t) в (s(t) – 1)mod K состояние);
– реверсивные счетчики (цифровые устройства, способные работать как в режиме суммирующего, так и в режиме вычитающего счетчика).
По способу управления счетом счетчики бывают:
– асинхронными, когда смена состояния счетчика происходит только под воздействием счетных импульсов;
– синхронными, для работы которых необходимы еще и хронирующие сигналы.
Признаки классификации независимы и могут встречаться в различных сочетаниях, скажем, асинхронный двоично-десятичный суммирующий счетчик или бинарный синхронный реверсивный счетчик.
Бинарные суммирующие счетчики
Функцию суммирующего счетчика можно задать такими соотношениями:

где x(t) – элемент потока счетных импульсов; S(t), S(t + 1) Î [0,2n+1–1] – состояния счетчика.
Как видим, с каждым очередным счетным импульсом счетчик переходит из состояния s(t) в состояние s(t)+1.
Ранее мы заметили, что триггер типа T выполняет подсчет по модулю двух единичных сигналов на его информационном входе, т.е. работает как одноразрядный счетчик. Если к выходу такого триггера подключить еще один Т-триггер, последний будет подсчитывать количество единичных состояний первого. Соединив последовательно (n + 1) триггеров типа Т, получим суммирующий бинарный счетчик с основанием K = 2n+1. На рис. 1.32, а показан такой 4-разрядный счетчик. Временные диаграммы и таблица состояний на рис. 1.32, б поясняют работу этого счетчика. Переключение триггеров в счетчике на рис. 1.32, a происходит последовательно. Поэтому счетчик с непосредственным соединением триггеров называют счетчиком с последовательным переносом. На рис. 1.32, в для примера показано УГО ИС 1533ИЕ19, которая содержит два автономных бинарных суммирующих счетчика с последовательным переносом. Достоинством таких счетчиков является предельная простота их структуры и легкость наращивания разрядности. Быстродействие счетчика оценивают максимальной величиной tS,S+1 времени перехода из состояния S в состояние S + 1. Ясно, что период следования счетных импульсов не может быть меньше величины tS,S+1. У счетчика с последовательным переносом все его триггеры переключаются на переходе от S = 2n+1 – 1 к S + 1 = 0 один за другим. Поэтому tS,S+1= (n + 1)tT, т.е. счетчики с последовательным переносом имеют низкое быстродействие. Скажем, счетчик на рис. 2.15, в имеет tS,S+1= 56 нс.

Рис. 1.32. Суммирующий бинарный 4-разрядный счетчик с основанием K = 2n+1, временные диаграммы и таблицы состояний 4-разрядного счетчика; УГО ИС 1533ИЕ19
Радикальным способом повышения быстродействия счетчика является организация одновременного переключения всех тех его триггеров, которые должны изменить свое состояние на переходе из состояния S в состояние S + 1. Рассмотрим, как этого достичь.
Сравним коды соседних состояний счетчика S и S+1. Пусть, например, S = 13021110, тогда S + 1 = 13120100.
Как видим, преобразование кода S в код S + 1 происходит путем инверсии в записи S младшего из нулей и стоящих правее него единиц. В счетчике с последовательным переносом эти инверсии и выполняются последовательно одна за другой. Обозначим сигнал на входе триггера в i-м разряде счетчика в момент времени t как xi(t), i =
. Функция Т-триггера в i-м разряде счетчика определяется соотношением
Qi(t + 1) = Qi(t) Å xi(t),
т.е. Qi(t+ 1) = ùQi(t) при xi(t) = 1. Но значение xi(t) = 1 при x0(t) = 1 можно получить только тогда, когда
Qi-1(t) Ù Qi-1(t) Ù¼Ù Q0(t) = 1.
Другими словами, цепочка разрядов суммирующего счетчика с номерами от 0 до i будет прозрачной для x0(t) = 1 тогда, когда триггеры во всех этих разрядах хранят единицы. Отсюда следует, что
Xi(t) = Qi-1(t) Ù Qi-1(t) Ù¼Ù Q0(t) Ù x0(t), i =
. (1.28)
Если сигнал на Т-входе каждого из триггеров счетчика формировать по формуле (1.28), то все триггеры, которые должны переключиться на переходе от S к S + 1, сработают одновременно, в момент поступления x0(t) = 1. Такой счетчик называют счетчиком с параллельным переносом. Время его переключения не зависит от разрядности и составляет величину
ts,s+1 = tT + tx,
где tx – задержка в схеме формирования сигнала xi(t), i =
.
На рис. 1.33, а приведена функциональная схема 4-разрядного бинарного суммирующего счетчика с параллельным переносом. Как это следует из (1.28), конъюнктор для формирования xi имеет на один вход больше, чем конъюнктор для формирования xi-1. Поэтому разрядность счетчиков с параллельным переносом ограничена числом входов конъюнкторов и редко бывает больше, чем (n + 1) = 4. Для того чтобы можно было собрать счетчик заданной разрядности из нескольких таких малоразрядных счетчиков, они имеют выход CR. Выход СR данного малоразрядного счетчика подключается ко входу +1 следующего, т.е. малоразрядные счетчики (группы) соединяются последовательно, таким образом можно организовать параллельный перенос и между группами.
Рассмотренный счетчик с параллельным переносом (рис. 1.33, а) является асинхронным. В нем триггер младшего разряда переключается прямо счетным импульсом, а остальные триггеры – сигналами с выходов конъюнкторов, т.е. с некоторой задержкой по отношению к срезу счетного импульса. Свободен от такого недостатка синхронный счетчик с параллельным переносом, в котором применены хронируемые T-триггеры (рис. 1.33, б). Здесь сигнал е на потенциальном входе СЕ (разрешение счета) не переключает триггеры, а обеспечивает получение единичных значений на информационных входах тех триггеров, которые должны переключиться на переходе от S к S + 1. А само переключение триггеров происходит одновременно по срезу счетного импульса x0, который подается на вход +1 счетчика, т.е. на синхро-входы всех триггеров.

Рис. 1.33. Функциональная схема 4-разрядного бинарного суммирующего счетчика с параллельным переносом, синхронный счетчик с параллельным переносом и бинарный синхронный 4-разрядный суммирующий счетчик 1554ИЕ10
Обычно счетчики допускают не только асинхронный сброс в состояние S(0) = 0, но и установку регистра в любое исходное состояние 0 £ S(0) £ 2n+1 – 1. Для этого счетчики снабжаются входами для параллельной записи произвольного числа перед началом счета. В качестве примера укажем на бинарный синхронный 4-разрядный суммирующий счетчик 1554ИЕ10 (рис. 1.33, в). Сигналом R = 0 счетчик асинхронно сбрасывается в нулевое состояние. При LE = 0 фронтом импульса на входе +1 код с входов D параллельно записывается в триггеры счетчика. Режим счета импульсов по входу +1 задается комбинацией разрешающих сигналов CE × CRE = 1, а при CE × CRE = 0 счетчик находится в режиме хранения. Для этого счетчика ts,s+1 = 12 нс.
Реверсивные бинарные счетчики
Сначала рассмотрим принцип работы вычитающего счетчика. Для этого сравним коды S и S – 1, например такие:
S = 13120100;
S – 1 = 13021110.
Как видим, код S – 1 получают из кода S путем инверсии в записи S младшей из единиц и стоящих правее нее нулей. Следовательно, если в суммирующем счетчике прозрачной для x0(t) = 1 была цепочка из i младших триггеров, в которых записаны единицы, то в вычитающем счетчике прозрачной для x0(t) = 1 будет группа из i младших триггеров, в которых записаны нули. Поэтому для вычитающего счетчика сигнал на информационном входе триггера i-го разряда должен формироваться так:
. ( 1.29)
А именно, сигналы на T-входах триггеров здесь формируются из сигналов не с прямых, как у суммирующего счетчика, а с инверсных выходов триггеров.
Реверсивный счетчик работает либо в режиме суммирования, либо в режиме вычитания счетных импульсов. На рис. 1.34, а показана функциональная схема 4-разрядного реверсивного счетчика с параллельным переносом. Выходы каждого триггера подключены к мультиплексору, который управляется сигналом u/d (от up/down). При u/d = 1 счетчик работает в режиме суммирования, а при u/d = 0 – в режиме вычитания счетных импульсов. Этот счетчик имеет один вход для счетных импульсов и при их суммировании, и при их вычитании, а для наращивания разрядности у него имеется один выход СR/BR. При S = 15 в режиме суммирования и при S = 0 в режиме вычитания CR/BR = 1.
Находит применение и другой способ управления реверсом счета. Он иллюстрируется примером на рис. 1.34, б. В режиме суммирования счетные импульсы подаются на вход +1, а в режиме вычитания – на вход -1. Подавать счетные импульсы одновременно на оба этих входа нельзя. Счетчик имеет и раздельные выходы CR и BR для наращивания разрядности. Выход CR данной группы подключается ко входу +1, а выход BR – ко входу -1 следующей группы. На рис. 1.34, в показано УГО ИС 1554ИЕ7 – 4-разрядного реверсивного счетчика с раздельными счетными входами. Сигналом R = 1 счетчик асинхронно сбрасывается в состояние 0. Во всех остальных режимах R = 0. Сигналом L = 0 производится запись параллельного кода в счетчик по входам D. При суммировании счетные импульсы подаются на вход +1, а на входе –1 должна быть единица. При вычитании счетные импульсы поступают на вход –1, а единица устанавливается на входе +1. Когда единицы установлены на обоих счетных входах и R = 0, а L = 1, счетчик хранит информацию. Быстродействие счетчика составляет ts…s+1 = 17 нс.



Рис. 1.34. Функциональная схема 4-разрядного реверсивного счетчика с параллельным переносом и схема с раздельными счетными входами, УГО 4-разрядного реверсивного счетчика с раздельными счетными входами
Находит применение и другой способ управления реверсом счета. Он иллюстрируется примером на рис. 1.34, б. В режиме суммирования счетные импульсы подаются на вход +1, а в режиме вычитания – на вход -1. Подавать счетные импульсы одновременно на оба этих входа нельзя. Счетчик имеет и раздельные выходы CR и BR для наращивания разрядности. Выход CR данной группы подключается ко входу +1, а выход BR – ко входу -1 следующей группы. На рис. 1.34, в показано УГО ИС 1554ИЕ7 – 4-разрядного реверсивного счетчика с раздельными счетными входами. Сигналом R = 1 счетчик асинхронно сбрасывается в состояние 0. Во всех остальных режимах R = 0. Сигналом L = 0 производится запись параллельного кода в счетчик по входам D. При суммировании счетные импульсы подаются на вход +1, а на входе –1 должна быть единица. При вычитании счетные импульсы поступают на вход –1, а единица устанавливается на входе +1. Когда единицы установлены на обоих счетных входах и R = 0, а L = 1, счетчик хранит информацию. Быстродействие счетчика составляет ts…s+1 = 17 нс.
Счетчики с произвольным коэффициентом пересчета
Во многих случаях необходимы счетчики с K¹2n+1. Скажем, в различных устройствах цифровой обработки используют двоично-десятичные счетчики с K = 10, в электронных часах – делители с K = (31,30,7, 24,600) и др.
На базе бинарных счетчиков можно создавать счетчики с произвольным коэффициентом K, отвечающим условиям 2n < K £ 2n+1. Рассмотрим два способа построения счетчиков с произвольным коэффициентом пересчета.
Счетчики с исключением младших состояний – счетчики, начальное состояние которых отлично от нулевого (задается специальной схемой сброса в начальное состояние).
Счетчики с исключением младших состояний строят на основе счетчиков с параллельной записью. На рис. 1.35 показано УГО такого счетчика. Перед началом счета сигналом beg = 1 в счетчик по входам D записывается число S(0) = 2n+1 – K.

Рис. 1.35. УГО счетчика с исключением младших состояний
После этого счетчик переключается в режим суммирования счетных импульсов. Таким образом, счет начинается не от нуля, а от S, чем и объясняется название метода. (K–1)-м счетным импульсом счетчик устанавливается в состояние 2n+1 – 1, которое фиксируется значением CR = у = 1. Этим сигналом в счетчик снова заносится число S = 2n+1 – K, и начинается новый цикл счета. Достоинством такого способа получения K¹2n+1 является использование штатного тракта формирования сигнала CR и системы параллельной загрузки счетчика. Кроме того, в данном случае легко получают и переменный модуль пересчета путем изменения величины S(0). Известным недостатком метода исключения младших состояний счетчика является то, что его показания пробегают не естественную последовательность значений 0, 1, 2,...,K – 1, а значения S(0), S(0) + 1, S(0) + 2,..., S(0) + K – 1. Поэтому такие счетчики применяют там, где сами показания счетчика не используются (например в делителях частоты).
Счетчики с исключением старших состояний – счетчики с произвольным коэффициентом пересчета, начальное состояние которых равно 0.
Такие счетчики имеют естественную последовательность состояний. На рис. 1.36, а показана функциональная схема двоично-десятичного счетчика (т.е. у него K = 10), а на рис. 1.36, б – временные диаграммы, поясняющие его работу. В каждом из состояний S = (0,1,...,9) счетчик находится в течение периода следования счетных импульсов. При S = 10 на выходе схемы DD формируется значение у = 0, которым счетчик сбрасывается в нулевое состояние. Длительность пребывания счетчика в состоянии S = 10 составляет
tсбр = tDD + tR,
где tDD – задержка в схеме DD; tR – время срабатывания счетчика по сигналу на асинхронном установочном входе. Считается, что tсбр много меньше периода следования счетных импульсов, и потребитель результатов счета не успевает среагировать на показание S = 10. Ясно, что такое предположение далеко не всегда оправдывается.

Рис. 1.36. Функциональная схема и временные диаграммы двоично-десятичного счетчика
На рис. 1.37, а приведена функциональная схема с исключением всех старших состояний S > K – 1. На рис. 1.37, б показаны временные диаграммы, поясняющие работу такого счетчика.

Рис. 1.37. Функциональная схема и временные диаграммы счетчика с исключением всех старших состояний
Особенностью этого счетчика является использование наряду с последовательностью счетных импульсов x0 еще и последовательности t. Отсчеты t имеют тот же период следования, что и x0, но сдвинуты относительно импульсов x0 на время, меньшее периода их следования. Последователь-ностью t в D-триггер записывается значение сигнала у с выхода дешифратора DC, который фиксирует последнее состояние счетчика S = K – 1. До тех пор, пока это состояние не достигнуто, сигнал с выхода DC у = 0 удерживает триггер в нулевом состоянии. Тем самым счетные импульсы x0 коммутируются на вход +1 счетчика. Достигнув состояния S = K – 1, счетчик пребывает в нем (как и в любом из предыдущих) в течение периода следования счетных импульсов. На этом интервале DC формирует значение у = 1, и оно фиксируется в D-триггере отсчетом t, который следует сразу за (K–1)-м счетным импульсом. В результате очередной K-й счетный импульс подается на R-вход счетчика и сбрасывает его в состояние S = 0. Одновременно на выходе DC получаем значение у = 0. Импульсом t это значение фиксируется в D-триггере, и счетные импульсы снова поступают на вход +1 счетчика.