Практическое использование триггера
Получив общее представление, что такое триггеры, рассмотрим некоторые примеры их практического использования. Один пример – устранение дребезга контактов с использованием RS-триггера рассмотрен выше.
Одна из основных функций, для выполнения которых активно используются триггеры – формирование сигнала, у которого длительность соответствует длительности какого-либо выполняемого процесса (операции) в схеме. Выходной сигнал играет двойственную роль:
служит сигналом, разрешающим начало операции (процесса)
служит информирующим сигналом для других узлов (устройств) о том, что операция (процесс) начались. Такую функцию триггера принято называть «флагом процеса».
Выходной сигнал триггера при этом может разрешать этот самый процесс, а может информировать остальные узлы устройства о том, что процесс идет (или, как говорят, служить флагом процесса). На схеме ниже приведен пример подобной работы
Рис.18. Триггер в качестве флага процесса
В момент прихода сигнала «Старт» происходит перебрасывание триггера в «единичное» состояние – операция (процесс) запущены. С приходом сигнала «Стоп» триггер переходит в «0»-состояние, процесс прекращается.
Простейший вариант – это использование входов -S и –R, но при этом всегда остается вероятность возникновения ситуации неопределенности при одновременном приходе сигналов на оба входа. Чтобы избежать этого, на практике задействуют пары входов С и –S или –R и С. При использования пары входов –R и С надо подать на D единицу, при задействовании пары С и –S на вход D подается нуль. Универсальность и удобство такого решения еще и в том, что в роли сигналов «Стоп» и «Старт» может использоваться не только уровень сигнала, но и его фронт.
Ещё одна область, в которой триггеры получили самое широкое распространение – синхронизация сигналов. Например, с помощью триггера очень просто избавляются от коротких паразитных импульсов, которые возникают на выходе комбинационной схемы, если несколько входных сигналов изменяются практически одновременно.
Рис. 19. Схема синхронизации с помощью триггера
В данном случае для синхронизации необходим синхропереход (синхросигнал), который сопровождает информационные входные сигналы (или входной код) и который задержан на время tз (его значение больше значения задержки для всей комбинационной схемы) относительно момента, когда началось изменение входных сигналов. Когда синхросигнал подается в триггере на вход С, а выходной сигнал этой комбинационной схемы – на вход D этого же триггера, то сигнал на выходе триггера (обозначен на графике Вых. 2) будет полностью свободен от наличия паразитных импульсов.
При разработке цифровых схем, чья работа синхронизируются единым тактовым генератором, очень часто возникает проблема синхронизации работающей схемы и поступающего на неё внешнего сигнала. То есть необходимо обеспечить изменение этого внешнего (по отношению к тактовому сигналу в схеме - асинхронного) сигнала так, чтобы в результате менялся в соответствии с тактами задающего (тактового) генератора. Другими слова – этот сигнал из асинхронного должен стать синхронным для всей работающей схемы, в которую он поступает. Эта задача решается путем установки триггера.
Самый простой вариант – внешний сигнал осуществляет разрешение/запрет на прохождения сигнала, генерируемого непрерывно работающим тактовым генератором. Самое простое решение, особенно если идет речь о RC-генераторе – просто отключать и запускать генератор в необходимое время. Но такая простота – кажущаяся. Прежде всего, нельзя включить генератор мгновенно – ему потребуется время для возбуждения, да и качество и форма генерируемого сигнала в начале будет отличаться от необходимого. Особенно ярко это проявляется с кварцевыми генераторами, останавливать и запускать которые не рекомендуется – после возобновления работы генератор возобновляет генерирование сигнала с задержкой, которая может равняться до 5 периодов тактовой частоты. При этом при каждом включении задержка будет разной. Кроме того, не всегда есть возможность прекращать работу тактового (задающего) генератора, особенно, когда от его работы напрямую зависит функционирование всей схемы.
Поэтому для упрощения считают, что тактовый генератор функционирует непрерывно, а внешний управляющий сигнал будет отвечать за прохождение/блокирование сгенерированных импульсов.
Рис. 20. Схема синхронизации сигнала разрешения
Простейшее решение – организовать запрещение или пропускание импульсов, сгенерированных тактовым генератором, с использованием логического элемента 2И (на рис. вариант а). Но при этом велика вероятность того, что на выход системы будут проходить обрезанные (неполной длительности) импульсы, включая предельно короткие. Эти искаженные импульсы могут дестабилизировать работу системы в целом, внеся неопределенность в функционирование элементов.
Синхронизирующий триггер (вариант б на рис. ) обеспечит на выходе пропускающего элемента 2И только «целые» импульсы, имеющие полную длительность. Проходящий через триггер разрешающий сигнал, тактирующийся разрешаемым сигналом, синхронизируется в результате с тактовым сигналом, что гарантирует появление на выходе исключительно целого числа тактовых импульсов и целого числа периодов, задаваемых тактовым генератором.
Используя триггеры, можно создать линию задержки для цифровых сигналов. Для этого несколько триггеров (они обязательно должны тактироваться общим тактовым сигналом С) необходимо соединить в одну цепь последовательно. Такое включение позволит обрабатывать одновременно комбинационными схемами сразу несколько последовательных (по времени) состояний одного сигнала.
