Видео: YouTube
Элемент памяти, называемый триггером представляет собой довольно интересную конструкцию.
В одном из вариантов это две функции Стрелка Пирса, соединенные между собой через обратные связи. Это то, что придает привычным вещам весьма необычные свойства. Триггер при воздействии нулей на его входы R и S может находиться в одном из двух стабильных состояний. Это состояние ноль на выходе Q и состояние один на выходе Q. Выход Q определяет состояние триггера. При этом на выходе не Q наблюдается сигнал, противоположный Q.
Действительно, если рассмотреть схему вместе с таблицами истинности, то по всей цепочке распространения сигнала мы не увидим никаких противоречий.
Вход R называется Reset или Сброс. Вход S называется Set или Установка. При включении питания состояние триггера может быть установлено случайным образом или в ноль или в единицу. Чуть позже коснемся подробнее этой темы, но случайность состояния триггера может приводить к ошибкам. Например, к так называемому использованию неинициализированной памяти.
Пошагово рассмотрим все режимы работы триггера.
Режим хранения
Начальное его состояние обозначим в таблице как Q прошлое. Как мы помним, состояний может быть два. Назовем любую единицу на входе триггера воздействием на него. Ноль это отсутствие воздействия. Для начала убираем всякое воздействие на триггер и видим, что состояние триггера не меняется.
Это полезный режим работы. Называется он — режим хранения.
Режим установки
Дальше воздействуем на триггер через вход установки. В этом случае состояние триггера установится в единицу какое бы состояние не было начальным. Этот полезный режим называется установкой.
Режим сброса
Теперь воздействуем на элемент памяти через вход Reset. Как можно заметить, из любого прошлого состояния триггер переходит в нулевое состояние и этот полезный режим работы называется режим сброса.
Запрещенное состояние
Ради интереса выставим на входы все единицы одновременно. В большинстве учебников это состояние называется запрещенным, хотя ничего запрещенного в нем нет.
Просто в этом режиме нет никакой пользы. Рассмотренный триггер называется RS триггером по названию входных линий. Он является простым элементом памяти и служит основой для чуть более сложного.
D триггер
Немного улучшений в RS триггер придадут ему еще больше полезности. Для начала снабдим его управляющим входом C. Как можно заметить, этот вход через коньюнкцию отрывает ячейку памяти от внешних воздействий. Таким образом, без единицы на входе C триггер будет продолжать хранить информацию что бы ни происходило на входах. Такой триггер назовем синхронным RS триггером. Дальше оставим один вход D. Причем инвертируем его для подачи в то место где был сброс, оставим без изменения для подачи в то место, где была установка.
Вот тут произойдет самое интересное. Теперь мы имеем возможность сохранять состояние сигнала D, это произойдет при подаче единицы на вход C. Действительно, если D было равно единице, то произойдет установка триггера. Если на D ноль, то произойдет сброс. Такой триггер называется D триггером.
Настоящий D триггер, используемый в цифровой схемотехнике работает не просто с высоким уровнем входа C, а в момент смены состояния уровня синхронного входа. В этом случае достигается максимальная синхронность., ведь сам момент смены это высокоскоростной физический процесс, который происходит за миллиардные доли секунды, учитывая все современные достижения науки и техники.
Как можно заметить, D триггер теперь состоит из двух, но управляющий вход C в один из них приходит с инверсией, в другой в неизменном состоянии. Это позволяет при нулевом уровне C записать один бит в зеленую половину, но как только состояние C сменится на единицу, то содержимое зеленой половины запишется в красную. Такую работу называют работой триггера по переднему фронту тактирующего сигнала. Если инвертор перенести в красную часть, то триггер станет работать по заднему фронту тактирующего сигнала.
Параллельный регистр
В завершении нашего обзора стоит упомянуть, что соединять D триггеры можно как параллельно, так и последовательно. Если необходимо хранить не один бит, а двоичные коды из множества бит, то применяют параллельное соединение. Его называют регистром.
У косой черты обычно указывают сколько бит может хранить такая схема.
Сдвиговый регистр
Очень часто необходимо организовать последовательное движение бит один за одним. В этих задачах применяются последовательные соединения D триггеров.
Теперь у такой схемы на входе не двоичное слово, а один бит, но на выходе можно считать несколько хранящихся там бит одновременно. Обычно число таких бит написано около косой черты. Самое яркое применение такой конструкции это простая бегущая строка.