СЧЕТЧИКИ
Общие сведения.
Счетчик - цифровое устройство, осуществляющее счет числа появлений на входе определенного логического уровня. В дальнейшем во всех случаях, когда это не оговаривается специально, будем полагать, что счетчик производит подсчет числа содержащихся во входном сигнале переходов с уровня лог. 0 к уровню лог. 1. При импульсном представлении логических переменных уровню лог. 1 соответствует импульс, и счетчик ведет счет поступающих на вход импульсов.
Числа в счетчике представляются определенными комбинациями состояний триггеров. При поступлении на вход очередного уровня лог. 1 в счетчике устанавливается новая комбинация состояний триггеров, соответствующая числу, на единицу большому предыдущего числа. Таким образом, счетчик представляет собой логическое устройство последовательностного типа, в котором новое состояние определяется предыдущим состоянием и значением логической переменной на входе.
Для представления чисел в счетчике могут использоваться двоичная или десятичная системы счисления. При использовании двоичной системы состояния триггеров и соответствующие им уровни на прямых выходах триггеров определяют цифры двоичных разрядов числа. Если для регистрации двоичного числа в счетчике используется n триггеров, то максимальное значение числа, до которого может вестись счет, N = 2n - 1. Так, при n = 4 N = l5. На рис. 8.40 показаны вход и выходы счетчика (без раскрытия схемы счетчика), а в табл. 8.19 приведено состояние триггеров, соответствующее различному числу поступивших на вход импульсов.
При использовании десятичной системы счисления цифры разрядов десятичного числа в счетчике представляются в четырехразрядной двоичной форме, т. е. используется двоично-кодированная десятичная система счисления. Таким образом, для представления цифр каждого разряда десятичного числа требуется четыре триггера, и если число десятичных разрядов k, то число триггеров, необходимое для регистрации чисел в счетчике равно 4k, а максимальное значение чисел N = 10k - 1. В табл. 8.20 показана последовательность состояний триггеров в двухразрядном десятичном счетчике, приведенном на рис. 8.41.
|
Таблица 8.19 | |||||||||
Число поступивших импульсов | Состояние триггеров | Число поступивших импульсов | Состояние триггеров | ||||||
Q4 | Q3 | Q2 | Q1 | Q4 | Q3 | Q2 | Q1 | ||
Наряду с суммирующими счетчиками, в которых в процессе счета каждое очередное число на одну единицу превышает предыдущее, используются и такие счетчики, в которых в процессе счета числа последовательно убывают (эти счетчики называются вычитающими). Находят применение счетчики, которые допускают в процессе работы автоматическое переключение (реверс) из режима суммирующего счетчика в режим вычитающего счетчика, и наоборот. Такие счетчики называют реверсивными. Хотя для построения счетчиков могут использоваться любые типы триггеров, на которых может быть организован счетный вход, в дальнейшем будем пользоваться только одним типом, JK-триггерами.
|
Таблица 8.20 | ||||||||
Число поступивших импульсов | Состояние триггеров | |||||||
Q24 | Q23 | Q22 | Q21 | Q14 | Q13 | Q12 | Q11 | |
... | ... | ... | ... | ... | ... | ... | ... | ... |
... | ... | ... | ... | ... | ... | ... | ... | ... |
Суммирующие двоичные счетчики.
рис 8.41
В суммирующем счетчике поступление на вход очередного уровня лог. 1 (очередного импульса) вызывает увеличение на одну единицу хранимого в счетчике числа. Таким образом, в счетчике устанавливается число, которое получается путем суммирования предыдущего значения с единицей. Это суммирование проводится по обычным правилам выполнения операций сложения в двоичной системе счисления. Например,
Заметим, что в процессе такого суммирования имеют место следующие особенности:
1. если цифра некоторого разряда остается неизменной либо изменяется с 0 на 1, то при этом цифры более старших разрядов не изменяются;
2. если цифра некоторого разряда изменяется с 1 на 0, то происходит инвертирование цифры следующего за ним более старшего разряда.
Этот принцип использован при построении схемы счетчика, представленной на рис. 8.42,а. В построении схемы имеются следующие особенности:
|
1. входы J и K в каждом триггере объединены и на эти входы подан уровень лог. 1, таким образом, в каждом триггере синхронизирующий вход С является счетным входом триггера;
2. сигнал с прямого выхода триггера каждого разряда поступает на счетный вход С триггера следующего более старшего разряда, а на счетный вход триггера 1-го разряда Тг1 подаются входные просчитываемые импульсы.
рис 8.42
Если на счетном входе С триггера действует импульс, то его положительным фронтом переключается ведущая часть триггера, на отрицательном фронте - ведомая его часть. Итак, при каждом изменении сигнала на счетном входе с уровня лог. 1 на уровень лог. 0 изменяется на противоположное состояние выхода триггера. Таким образом, на отрицательном фронте сигнала на выходе триггера происходит переключение следующего за ним триггера более старшего разряда. На рис. 42,б показана временная диаграмма работы данного счетчика.
С каждым входным импульсом число в счетчике увеличивается на единицу. Такое нарастание числа происходит до тех пор, пока после (2n - 1)-го входного импульса (n - число разрядов в счетчике) не установится в счетчике двоичное число 11...1. Далее с приходом 2n-го импульса в счетчике устанавливается исходное состояние 00... 0, после чего счет ведется сначала. Таким образом, при непрерывной подаче на вход импульсов счетчик циклически с периодом в 2n входных импульсов сбрасывается в исходное состояние.
Рассмотренная схема счетчика имеет следующие недостатки. Пусть первые k триггеров младших разрядов счетчика установлены в состояние лог. 1 и на вход счетчика поступает очередной импульс. При этом будет происходить процесс последовательного переключения триггеров. Если x - время переключения триггера, то относительно отрицательного фронта входного импульса первый триггер переключится с задержкой x, второй триггер переключается с задержкой x относительно отрицательного фронта сигнала на выходе первого триггера и с задержкой 2x относительно отрицательного фронта входного импульса и т. д. Следовательно, задержка в переключении k-го триггера составит kx. При большом числе разрядов задержка в переключении триггера старшего разряда может оказаться недопустимо большой. Ниже рассматриваются способы уменьшения этой задержки и, таким образом, увеличения быстродействия счетчика.
Для дальнейшего удобнее описывать процесс суммирования с помощью логических выражений.
Пусть a1,..., аn - цифры разрядов числа до суммирования; cl,..., сn - цифры разрядов числа, получаемого в результате суммирования с единицей; pi - значение переноса, формируемого в (i - 1)-м разряде счетчика и передаваемого в 1-й разряд.
Функционирование i-го разряда счетчика можно описать таблицей истинности (табл. 8.21).
Поступление лог. 1 на вход счетчика можно представить переносом pl = l, подаваемым на первый разряд счетчика. Из таблицы истинности следует:
1. устанавливающееся в i-м разряде значение ci = ai i \/ ipi может быть получено путем подачи переноса pi на счетный вход триггера i-го разряда, хранившего значение ai,
2. перенос, передаваемый в (i + l)-й разряд, pi+1 = aipi. Так как p1 = 1 то р2 = a1.
Таблица 8.21 | |||
ai | pi | ci | pi+1 |
Схема счетчика, в разрядах которого реализуются приведенные логические выражения, дана на рис. 8.43,а. Объединенные информационные входы J и К в триггерах разрядов счетчика образуют счетные входы, на которые подаются поступающие в разряды переносы. Подлежащие счету импульсы подаются на входы синхронизации триггеров. При этом если на счетный вход триггера поступает перенос, равный лог. 1, то входной импульс переводит триггер в новое состояние. В противном случае в триггере сохраняется прежнее состояние. Для формирования переносов использованы элементы И. Цепь установки 0 используется для начальной установки в состояние 0 триггеров всех разрядов счетчика.
На рис. 8.43,б представлены временные диаграммы работы счетчика. На переднем фронте входного импульса триггер принимаете поданное на его информационные входы значение переноса, затем при спаде входного импульса на выходе триггера устанавливается новое значение. С каждым входным импульсом число в счетчике увеличивается на единицу.
В данной схеме устранен недостаток предыдущей схемы счетчика. Отрицательным фронтом входного импульса одновременно переключаются те триггеры, на входы которых в данный момент поступает сигнал переноса pi = l. Таким образом может быть обеспечено более высокое быстродействие, чем в предыдущей схеме.
Фактором, ограничивающим быстродействие данной схемы счетчика, является последовательное формирование переносов.
рис 8.43
Формирование переноса в i-м разряде начинается с момента завершения формирования переноса в предыдущем (i - 1)-м разряде и поступления сформированного переноса из (i - 1)-го в i-й разряд. При этом i-й разряд выдает перенос в следующий (i + l)-й разряд с задержкой относительно момента поступления переноса в i-й разряд. Эта задержка связана с задержкой распространения сигнала в элементе Иi. Таким образом, процесс продвижения переносов вдоль разрядов в счетчике последовательный (из разряда в разряд) и в каждом разряде имеет место задержка. Общее время задержки распространения переносов xпер определяется задержкой в одном разряде xпер1 и числом разрядов, через которые проходят переносы.
В наихудшем случае, когда переносы последовательно проходят через все разряды счетчика (начиная со второго), общая задержка xпер = xпер1(n - 1).
После переключения триггеров под действием предыдущего импульса, поданного на вход счетчика, только через время xпер на входах триггеров оказываются сформированными переносы и может быть подан очередной импульс на вход счетчика. Таким образом, временем xпер ограничивается минимальный временной интервал между входными импульсами, и xпер ограничивает максимальную частоту подачи импульсов на вход, т. е. быстродействие счетчика.
В тех случаях, когда необходимо обеспечить высокое быстродействие, применяют меры к уменьшению xпер. Уменьшение xпер может быть обеспечено применением в цепи передачи переносов элементов И с малым временем задержки распространения сигнала, а также использованием в счетчике последовательно- параллельной цепи передачи переносов. Рассмотрим принцип организации такой последовательно-параллельной передачи переносов.
Запишем логические выражения, по которым формируются переносы в разрядах счетчика
p3 = a2 . p2; p4 = а3 . p3; p5 = a4 . p4; p6 = a5 . p5;...
Подставляя выражения р3, р5,... в выражения p4, р6,... получаем
p3 = а2 . p2; p4 = а3 . a2 . p2; p5 = a4 . p4; p6 = a5 . a4 . p4;...
При использовании этих выражений перенос p2 выхода первого разряда одновременно поступает во второй и третий разряды, участвуя в формировании р3 и p4. Аналогично р4 передается одновременно в четвертый и пятый разряды и участвует в формировании р5 и p6 и т. д.
Очевидно, при этом примерно вдвое уменьшается число разрядов, через которые переносы передаются последовательно, уменьшается xпер. На рис. 44 приведена схема счетчика, в которой цепь передачи переносов построена в соответствии с приведенными выше логическими выражениями.
Развивая этот принцип, можно записать следующие логические выражения для переносов:
p3 = a2 . p2; p4 = а3 . a2 . p3; p5 = a4 . a3 . a2 . p2;
p6 = a5 . p5; p7 = a6 . a5 . p5; p8 = a7 . a6 . a5 . p5,...
рис 8.44
рис 8.45
Схема счетчика на рис. 45 построена с использованием этих выражений. Такой счетчик обеспечивает еще большее снижение xпер.
Следует иметь в виду, что использование рассмотренного принципа повышения быстродействия вызывает усложнение схемы счетчика, связанное с использованием в цепи передачи переносов элементов И с большим числом входов.