Счётчик (электроника)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Двухразрядный двоичный асинхронный суммирующий счётчик с последовательной организацией переноса на JK-триггерах. Наклонная черточка на C-входе JK-триггеров указывает, что изменение состояния триггеров происходит по фронту сигнала.
4-х битный синхронный параллельный счётчик с ускоренным переносом использующий JK-триггеры

Счётчик числа импульсов — устройство, на выходах которого получается двоичный (двоично-десятичный) код, определяемый числом поступивших импульсов. Счётчики могут строиться на двухступенчатых D-триггерах, T-триггерах и JK-триггерах.

Основной параметр счётчика — модуль счёта — максимальное число единичных сигналов, которое может быть сосчитано счётчиком. Счётчики обозначают через СТ (от англ. counter).

Классификация[править | править вики-текст]

Счётчики классифицируют:

  • по числу устойчивых состояний триггеров
    • на двоичных триггерах
    • на троичных триггерах[1]
    • на n-ичных триггерах
  • по модулю счёта:
    • двоично-десятичные (декада);
    • двоичные;
    • с произвольным постоянным модулем счёта;
    • с переменным модулем счёта;
  • по направлению счёта:
    • суммирующие;
    • вычитающие;
    • реверсивные;
  • по способу формирования внутренних связей:
    • с последовательным переносом;
    • с ускоренным переносом;
      • с параллельным ускоренным переносом;
      • со сквозным ускоренным переносом;
    • с комбинированным переносом;
    • кольцевые;
  • по способу переключения триггера:
    • синхронные;
    • асинхронные;
  • Счётчик Джонсона[2]

Двоичные счетчики[править | править вики-текст]

Схему двоичного счетчика можно получить с помощью формального синтеза, однако более наглядным путем представляется эвристический. Таблица истинности двоичного счетчика — последовательность двоичных чисел от нуля до 2^n-1, где n - разрядность счётчика. Наблюдение за разрядами чисел, составляющих таблицу, приводит к пониманию структурной схемы двоичного счетчика. Состояния младшего разряда при его просмотре по соответствующему столбцу таблицы показывают чередование нулей и единиц вида 01010101..., что естественно, т. к. младший разряд принимает входной сигнал и переключается от каждого входного воздействия. В следующем разряде наблюдается последовательность пар нулей и единиц вида 00110011... . В третьем разряде образуется последовательность из четверок нулей и единиц 00001111... и т.д. Из этого наблюдения видно, что следующий по старшинству разряд переключается с частотой, в два раза меньшей, чем данный.

Известно, что счетный триггер делит частоту входных импульсов на два. Сопоставив этот факт с указанной выше закономерностью, видим, что счетчик может быть построен в виде цепочки последовательно включенных счетных триггеров. Заметим, кстати, что согласно ГОСТу входы элементов изображаются слева, а выходы справа. Соблюдение этого правила ведет к тому, что в числе, содержащемся в счетчике, младшие разряды расположены левее старших.

Двоичные счетчики с параллельным переносом[править | править вики-текст]

Выше рассмотрены схемы двоичных последовательных счетчиков, то есть таких счетчиков, в которых при изменении состояния определенного триггера возбуждается последующий триггер, причем триггеры меняют свои состояния не одновременно, а последовательно. Если в данной ситуации должны изменить свои состояния n триггеров, то для завершения этого процесса потребуется n интервалов времени, соответствующих времени изменения состояния каждого из триггеров. Такой последовательный характер работы является причиной двух недостатков последовательного счетчика: меньшая скорость счета по сравнению с параллельными счетчиками и возможность появления ложных сигналов на выходе схемы. В параллельных счетчиках синхронизирующие сигналы поступают на все триггеры одновременно.

Последовательный характер переходов триггеров счетчика является источником ложных сигналов на его выходах. Например, в счетчике, ведущем счет в четырёхразрядном двоичном коде с «весами» 8-4-2-1, при переходе от числа 7_{10} = 0111_2 к числу 8_{10} = 1000_2 на выходе появится следующая последовательность сигналов:

0111 ->ð 0110 ->ð 0100 ->ð 0000 ->ð 1000

