Счетчики

Счетчиком называется узел для подсчета числа входных сигналов и хранения двоичного кода числа подсчитанных сигналов.

Счетчики – это конечные автоматы, внутреннее состояние которых определяется только количеством сигналов "1", пришедших на выход. Сигналы "О" не изменяют их внутреннего состояния.

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

Модулем счета (или коэффициентом пересчета) Ксч называют количество поступивших на вход единиц, которое возвращает счетчик в исходное состояние.

Элементарными конечными автоматами в счетчиках являются триггеры. Количество триггеров, необходимое для реализации счетчика или пересчетной схемы, равно:

где т – ближайшее большее целое число.

Как и всякие дискретные автоматы, счетчики могут быть асинхронными и синхронными (тактируемыми).

Рассмотрим работу суммирующего счетчика с Ксч = 8. Для синтеза необходимы т = log2Kсч = log28 = 3 триггера, соответствующие трем разрядам двоичного выходного числа. Обозначим Q3 – старший, а Q1 – младший разряды. Выходные сигналы кодируются предельно просто: у3 = Q3, у2 = Q2 и y1 = Q1. Входной сигнал может быть равен только "1", так как нуль не изменяет состояния счетчика, поэтому таблица переключений (табл. 3.16) содержит только х= 1.

Таблица 3.16

1

0

0

0

0

0

1

1

0

0

]

0

1

0

1

0

1

0

0

1

1

1

0

1

1

1

0

0

1

J

0

0

1

0

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

1

1

1

1

0

0

0 – исходное состояние

Из табл. 3.16 видно, что триггер младшего разряда переключается от каждого входного сигнала хt = 1 (нули и единицы в столбцечередуются один за другим). В столбце следующего разряданули и единицы чередуются парами, затем (разряда) – четверками и т.д. (если увеличивать Ксч и число разрядов). Таким образом, частота переключений каждого следующего триггера уменьшается вдвое по сравнению с частотой переключения предыдущего. Следовательно, счетчик можно построить как цепочку последовательно включенных счетных триггеров (см. T-триггер).

На рис. 3.32, а приведена схема суммирующего счетчика, синтезированная на двухступенчатых JK-триггерах, работающих в счетном режиме. Подсчитываемые единицы поступают на вход С первого триггера, а на выходных шинах формируется двоичный код y3y2y1 числа сосчитанных единиц. Триггеры соединены так, что сигнал с прямого выхода предыдущего триггера поступает на вход С последующего. Так как на входы J и К всех триггеров постоянно поданы единицы, каждый триггер переключается в противоположное состояние в момент спада импульса, поданного на его вход С, но после задержки tздi, определяющейся временем переходных процессов в триггере (рис. 3.32, б).

Представление счетчика цепочкой счетных триггеров справедливо как для суммирующего, так и для вычитающего вариантов, поскольку закономерность по отношению частот переключения разрядов сохраняется при просмотре таблицы как сверху вниз (прямой счет), так и снизу вверх (обратный счет). Различия при этом состоят в направлении переключения предыдущего разряда, вызывающего переключение следующего. При прямом счете следующий разряд переключается при переходе предыдущего в направлении 1–0, а при обратном – при переключении 0–1. Следовательно, различие между вариантами заключается в разном подключении входов триггеров к выходам предыдущих. Для реализации вычитающего счетчика на входы С последующих триггеров необходимо подавать сигналы с инверсных выходов предыдущих триггеров.

Рис. 3.32. Асинхронный счетчик с последовательным переносом (а) и временная диаграмма его работы (б)

Схема реверсивного счетчика должна работать в двух режимах – суммирующем и вычитающем. Чтобы сделать счетчик реверсивным, необходимо обеспечить подачу на входы триггеров импульсов либо с прямого, либо с инверсного выхода предыдущего триггера в зависимости от управляющего сигнала. Это легко можно сделать с помощью схемы И-ИЛИ (рис. 3.33).

Счетчики, рассмотренные на рис. 3.32 и 3.33, называют счетчиками с последовательным переносом. Переключение каждого последующего триггера происходит с некоторой задержкой tзд только после того, как переключится предыдущий. В результате задержка накапливается и триггер самого старшего разряда т переключается спустя время t = mtзд Таким образом, время установления кода на выходе счетчика прямо пропорционально его разрядности.

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

Рис. 3.33. Реализация реверсивного счетчика с использованием схем И-ИЛИ для межразрядных связей

