Последовательностные функциональные узлы. Триггеры
Цифровое устройство называется последовательностным [1, с.91], если его выходные сигналы зависят не только от текущих значений входных сигналов, но и от последовательности значений входных сигналов, поступивших на входы в предшествующие моменты времени. Поэтому говорят, что такие функциональные узлы "обладают памятью".
Триггер - это логическая схема с положительной обратной связью, которая может находиться только в одном из двух устойчивых состояний, принимаемых за состояние логического нуля и логической единицы.
В отличие от всех рассмотренных ранее комбинационных схем, работа которых определяется только входными сигналами, состояние триггера в текущий момент зависит и от его состояния в предыдущий момент времени. Иными словами, триггер - это схема с запоминанием [2].
RS-триггеры
Простейшая функциональная схема RS - триггера в базисе ИЛИ-НЕ приведена на рис. 7.1,а. Здесь (от англ. Reset - сброс) - вход сброса триггера в состояние логического нуля, S (от англ. Set - устанавливать) - вход установки триггера в логическую единицу, - прямой выход триггера (состояние считается для триггера единичным, а противоположное, при , - нулевым), - инверсный выход триггера.
Очевидно, при наличии двух входных сигналов, возможны 4 варианта работы схемы (табл. 7.1). Начнем анализ с состояний, когда на один из входов подается решающий для элемента ИЛИ-НЕ сигнал логической 1.
Первая такая комбинация: , . является для логического элемента ИЛИ-НЕ решающим сигналом, который переключит нижний элемент схемы на рис. 7.1,а в логический , поэтому . Комбинация и переключит верхний элемент ИЛИ-НЕ в 1: . Таким образом происходит установка триггера - его переключение в единичное состояние.
Вторая комбинация: , . Решающий для ИЛИ-НЕ сигнал переключит выход в нулевое состояние, а сочетание и обеспечит переключение инверсного выхода в состояние . Триггер сброшен - то есть пришел в устойчивое нулевое состояние.
Если на оба входа подать , то состояние триггера будет определяться значениями и , поскольку логический 0 не является решающим для элемента ИЛИ-НЕ. Допустим, ранее триггер был установлен: то есть и . Тогда решающий сигнал будет через положительную обратную связь подан на нижний элемент ИЛИ-НЕ и состояние будет подтверждено. На входы верхнего элемента ИЛИ-НЕ будет подано сочетание сигналов и , поэтому состояние прямого выхода триггера будет подтверждено. Если же триггер был сброшен, то есть было и , тогда решающий сигнал бу дет через положительную обратную связь подан на верхний элемент ИЛИ-НЕ и состояние будет подтверждено. На входы нижнего элемента ИЛИ-НЕ будет подано сочетание сигналов и . Таким образом, триггер хранит ранее записанную информацию.
Рассмотрим последнюю, четвертую комбинацию входных сигналов: , . На входы обоих логических элементов ИЛИ-НЕ поданы решающие сигналы логической единицы, поэтому на выходах обоих элементов будут логические нули, то есть и . Если теперь одновременно подать , то за счет положительных обратных связей на оба логических элемента будут поданы 0, поэтому на выходах ИЛИ-НЕ установятся две решающие логические единицы, которые будут стремиться перевести выход другого ИЛИ-НЕ в логический 0. Кто победит в этом "поединке", зависит от того, в каком из элементов ИЛИ-НЕ переходный процесс закончится раньше. Допустим, в верхнем элементе процесс завершится раньше, тогда подается на вход нижнего элемента ИЛИ-НЕ и приводит к переключению . Таким образом, происходит сброс три ггера. Если же процесс завершится раньше в нижнем элементе, тогда подается на вход верхнего элемента ИЛИ-НЕ и приводит к переключению . Происходит установка триггера. Для пользователя ситуация оказывается непредсказуемой, поскольку определяется разбросом параметров транзисторов, на базе которых выполнены логические элементы, входящие в триггер. В этой связи комбинация приводит к недопустимому неустойчивому состоянию триггера. Она может применяться только при строгой очередности снятия сигналов и .
Для рассматриваемой схемы характерно также и то, что оба элемента триггера переключаются не одновременно, а последовательно друг за другом. Поэтому в ходе переходного процесса переключения триггера в противоположное состояние будут моменты времени, когда и на прямом, и на инверсном выходах будут одинаковые уровни. Это недопустимо по определению, поскольку триггер должен быть либо в устойчивом состоянии логического ( и ), либо в устойчивом состоянии логической ( и ). Поскольку решающим для элементов ИЛИ-НЕ является сигнал логической единицы, в УГО входные управляющие сигналы и являются прямыми.
Функциональная схема простейшего триггера в базисе И-НЕ показана на рис. 7.2.а. Поскольку для функции И-НЕ решающим является сигнал логического нуля, активный уровень входных сигналов будет нулевым (табл. 7.2), что отражается на УГО триггера (рис. 7.2,б) в виде инверсного изображения входов и .
Синхронный RS-триггер
Основное назначение триггера в цифровых схемах - хранить выработанные логическими схемами результаты. Для отсечения еще не установившихся, искаженных переходными процессами результатов между выходом какой-либо логической схемы и входами триггера ставят ключи в виде элементов И-НЕ. Действие этого сигнала аналогично разрешающему сигналу в схеме дешифратора (рис. 4.2 в "Функциональные узлы комбинаторной логики. Дешифраторы" ). На первый и второй логические элементы И-НЕ одновременно поступает синхросигнал (рис. 7.3,а). При неактивном уровне на выходах первого и второго логических элементов И-НЕ будет логическая . Она не является решающей для функции И-НЕ, поэтому триггер на третьем и четвертом элементах будет хранить записанную ранее информацию. Таким образом, триггер не реагирует на изменения входных сигналов при . Если же синхросигнал становится активным ( ), то схема пропускает все переключения входных сигналов и (табл. 7.3). Поскольку входные ключи производят инверсию входных сигналов и , активным их уровнем будет логическая (рис. 7.3,б).
Недостатком схемы остается наличие недопустимой комбинации на входе, при которой получается неустойчивое состояние схемы.