Краткие сведения из теории
Триггер - простейшая цифровая схема последовательностного типа.
Состояние выхода последовательностной схемы (цифрового автомата) зависит еще и от внутреннего состояния схемы Q: Y=F(X,Q).
Другими словами, цифровой автомат является не только преобразователем, но и хранителем предшествующей и источником текущей информации (состояния). Это свойство обеспечивается наличием в схемах обратных связей.
Основой последовательностных схем являются триггеры. Триггер имеет два устойчивых состояния: Q=1 и Q=0, поэтому его иногда называют бистабильной схемой. В каком из этих состояний окажется триггер, зависит от сигналов на входах триггера и от его предыдущего состояния, т. е. он имеет память. Можно сказать, что триггер является элементарной ячейкой памяти.
Тип триггера определяется алгоритмом его работы. В зависимости от алгоритма работы триггер может иметь установочные, информационные и управляющие входы. Установочные входы устанавливают состояние триггера независимо от состояния других входов. Входы управления разрешают запись данных, подающихся на информационные входы. Наиболее распространенными являются триггеры RS, JK, D и Т-типов.
RS-триггер - простейший автомат с памятью, который может находиться в двух состояниях. Триггер имеет два установочных входа: установки S (set -установка) и сброса R (reset - сброс), на которые подаются входные сигналы от внешних источников. При подаче на вход установки активного логического уровня триггер устанавливается в 1 (Q = 1, Q = 0), при подаче активного уровня на вход сброса триггер устанавливается в 0 (Q = О, Q = 1). Если подать на оба входа установки (возбуждения) пассивный уровень, то триггер будет сохранять предыдущее состояние выходов: Q=0 (Q = 1) либо Q=1 (Q = 0). Каждое состояние устойчиво и поддерживается за счет действия обратных связей.
Для триггеров этого типа является недопустимой одновременная подача активного уровня на оба входа установки, т. к. триггер по определению не может одновременно быть установлен в ноль и единицу. На практике подача активного уровня на установочные входы приводит к тому, что это состояние не может быть сохранено и невозможно определить, в каком состоянии будет находиться триггер при последующей подаче на установочные входы сигналов пассивного уровня.
На рис. 1 и 2 показаны два вида RS-триггеров, выполненных на элементах ИЛИ-НЕ и И-НЕ.
Для схемы на рис. 1 активным уровнем является уровень логической единицы, для схемы на рис. 2 - уровень логического нуля. Схема (рис. 2) получила название RS-триггера с инверсными входами - RS-триггер.
Рис. 1 Рис. 2
RS-триггер является основным узлом для построения последовательностных схем. Название схем такого типа «последовательностные» означает, что состояние выхода зависит от того, в какой последовательности на входы подаются входные наборы и каково было предшествующее внутреннее состояние. Так, если в RS-триггере (рис. 1) вначале установить комбинацию R=0, S=1 (сокращенная запись - 01), а потом перейти к R=0, S=0 (00), то состояние выхода Q=1. Если же вначале установить комбинацию 10, а потом перейти к 00, то состояние выхода будет другим - Q=0, несмотря на одинаковые комбинации сигналов на входах. Таким образом, при одном и том же входном наборе 00 выход триггера может находиться в разных состояниях.
Условия переходов триггеров из одного состояния в другое (алгоритм работы) можно описать табличным, аналитическим или графическим способами. Табличное описание работы RS-триггера (рис. 1) представлено в табл. 1 (таблица переходов) и табл. 2 (таблица функций возбуждения).
Таблица 1 Таблица 2
R | S | Qt+1 | Qt | Qt+1 | R | S | |
Qt | x | ||||||
- | x |
В таблицах использованы следующие обозначения:
Qt - предшествующее состояние выхода;
Qt+i- новое состояние, устанавливающееся после перехода (возможно Qt+i= Qt);
х - безразличное значение сигнала: 0 или 1;
- - неопределенное состояние.
Аналитическое описание (характеристическое уравнение) можно получить из табл. 1, 2 по правилам алгебры логики:
.
Зависимость Qt+1от Qtхарактеризует свойство запоминания предшествующего состояния.
Триггер JK-типа имеет более сложную, по сравнению с РS-триггером, структуру и более широкие функциональные возможности. Помимо информационных входов J и К и прямого и инверсного выходов Q и Q1, JK-триггер имеет вход управления С (этот вход также называют тактирующим или счетным), а также асинхронные установочные R- и S-входы. Обычно активными уровнями установочных сигналов являются нули, как в схеме на рис. 2. Установочные входы имеют приоритет над остальными. Активный уровень сигнала на входе 8 устанавливает триггер в состояние Q=1, а активный уровень сигнала на входе R - в состояние Q=0, независимо от сигналов на остальных входах.
Если на входы установки одновременно подать пассивный уровень сигнала, то состояние триггера будет изменяться по фронту импульса на счетном входе в зависимости от состояния входов J и К, как показано в таблицах переходов (табл. 3) и функций возбуждения (табл. 4).
Таблица 3 Таблица 4
J | K | Qt+1 | Qt | Qt+1 | J | K | |
Qt | x | ||||||
Qt | x |
Работа JK-триггера описывается характеристическим уравнением Qt+1=JtQt v QtKt.
Один из вариантов функциональной схемы JK-триггера со входами установки логическим нулем и его условное графическое обозначение (УГО) приведены на рис. 3, 4. Временные диаграммы его работы при R=S=1 приведены на рис. 5.
Рис. 3 Рис. 4
Рис. 5
Подобно RS-триггеру, изменение состояний JK-триггера можно изобразить графом переходов (рис. 6). Входные сигналы, которые могут принимать любые значения (как 0, так и 1), обозначены как X, а позиция обозначения соответствует последовательности J, К.
Рис. 6
Этот рисунок не должен вводить в заблуждение: если Х=1, то при JK=11 схема будет переходить из состояния Q=0 в состояние Q=1. Но из этого состояния схема должна возвратиться в Q=0 и т. д. Этот граф описывает работу автогенератора.
В данном случае все изменения выхода происходят только в момент отрицательного перепада тактового сигнала С. Действительно, если J=K=1, то с каждым новым тактовым импульсом выход будет изменять свое значение на противоположное и триггер будет выполнять функцию делителя частоты на 2, а не автогенератора.
D-триггер имеет один информационный вход D (data - данные). Информация со входа D заносится в триггер по положительному перепаду импульса на счетном входе С и сохраняется до следующего положительного перепада на счетном входе триггера. Помимо счетного С и информационного D входов, триггер снабжен асинхронными установочными R и S входами. Установочные входы приоритетны. Они устанавливают триггер независимо от сигналов на входах С
и D. Функционирование D-триггера описывается таблицей переходов (табл. 5), таблицей функций возбуждения (табл. 6) и диаграммами входных и выходных сигналов (рис. 7).
Таблица 5 Таблица 6
D | Qt+1 | Qt | Qt+1 | D | |
Характеристическое уравнение D-триггера:
Qt+1=Dt.
Уравнение показывает, что состояние триггера на (t+1)-такте равно входному сигналу в момент, предшествующий тактовому перепаду сигнала С. Условное обозначение D-триггера представлено на рис. 8.
Рис. 8
Функциональная схема D-триггера может быть получена из схемы JK-триггера путем подключения входа К ко входу J через инвертор: D=J=K.
На основе JK-триггеров и D-триггеров можно построить схемы, осуществляющие так называемый счетный режим. Такие схемы называют Т-триггерами или счетными триггерами, связывая с этим способ их функционирования. На рис. 9 представлены схемы организации Т-триггера на основе JK- и
D-триггеров. Счетный режим иллюстрируется временными диаграммами на рис. 10.
Рис. 9
Рис. 10
В JK-триггере со входами установки логическим нулем счетный режим реализуется путем подачи констант J=K=1 и R=S=1 и входного сигнала Т на вход С. В соответствии с таблицей функционирования (табл. 3 и 4) при каждом отрицательном перепаде входного сигнала Т состояние триггера изменяет свое значение на противоположное.
В D-триггере счетный режим реализуется при помощи обратной связи (на вход D подается сигнал с инверсного выхода). Таким образом, всегда существует неравенство сигнала на входе D и сигнала на выходе Q: если Q=1, D=0. Следовательно, при каждом положительном перепаде сигнала на счетном входе С, в соответствии с принципом действия D-триггера, состояние выхода будет изменяться на противоположное.
Таким образом, на каждые два входных тактовых импульса Т-триггер формирует один период выходного сигнала Q. Следовательно, триггер осуществляет деление частоты fTна его входе на 2:
fQ=fT/2,
где fQ— частота следования импульсов на выходе триггера.
Счетчик - устройство для подсчета числа входных импульсов. Число, представляемое состоянием его выходов по фронту каждого входного импульса, изменяется на единицу. Счетчик можно реализовать на нескольких триггерах. В суммирующих счетчиках каждый входной импульс увеличивает число на его выходе на единицу, в вычитающих счетчиках каждый входной импульс уменьшает это число на единицу. Наиболее простые счетчики - двоичные. На рис. 11представлен суммирующий двоичный счетчик и диаграммы его работы.
Как уже говорилось ранее, счетчики можно реализовать на триггерах. При этом триггеры соединяют последовательно. Выход каждого триггера непосредственно действует на тактовый вход следующего. Для того, чтобы реализовать суммирующий счетчик, необходимо счетный вход очередного триггера подключать к инверсному выходу предыдущего. Для того, чтобы изменить направление счета (реализовать вычитающий счетчик), можно предложить следующие способы:
|
1. Считывать выходные сигналы счетчика не с прямых, а с инверсных выходов триггеров. Число, образуемое состоянием инверсных выходов триггеров счетчика, связано с числом, образованным состоянием прямых выходов триггеров следующим соотношением:
NПР= 2n- NИHB- l,
где n - разрядность выхода счетчика. В табл. 11 приведен пример связи числа на прямых выходах с числом на инверсных выходах триггеров счетчика.
2. Изменить структуру связей в счетчике: подавать на счетный вход следующего триггера сигнал не с инверсного, а с прямого выхода предыдущего, как показано на рис. 12. В этом случае изменяется последовательность переключения триггеров.
Таблица 11
Состояние прямых входов | Число | Состояние инверсных входов | Число | ||||
Q3 | Q2 | Q1 | N | Q3’ | Q2’ | Q1’ | N |
Рис. 12
Счетчики характеризуются числом состояний в течение одного периода (цикла). Для схем на рис. 11 и 12 цикл содержит N = 23= 8 состояний (от 000 до 111). Часто число состояний называют коэффициентом пересчета Ксч, который равен отношению числа импульсов nc на входе к числу импульсов на выходе старшего разряда за период:
Если на вход счетчика подавать периодическую последовательность импульсов с частотой fc, то частота Fq на выходе старшего разряда счетчика будет меньше в Ксч раз.
Поэтому счетчики также называют делителями частоты, а величину Ксч - коэффициентом деления. Для увеличения величины Ксч приходится увеличивать число триггеров в цепочке. Каждый дополнительный триггер удваивает число состояний счетчика и число Ксч. Для уменьшения коэффициента Ксч можно в качестве выхода счетчика рассматривать выходы триггеров промежуточных каскадов. Например, для счетчика на трех триггерах Ксч=8, если взять выход второго триггера, то Ксч=4. При этом Ксч является целой степенью числа 2: 2, 4, 8, 16 и т. д.
Можно реализовать счетчик, для которого Ксч - любое целое число. Например, для счетчика на трех триггерах можно сделать Ксч от 2 до 7, но при этом один или два триггера могут быть лишними. При использовании всех трех триггеров можно получить Ксч =5-7: 22< Ксч <23. Счетчик с Ксч =5 должен иметь пять состояний, которые в простейшем случае образуют последовательность: {0, 1, 2, 3, 4}. Циклическое повторение этой последовательности означает, что коэффициент деления счетчика равен 5.
Для построения суммирующего счетчика с Ксч=5 надо, чтобы после формирования последнего числа из последовательности {0, 1, 2, 3, 4} счетчик переходил не к числу 5, а к числу 0. В двоичном коде это означает, что от числа 100 нужно перейти к числу 000, а не 101. Изменение естественного порядка счета возможно при введении дополнительных связей между триггерами счетчика. Можно воспользоваться следующим способом: как только счетчик попадает в нерабочее состояние (в данном случае 101), этот факт должен быть опознан и повлечь последующую выработку сигнала, который перевел бы счетчик в состояние 000. Рассмотрим этот способ более детально.
Факт попадания счетчика в нерабочее состояние описывается логическим уравнением
Состояния 110 и 111 также являются нерабочими и поэтому учтены при составлении уравнения. Если на выходе эквивалентной логической схемы F = 0, значит счетчик находится в одном из рабочих состояний: 0v1v2v3v4. Как только он попадает в одно из нерабочих состояний 5v6v7, формируется сигнал F = 1. Появление сигнала F = 1 должно переводить счетчик в начальное состояние 000, следовательно, этот сигнал нужно использовать для воздействия на установочные входы триггеров счетчика, которые осуществляли бы сброс счетчика в состояние Qi = Qg = Qs = 0. При реализации счетчика на триггерах со входами установки логическим нулем для сброса триггеров требуется подать на входы сброса сигнал R=0. Для обнаружения факта попадания в нерабочее состояние используем схему, реализующую функцию F и выполненную на элементах И-НЕ. Для этого преобразуем выражение для функции
Соответствующая схема реализации приведена на рис.13.
Счетчик будет работать следующим образом: при счете от 0 до 4 все происходит как в обычном суммирующем счетчике с Ксч =8. Установочные сигналы равны 1 и естественному порядку счета не препятствуют. Счет происходит по положительному фронту импульса на счетном входе С. В тот момент, когда счетчик находится в состоянии 4 (100), следующий тактовый импульс сначала переводит счетчик в состояние 5 (101), что немедленно (задолго до прихода следующего тактового импульса) приводит к формированию сигнала сброса, который поступает на установочные входы сброса триггеров. В результате счетчик сбрасывается в 0 и ждет прихода следующего тактового импульса на счетный вход. Один цикл счета закончился, счетчик готов к началу следующего цикла.
Применяя такие схемы с обратной связью для сброса счетчика, нужно иметь в виду, что операция сброса занимает конечное время, поэтому непосредственно перед сбросом счетчика в 0 на выходе первого триггера появляются кратковременные импульсы, или «иголки». Это не имеет значения при подключении счет-
Рис. 13 Рис. 14
чика напрямую к индикатору, но при 1 пользовании этого выхода счетчика в качестве источника тактовых импульсов могут возникнуть определенные проблемы. Схема, в которой это явление устранено, приведена на рис. 14. Важным отличием является то, что схема обнаруживает не факт попадания в нерабочее состояние 101, а факт попадания в состояние 100 и в следующем такте вырабатывает сигнал сброса.
Рабочее задание