Описание триггеров в терминах сигналов

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

Сигналы не являются всеобщей заменой 1 и 0 для всех случаев. На нашем канале есть десятки лекций, где они необходимы для расчетов, например, ДНФ, карты Карно и т.п. Однако в некоторых случаях, например при описании триггеров, единицы и нули затуманивают смысл, порождая конструкции типа Q (t+1) и им подобные. Все читатели, считающие, что 1 и 0 — единственный способ описания логических схем, можете не читать дальше, дабы не травмировать психику :), но перед этим ответьте себе на 3 вопроса: Почему R (сброс) счетчиков выполняют всегда прямым входом, почему вход CS (chip select) всегда инверсный и какой логический уровень (1 или 0) имеет сигнал на неподключенном входе?

Для всех остальных приступим. В общем случае напряжение на входе логического элемента непрерывно изменяется и имеет вид:

рис.1 Напряжение на входе и входы, реагирующие на разные части импульса

рис. 1 Напряжение на входе и входы, реагирующие на разные части импульса

Напряжение ниже и выше красных линий обозначают логическими уровнями 1 и 0, однако есть и переходы между ними: передний и задний фронты. Под графиком напряжения размещены изображения входов логических схем, РЕАГИРУЮЩИХ, на соответствующую часть импульса. Таким образом, у реальных логических элементов 4 вида входов.

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

Перейдем к триггерам.
Триггер — это устройство, которое в отсутствии входных сигналов может бесконечно долго находиться в одном из двух устойчивых состояний.
Говорят, что триггер установлен, если на его выходах есть сигналы и сброшен, если сигналы на его выходах отсутствуют

рис2 Базовый узел триггера и 2 RS триггера с разными типами входов

рис2 Базовый узел триггера и 2 RS триггера с разными типами входов

На рис 2 представлены простейшие триггеры на схемах 2ИЛИ-НЕ и 2И-НЕ, отличающиеся только типами входов, но не принципом работы. Везде далее мы будем говорить о триггерах, игнорируя конкретный вид входов, описывая их работу одним предложением.

RS триггер

RS триггер

RS триггер — триггер, который устанавливается по сигналу на входе «S»(set — установить) и сбрасывается по сигналу на входе «R»(reset — сбросить).

D триггер

D триггер

D триггер — триггер, устанавливающий свое состояние в соответствии с входом D
в момент прихода сигнала на вход С.

Т триггер

Т триггер

T триггер — триггер, который изменяет свое состояние по каждому сигналу на входе Т.

Синхронный RS триггер

Синхронный RS триггер

Синхронный RS триггер — триггер, который устанавливается по сигналам S&C и сбрасывается по сигналам R&C.

JK  триггер

JK триггер

JK триггер — триггер со входами J, K, С, срабатывает только по сигналу на входе С,
работает аналогично синхронному RS триггеру, а при J=1 & K=1 переключается как Т триггер.

Аналогичным образом можно описать и другие виды триггеров, вне зависимости от количества выходов (1 или 2) и прямых или инверсных входов.
Человеку гораздо проще оперировать одним предложением чем объемными таблицами истинности при описании таких простых элементов.

Если Вы дочитали до этого места, можете посмотреть краткое видео на нашем канале, в котором, в частности, показано как поэкспериментировать с такими элементами на простом симуляторе.

© Habrahabr.ru