Основные схемы включения триггеров
Говоря об областях применения триггеров, мы будем рассматривать исключительно D-триггеры, так как в большинстве случаев RS- и JK-триггеры могут быть заменены D-триггерами без ухудшения каких бы то ни было параметров схемы. Примеры такой замены показаны на рис. 7.5.
RS-триггер получается из D-триггера, если в D-триггере не использовать входы C и D, например, соединить их с общим проводом (а).
Рис. 7.5. Включение D-триггера для замены RS-триггера (а) и JK-триггера в счетном режиме (б)
Сложнее обстоит дело с заменой JK-триггера, в котором предусмотрено больше возможностей, чем в D-триггере. Однако обычно два информационных входа JK-триггера не так уж и нужны. А что касается счетного режима, в котором, пожалуй, наиболее часто работают JK-триггеры, то он легко реализуется на D-триггере в результате объединения информационного входа D с инверсным выходом (б). При этом по каждому положительному фронту сигнала С триггер будет менять свое состояние на противоположное: нуль на прямом выходе будет сменяться единицей и наоборот. То есть частота входного сигнала триггера будет меньше частоты входного тактового сигнала С в два раза.
Отметим также, что для реализации счетного режима чаще всего используются не триггеры, а счетчики, которые будут рассмотрены в следующей лекции.
Особенности триггеров обусловливают наиболее широкий диапазон схем их включения для решения самых разных задач.
Например, с помощью триггера (любого типа) очень просто и эффективно решается задача устранения влияния дребезга контактов механических переключателей (рис. 7.6). Правда в данном случае необходим тумблер (или кнопка) с тремя выводами, один из которых попеременно подключается к двум другим. При этом первый отрицательный импульс на входе –R перебрасывает триггер в состояние нуля, а первый отрицательный импульс на входе –S — в состояние единицы. Последующие же импульсы на обоих этих входах, вызванные дребезгом контактов, уже никак не влияют на триггер. Нижнее (по рисунку) положение выключателя соответствует нулю на выходе триггера, а верхнее — единице.
Рис. 7.6. Подавление дребезга контактов выключателя с помощью триггера
Основное применение триггеры находят в тех случаях, когда надо сформировать сигнал, длительность которого соответствует длительности какой-то выполняемой операции, какого-то продолжительного процесса в схеме. Выходной сигнал триггера при этом может разрешать этот самый процесс, а может информировать остальные узлы устройства о том, что процесс идет (или, как говорят, служить флагом процесса). Например, в схеме на рис. 7.7 в начале процесса (операции) по сигналу "Старт" триггер перебрасывается в единицу, а в конце процесса (операции) по сигналу "Стоп" — обратно в нуль.
Рис. 7.7. Использование триггера в качестве флага процесса
Для сигналов "Старт" и "Стоп" можно, конечно, использовать входы триггера -R и -S. Однако более правильным и универсальным решением будет выбор пары входов С и -R или С и -S, что предотвратит неоднозначность поведения триггера при одновременном приходе сигналов "Старт" и "Стоп". Если используются входы С и -R, то на вход D надо подать единицу, а если применяются входы С и -S, то на вход D надо подать нуль. Такое решение удобно еще и тем, что в качестве одного из сигналов "Старт" и "Стоп" может выступать не уровень, а фронт. Именно этот фронт (в нужной полярности) и надо подать в этом случае на тактовый вход триггера С.
Вторая важнейшая область применения триггеров — синхронизация сигналов.
Например, триггер позволяет наиболее просто избавиться от паразитных коротких импульсов на выходах комбинационных схем, возникающих при почти одновременном изменении нескольких входных сигналов (рис. 7.8). Для синхронизации в данном случае необходимо иметь синхросигнал (синхропереход), сопровождающий входные информационные сигналы (входной код) и задержанный относительно момента изменения этих сигналов на время tз, большее задержки комбинационной схемы. При подаче этого синхроимпульса на вход С триггера, а выходного сигнала комбинационной микросхемы (Вых. 1) на вход D триггера на выходе триггера получаем сигнал (Вых. 2), полностью свободный от паразитных импульсов.
Рис. 7.8. Синхронизация с помощью триггера
Более того, в случае, когда входной код комбинационной схемы изменяется регулярно, периодически, фронт синхросигнала может даже совпадать с моментом изменения входного кода (рис. 7.9).
Рис. 7.9. Синхронизация с помощью триггера при периодическом изменении входного кода
При этом, за счет конечной величины задержки комбинационной схемы сигнал на вход C триггера будет поступать раньше, чем начнет изменяться сигнал на его входе D. Поэтому паразитные импульсы в триггер не запишутся. Правда, в данном случае сигнал на выходе триггера (Вых. 2) будет задержан на период следования входных кодов T (или, что то же самое, на период синхросигнала) относительно выходного сигнала комбинационной схемы (Вых. 1).
При проектировании цифровых схем, работающих по тактам единого тактового генератора, часто возникает необходимость синхронизовать с работой схемы какой-то внешний сигнал. То есть требуется обеспечить, чтобы этот сигнал (асинхронный по отношению ко всей остальной схеме) изменялся по тактам тактового генератора, как и все остальные сигналы схемы (стал бы синхронным всей остальной схеме). В этом тоже может помочь триггер.
Рассмотрим самый простой пример. Пусть необходимо с помощью внешнего сигнала разрешать и запрещать прохождение сигнала непрерывно работающего тактового генератора. В случае обычного RC-генератора эта задача иногда может быть решена довольно просто — путем запуска и остановки генератора (см. рис. 8.22). Однако далеко не всегда допускается останавливать работу тактового генератора, от которого работает вся схема. В случае же кварцевого генератора его остановка и запуск вообще никогда не применяются, так как такой генератор начинает работать после разрешения с задержкой, равной нескольким периодам тактовой частоты, причем количество этих периодов не постоянно. Поэтому будем считать, что тактовый генератор работает постоянно, а по внешнему управляющему сигналу мы будем разрешать или запрещать прохождение его выходных импульсов (рис.7.10).
В простейшем случае (а) для пропускания и запрещения импульсов тактового генератора Г используется логический элемент 2И. При этом вполне возможна ситуация прохождения на выход схемы импульсов неполной длительности или даже предельно коротких, нестабильно появляющихся импульсов, которые могут вносить неопределенность в работу остальной схемы.
Применение синхронизирующего триггера (б) обеспечивает прохождение на выход пропускающего элемента 2И только импульсов полной длительности. Разрешающий сигнал, проходя через триггер, который тактируется разрешаемым сигналом, становится синхронным с тактовым сигналом и гарантирует прохождение на выход обязательно целого количества тактовых импульсов, целого количества периодов тактового генератора.
Рис. 7.10. Синхронизация сигнала разрешения
Триггеры позволяют также строить линии задержки цифровых сигналов, для чего несколько триггеров соединяется в последовательную цепочку, причем все они тактируются единым тактовым сигналом С. Такое включение позволяет, например, одновременно обрабатывать комбинационными схемами несколько последовательных во времени состояний какого-то одного сигнала.
В качестве примера на рис. 7.11 приведена схема, которая выделяет во входном сигнале 3-х тактовую последовательность 010. Цепочка из трех триггеров Т1, Т2 и Т3, тактируемых единым синхросигналом, запоминает три последовательных состояния входного сигнала. Например, если на выходе триггера Т2 будет зафиксировано состояние входного сигнала в N-ом такте, то на выходе триггера Т1 будет состояние входного сигнала в такте (N+1), а на выходе триггера Т3 — в такте (N–1). Из-за конечной величины задержки переключения триггеров в каждый следующий триггер входной сигнал будет переписываться еще до того как он поменяет свое значение вследствие переключения предыдущего триггера.
Рис. 7.11. Выделение 3-тактовой последовательности тактов во входном сигнале
Подавая выходные сигналы триггеров (прямые или инверсные в зависимости от нужных уровней) на элемент И с нужным числом входов, можно зафиксировать любую 3-х тактовую последовательность во входном сигнале. Для предотвращения появления паразитных импульсов в выходном сигнале (они возможны, так как входные сигналы элемента И изменяются почти одновременно) применяется выходной триггер Т, тактируемый тем же самым общим синхросигналом. На выходе триггера Т получаем единичный сигнал, соответствующий последовательности 010 во входном сигнале. Правда, этот выходной сигнал будет задержан относительно конца выделяемой последовательности 010 на два такта.
Конечно, применение триггеров не ограничивается рассмотренными примерами, все области их применения трудно даже перечислить. Мы же рассмотрим здесь еще несколько примеров использования триггеров.
Рис. 7.12. Формирователь короткого импульса по фронту входного сигнала
D-триггер позволяет довольно просто формировать выходной короткий импульс по фронту входного сигнала. Для этого даже не нужно никаких времязадающих RC-цепочек. Длительность выходного импульса определяется задержкой срабатывания триггера. Формирователь короткого импульса по положительному фронту входного сигнала ( рис. 7.12) образуется путем подачи выходного сигнала триггера на вход сброса.
По положительному фронту на входе С триггер перебрасывается в единицу, но выходной сигнал триггера по цепи обратной связи тут же сбрасывает его обратно в нуль. Преимуществом данной схемы является то, что триггер имеет как прямой, так и инверсный выходы, поэтому мы получаем как положительный короткий импульс, так и отрицательный. В некоторых случаях в цепь этой обратной связи надо включать дополнительный инвертор для устойчивой работы схемы. Например, триггеры серии К155 не требуют инвертора, а триггеры серии КР1533 — требуют.
Рис. 7.13. Схема разделения коротких и длинных входных импульсов
Применение триггеров совместно с другими микросхемами часто позволяет избежать появления паразитных коротких импульсов, обеспечить надежную и уверенную работу схемы. Например, на рис. 7.13 представлена схема, которая различает короткие и длинные импульсы, приходящие на ее вход. Такая схема позволяет применять одну линию связи для передачи двух сигналов разного назначения, что бывает очень удобно при связи устройств, находящихся на большом расстоянии.
На вход схемы поступают короткие импульсы (длительностью tк) и длинные импульсы (длительностью tд). Конечно, на передающем конце надо обеспечить, чтобы эти импульсы формировались по очереди и с не слишком малой задержкой друг относительно друга. На выходе схемы формируются два сигнала, один из которых соответствует приходу короткого входного импульса, а другой — приходу длинного входного импульса.
Для различения входных импульсов используется одновибратор АГ1 с временем выдержки tв, большим tк, но меньшим tд. Применение одновибратора в данном случае оправдано, так как требуемая точность времени выдержки невысока (считаем, что длительности импульсов различаются существенно). Выходные сигналы схемы формируются с помощью двух триггеров, а не простых двухвходовых логических элементов, что полностью исключает появление паразитных импульсов на фронтах.
Принцип работы схемы ясен из приведенной временной диаграммы. Одновибратор запускается по переднему фронту входного сигнала. Выходной сигнал Вых.1, соответствующий приходу длинного импульса, начинается по заднему фронту импульса с одновибратора, а заканчивается по окончанию длинного входного импульса. Выходной сигнал Вых. 2, соответствующий приходу входного короткого импульса, начинается по заднему фронту входного импульса, а заканчивается с окончанием импульса с одновибратора.
Триггеры можно также использовать для обработки периодических последовательностей входных сигналов. При этом триггер, тактируемый кварцевым генератором, может очень точно различать частоты следования входных импульсов, то есть выполнять функцию простейшего цифрового фильтра. Такие схемы выгодно отличаются от схем с одновибраторами и времязадающими RC-цепочками возможностью полностью интегрального исполнения и отсутствием какой бы то ни было настройки.
Простейший пример подобной обработки состоит в формировании огибающей входного сигнала. То есть при приходе входного сигнала заданной частоты выходной сигнал должен быть равен единице, а при отсутствии входного сигнала — нулю. Эта задача, как уже отмечалось (см. рис. 3.35г), может быть решена с помощью одновибратора с перезапуском (типа АГ3). Однако применение триггеров значительно увеличивает точность срабатывания и позволяет работать с частотами, близкими к предельным для данного типа триггеров. Схема формирования огибающей состоит всего лишь из двух триггеров, тактируемых внешним синхросигналом, тактом (рис. 7.14). В данном случае предполагается, что частоты входного сигнала и тактового сигнала равны между собой.
Рис. 7.14. Формирователь сигнала огибающей входного сигнала на триггерах
Триггеры включены как двухтактная линия задержки с общим тактовым сигналом С и со сбросом входными сигналами. Первый же входной сигнал последовательности начинает выходной сигнал, а заканчивается выходной сигнал через 1–2 такта после окончания входной последовательности периода тактового сигнала (в зависимости от временного сдвига входного сигнала относительно тактового сигнала). Схема работает с входным сигналом любой частоты, большей половины частоты тактового сигнала (например, при тактовой частоте 10 МГц входной сигнал должен иметь частоту, большую 5 МГц). То есть за половину периода входной частоты не должно приходить больше одного положительного фронта тактового сигнала.
Этот же формирователь огибающей можно использовать в более сложных схемах. Примером может служить фильтр, который позволяет разделить две частоты входного сигнала, пропустить более высокочастотный сигнал и отсечь более низкочастотный (рис. 7.15).
Фильтр состоит из трех триггеров и элемента 2И, работающего в режиме пропускания положительных входных импульсов. Два триггера (левые по рисунку) образуют формирователь огибающей. Третий (правый по рисунку) триггер выдает сигнал пропускания в случае, когда сигнал огибающей непрерывен, то есть когда частота входного сигнала составляет больше половины тактовой частоты. Если в момент прихода положительного фронта входного сигнала сигнал огибающей на выходе второго триггера — нулевой, то пропускающий сигнал на выходе третьего триггера также нулевой и на выход импульсы не проходят. При этом первый входной импульс пропускаемого сигнала на выход не проходит. Цепочка из двух инверторов компенсирует задержку срабатывания третьего триггера, она задерживает входной сигнал перед подачей его на вход выходного пропускающего элемента 2И.
Рис. 7.15. Фильтр для пропускания высокочастотных сигналов на триггерах
Таким образом, фильтр надежно пропускает входные сигналы с частотой, большей половины тактовой частоты, и надежно задерживает сигналы с частотой, меньшей четверти тактовой частоты. Например, при тактовой частоте 10 МГц фильтр будет пропускать сигналы с частотой выше 5 МГц, и задерживать сигналы с частотой ниже 2,5 МГц. С частотами входного сигнала от 2,5 до 5 МГц работа фильтра не будет стабильной, она будет зависеть от временного сдвига между входным сигналом и тактовым сигналом.
Наконец, последняя схема на триггерах, которую мы рассмотрим, предназначена для кодирования входного сигнала в манчестерский код (или код Манчестер-II). Этот код широко используется при передаче сигналов на большие расстояния, в частности, в локальных сетях.
Рис. 7.16. Манчестерское кодирование
Суть манчестерского кодирования иллюстрируется рис. 7.16. Входной сигнал представляет собой последовательность бит равной длительности. В каждом такте передается один бит информации. Манчестерский код заменяет единичный информационный бит на отрицательный переход в центре битового интервала, а нулевой информационный бит — на положительный переход в центре битового интервала. Таким образом, в центре каждого битового интервала сигнала в манчестерском коде обязательно имеется фронт (положительный или отрицательный), который может быть использован приемником этого сигнала для синхронизации приема каждого информационного бита. Поэтому манчестерский код называется самосинхронизирующимся кодом.
Кодировщик (он же шифратор) манчестерского кода (рис. 7.17) включает в себя элемент Исключающее ИЛИ, который, собственно, и производит кодирование, а также три триггера для синхронизации. Один триггер (на рисунке слева) работает в счетном режиме, деля частоту тактового сигнала в два раза. Один триггер (на рисунке в центре) синхронизирует входной информационный сигнал с тактовым сигналом половинной частоты. Наконец, последний, третий триггер (на рисунке справа) синхронизирует выходной сигнал для устранения в нем паразитных коротких импульсов в моменты изменения входного сигнала. Он фиксирует выходной сигнал элемента Исключающее ИЛИ (уже готовый манчестерский код) через четверть периода после изменения входного сигнала Вход 1 (по отрицательному фронту исходного тактового сигнала).
Рис. 7.17. Кодировщик манчестерского кода на триггерах
|