Для синтеза счетчика с параллельным переносом обратим внимание на такую закономерность двоичных чисел: изменение старшего разряда на противоположное происходит тогда, когда все предыдущие разряды переходят из состояния "1" в состояние "0". Например, число "семь" в двоичном коде – 0111, а число "восемь" – 1000, число "тридцать один" – 011111, а число "тридцать два" – 100000. Таким образом, чтобы сформировать параллельный перенос, достаточно на информационные входы триггеров подавать конъюнкцию сигналов с выходов всех предыдущих триггеров (если использовать JK-триггеры, то одновременно на два входа J и К), а на синхронизирующие входы всех триггеров – импульсы синхронизации, т.е. Q, = = Q0Q1...Qj-1 Схема синхронного четырехразрядного суммирующего счетчика с параллельным переносом представлена на рис. 3.34. Импульсы синхронизации в этом счетчике становятся счетными импульсами. На входы J и К первого триггера, соответствующего младшему разряду, подается "1".

Рассмотренные счетчики были двоичными, т.е. имели модуль счета, кратный 2". Так, например, все триггеры счетчика на рис. 3.34 перейдут в исходное нулевое состояние после прихода шестнадцатого импульса. Значит, модуль счета этого счетчика Ксч = 16 = 24. У двоичных счетчиков сброс всех триггеров происходит с приходом очередного счетного импульса после того, как триггеры установятся в "1". Очевидно, что могут быть построены счетчики с любым модулем счета. Для этого необходимо обеспечить сброс всех триггеров в "0" после достижения максимально возможного числа. Это возможно осуществить двумя путями. Первый связан с традиционным синтезом счетчика на основе его таблицы переключений, второй – с формированием сигнала управляемого сброса всех триггеров в зависимости от модуля счета. В первом случае схема счетчика будет оригинальной для каждого модуля счета, во втором – типовой, построенной на основе обычных двоичных счетчиков. Для управляемого сброса может быть использован, например, вход R асинхронной установки триггера в нуль. Сигнал управляемого сброса легко сформировать с помощью схемы И. Для этого на ее входы подаются сигналы с прямых или инверсных выходов триггеров в зависимости от того, каков модуль счета. Пусть, например, необходимо синтезировать счетчик с модулем счета Ксч = 12. За основу может быть взят четырехразрядный счетчик. С приходом двенадцатого импульса все триггеры должны быть установлены в "0", значит, максимальное число, хранящееся в счетчике, на единицу меньше, т.е. 11. Двоичный эквивалент числа "11" – 1011. Этому числу соответствуют состояния триггеров. Соответствующие выходы триггеров подаются на четыре входа схемы И. Поскольку сброс должен происходить в момент подачи счетного импульса, необходима пятивходовая схема И, на пятый вход которой подаются счетные импульсы. Таким образом, для синтеза счетчика требуется типовая схема четырехразрядного двоичного счетчика и один конъюнктор на пять входов.

Рис. 3.34. Счетчик с параллельным переносом

На основе счетчиков в системах управления технологическими процессами формируют генераторы линейно изменяющихся напряжений, а также генераторы пилообразных напряжений. Действительно, счетчик обеспечивает суммирование числа поступивших на его вход импульсов – в режиме прямого счета, или вычитание – в режиме обратного счета. Если на вход счетчика импульсы будут поступать равномерно с определенной частотой, значит на выходе будет формироваться линейно нарастающая либо спадающая последовательность кодов. В момент перехода счетчика от кода 11...1 до 00...0 (в режиме прямого счета) или от 00...0 до 11...1 (в режиме обратного счета) на выходе будет формироваться мгновенный скачок. Соединив выходы счетчика с цифроаналоговым преобразователем, получим генератор ступенчато изменяющегося напряжения, величина ступеньки которого будет соответствовать цене деления младшего разряда ЦАП. У современных ЦАП цена деления младшего разряда может составлять несколько милливольт, такая форма напряжения с высокой степенью приближения соответствует линейно изменяющемуся напряжению (рис. 3.35).

Рис. 3.35. Схема генератора линейно изменяющегося и пилообразного напряжения на основе реверсивного счетчика и ЦАП

Крутизна выходного напряжения определяется частотой генератора импульсов. Если использовать генератор с регулируемой переменной частотой, схема будет способна формировать квазилинейное напряжение, скорость нарастания которого может изменяться в самых широких пределах. Наконец, за счет использования реверсивного счетчика можно формировать как нарастающее, так и спадающее напряжения. Команда "Вверх" обеспечивает прохождение импульсов на суммирующий вход, и напряжение будет линейно нарастающим, а команда "Вниз" – на вычитающий вход, формируя ниспадающее выходное напряжение. Скачки напряжения формируются в моменты, соответствующие переполнению и сбросу счетчика. Если такие скачки нужно исключить, с помощью логики формируют запрет на прохождение импульсов при достижении критического значения кода.