Это означает, что при переходе из состояния 7 в состояние 8 на входах счетчика на короткое время появятся состояния 6; 4; 0. Эти дополнительные состояния могут вызвать ложную работу других устройств, например, если к такому счетчику подключён дешифратор, то на его выходах 0, 4, 6 могут кратковременно возникнуть активные состояния, которые могут ложно изменить состояния подключенных к ним триггеров — это явление называется логическими «гонками» или «гонками сигналов». Исключить гонки можно, применяя счетчики с соседним или противогоночным кодированием состояний, например, считающие в рефлексивном коде Грея.

С целью уменьшения времени протекания переходных процессов можно реализовать счетчик в варианте с подачей входных импульсов одновременно на все триггеры. В этом случае получим счетчик с параллельным переносом.

По схемам счетчиков всегда строятся счетчики, задержка переключения одного триггера у которых соизмерима с периодом считаемых импульсов. Пример. Задержка переключения одного триггера 30 нс, и если мы построим счетчик более, чем 4-хразрядный, то при периоде счетных импульсов 120 нс могут начаться сбои счета, перенос не успевает распространиться по цепочке триггеров до прихода очередного счетного импульса.

Здесь на информационные входы триггеров подаются сигналы, являющиеся логической функцией состояния счетчика и определяющие конкретные триггеры, которые изменяют свое состояние при данном входном импульсе. Принцип стробирования сводится к следующему: триггер меняет свое состояние при пропускании очередного импульса синхронизации, если все предыдущие триггеры находились в состоянии логической единицы.

Параллельные счетчики имеют более высокое быстродействие по сравнению с последовательными, поскольку синхронизирующие импульсы поступают на все триггеры одновременно.

Максимальным быстродействием обладают синхронные счетчики с параллельным переносом, структуру которых найдем эвристически, рассмотрев процессы прибавления единицы к двоичным числам и вычитания её из них.

Счетчики с последовательно-параллельным переносом[править | править вики-текст]

В связи с ограничениями на построение счетчиков с параллельным переносом большой разрядности широкое распространение получили счетчики с групповой структурой, или счетчики с последовательно-параллельным переносом. Разряды таких счетчиков разбиваются на группы, внутри которых организуется принцип параллельного переноса. Сами же группы соединяются последовательно с использованием конъюнкторов, формирующих перенос в следующую группу при единичном состоянии всех триггеров предыдущих. При единичном состоянии всех триггеров группы приход очередного входного сигнала создаст перенос из этой группы. Эта ситуация подготавливает межгрупповой конъюнктор к прямому пропусканию входного сигнала на следующую группу.

В наихудшем для быстродействия случае, когда перенос проходит через все группы и поступает на вход последней,

tУСТ = t • (ĺ — 1) + tГР,

где ĺ — число групп, tГР — время установления кода в группе.

В развитых сериях ИС обычно имеется по 5…10 вариантов двоичных счетчиков, выполненных в виде 4-хразрядных групп (секций). Каскадирование секций может выполняться путем их последовательного включения по цепям переноса, организации параллельно-последовательных переносов или для более сложных счетчиков с двумя дополнительными управляющими входами разрешения счета и разрешения переноса путем организации параллельных переносов и в группах, и между ними.

Особенностью двоичных счетчиков синхронного типа является наличие ситуаций с одновременным переключением всех его разрядов (например, для суммирующего счетчика при переходе от кодовой комбинации 11…1 к комбинации 00…0 при переполнении счетчика и выработке сигнала переноса). Одновременное переключение многих триггеров создает значительный токовый импульс в цепях питания ЦУ и может привести к сбою в их работе. Поэтому в руководящих материалах по использованию некоторых БИС/СБИС программируемой логики, в частности, имеется ограничение на разрядность двоичных счетчиков заданной величиной k (например, 16). При необходимости применения счетчика большей разрядности рекомендуется переходить к коду Грея, для которого переходы от одной кодовой комбинации к другой сопровождаются переключением всего одного разряда. Правда, для получения результата счета в двоичном коде придется использовать дополнительно преобразователь кода, но это является платой за избавление от токовых импульсов большой интенсивности в цепях питания.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]