Триггер. Устройство, имеющее два устойчивых состояния, называют триггером. Он имеет два выхода, один из них называют прямым, а другой инверсным. Потенциалы на них взаимно инвертированы лог. 1 на одном выходе соответствует лог
Скачать 69.5 Kb.
|
Устройство, имеющее два устойчивых состояния, называют триггером. Он имеет два выхода, один из них называют прямым, а другой инверсным. Потенциалы на них взаимно инвертированы: лог. 1 на одном выходе соответствует лог. 0 на другом. С приходом переключающих (запускающих) сигналов переход триггера из одного состояния в другое происходит лавинообразно, и потенциалы на выходах меняются на противоположные. В интервале между переключающими сигналами состояние триггера не меняется, т. е. триггер «запоминает» поступление сигналов, отражая это величиной потенциала на выходе. Это дает возможность использовать его как элемент памяти. Программирование триггеров представляет достаточно трудный раздел. Триггеры представляют собой специального вида хранимые процедуры, которые автоматически вызываются в ответ на определенные события. Триггеры подразделяются на два типа: триггеры языка определения данных (DDL-триггеры) и триггеры языка манипулирования данными (DML-триггеры). Триггеры первого типа используются при изменениях, вносимых в структуру данных (команды CREATE, ALTER, DROP) и в целом имеют достаточно узкую область применения. Триггеры DML представляют собой фрагменты кода, которые закрепляются за определенной таблицей или представлением. В отличие от хранимых процедур триггеры вызываются автоматически при наступлении определенного события, связанного с выполнением некоторых операций (обычно – вставка, модификация или удаление данных) над таблицей, за которой закреплен триггер. Триггеры не могут быть вызваны явно. В отличие от хранимых процедур входные и выходные параметры у триггеров отсутствуют. В интервале между переключающими сигналами состояние триггера не меняется, т. е. триггер “запоминает” поступление сигналов, отражая это величиной потенциала на выходе. Это дает возможность использовать его как элемент памяти. При лавинообразных переключениях на выходе триггера формируются прямоугольные импульсы с крутыми фронтами. Это позволяет использовать триггер для формирования прямоугольных импульсов из напряжения другой формы (например, из синусоидального). В цифровой схемотехнике обычно можно найти следующие обозначения входов триггера: S – раздельный вход, устанавливающий триггер на единицу (на Q единица) Q – прямой выход R – раздельный выход, устанавливающий триггер на ноль (на Q ноль) С – вход синхронизации D – вход информационный (на него подаётся информация, которая будет занесена на триггер) T – счётный вход instead OF – особый тип триггера, который предназначен для выполнения кода, предусмотренного программистом вместо кода, обусловленного запросом, активизирующим триггер. Правила работы с триггерами: триггеры запускаются только после выполнения вызвавшего их оператора (В случае, когда необходимо выполнить набор некоторых операций перед основным оператором, необходимо использовать триггер типа instead of, в котором сначала прописываются подготовительные действия, а затем вызывается основной оператор. При этом, для того чтобы исключить рекурсивный вызов триггера, триггеры типа instead OF вызываются ровно один раз; В любом случае триггер вызывается на выполнение прежде, чем любые изменения действительно зафиксированы в базе данных; если при выполнении оператора возникает нарушение какого либо ограничения или другая ошибка, триггер не срабатывает; триггер и вызвавший его оператор образует одну транзакцию. Если нужно из триггера отменить вызвавшую его операцию, следует выполнить откат транзакции ROLLBACK; триггер срабатывает ровно один раз для каждого оператора, независимо от количества изменяемых им записей. При выполнении триггера создаются две рабочие таблицы Inserted и Deleted. В одной из этих таблиц (Inserted) хранится копии всех вставляемых строк, а в другой (Deleted) – копии всех удаляемых строк. Триггер, связанный с операцией обновления таблицы создает обе таблицы. Эти таблицы используются при программировании триггера, существуют с момента его запуска и уничтожаются по завершению работы триггера. Обычно название триггера дают по имеющимся у него входам: RS-триггер, JK-триггер, D-триггер и др. По способу записи информации триггеры подразделяются на асинхронные и синхронные. В асинхронных триггерах состояние на выходе изменяется сразу же после изменения сигнала на информационных входах. В синхронных триггерах для передачи сигнала с информационных входов на выходы требуется специальный синхронизирующий импульс. Синхронные триггеры подразделяются на триггеры со статическим управлением и триггеры с динамическим управлением. В триггерах с динамическим управлением передача сигнала с информационных входов на выходы осуществляется по фронту или по спаду синхронизирующего импульса. Триггеры относятся к цифровым автоматам. В отличие от комбинационных схем состояние на выходе триггера в данный момент времени определяется не только состояниями на входах триггера в этот же момент времени, но и предыдущим состоянием триггера. Цифровые автоматы к которым относятся триггеры, иногда называют последовательными схемами. Триггеры можно представить как устройство, состоящее из ячейки памяти ЯП и логического устройства (ЛУ) управления, преобразующего входную информацию в комбинацию сигналов, под воздействием которых ЯП принимает одно из двух устойчивых состояний. Информационные сигналы поступают на входы A и В ЛУ и преобразуются в сигналы, поступающие на внутренние входы S и R ЯП. Процесс преобразования информационных сигналов осуществляется под воздействием сигналов, подаваемых на вход V разрешения приёма информации и вход C синхронизации, обеспечивающей тактируемый приём информации. При наличии входа C триггер называют синхронным, а при его отсутствии--асинхронным. Управляющие сигналы на асинхронный триггер воздействуют непосредственно с началом своего появления на их входах, а в синхронных - только с приходом сигнала на входе C. Триггеры могут иметь статические или динамические входы. Как статические, так и динамические входы могут быть прямыми или инверсными. Входы называются статическими, если они имеют непосредственную связь с источником входных сигналов. Сигналом для управления статическим триггером с прямыми статическими входами является уровень лог.«1», а для управления триггером с инверсными входами - уровень лог«0». По характеру организации работы: -асинхронный триггер- асинхронный триггер изменяет свое состояние непосредственно в момент появления соответствующего информационного сигнала. Синхронные триггеры реагируют на информационные сигналы только при наличии соответствующего сигнала на так называемом входе синхронизации С . Этот вход также иногда обозначают терминами строб, такт -синхронный триггер; . Синхронные триггеры подразделяют на триггеры со статическим (статические) и динамическим (динамические) управлением по входу синхронизации С. Статические триггеры воспринимают прочие управляющие сигналы при подаче на вход С логической 1 (прямой вход) или логического 0 (инверсный вход). Динамические триггеры воспринимают управляющие сигналы при изменении (перепаде) сигнала на входе С от 0 к 1 (прямой динамический С-вход) или от 1 к 0 (инверсный динамический С- вход). Входы J, К, Т, D всегда синхронные, т.е. тактируются по синхронизирующему сигналу на входе C. Разумеется, в каждом конкретном триггере имеются лишь некоторые из перечисленных входных линий. Входы S и R зачастую присутствуют не только в RS триггерах, но и в других типах триггеров, где предназначены, в основном, для асинхронного сброса устройства в 0 или установки в 1. Синхронные триггеры, построенные по принципу двухступенчатого запоминания информации Особенность триггеров с двухступенчатым запоминанием информации состоит в том, что они содержат две триггерные структуры: одна из них образует так называемый ведущий триггер а другая - ведомый . Оба триггера функционируют как синхронные триггеры со статическим управлением. При значении на синхронизирующем входе С = 1 ведущий триггер устанавливается в состояние, соответствующее сигналам, поступающим на информационные входы. Ведомый триггер, имеющий инверсный синхронизирующий вход при этом невосприимчив к информации, поступающей на его вход с выхода ведущего триггера. Он продолжает находиться в состоянии, в которое был ранее установлен (в предыдущем тактовом периоде). При изменении значения С (с значения С = 1 на значение C = 0) ведущий триггер отключается от информационных входов и перестает реагировать на изменения значений сигналов на этих входах; ведомый триггер устанавливается в состояние, в котором находится ведущий триггер. С этого момента на выходах устанавливаются значения, соответствующие входным сигналам, поступавшим к моменту рассматриваемого фронта сигнала на синхронизирующем входе. Таким образом, управление процессами в триггере с двухступенчатым запоминанием информации за время тактового периода осуществляется двумя фронтами сигнала на синхронизирующем входе: на положительном фронте происходят установка ведущего триггера, на отрицательном фронте - ведомого триггера. В качестве примера рассмотрим JK-триггep с двухступенчатым запоминанием информации. RS-триггер или SR-триггер – триггер, который сохраняет свое предыдущее состояние при нулевых входах, и меняет свое выходное состояние при подаче на один из его входов единицы (или наоборот – сохраняет состояние при единичных входах и меняет состояние при нулевых). Одноступенчатые триггеры (latch, защёлки) состоят из одной ступени представляющей собой элемент памяти и схему управления, бывают, как правило, со статическим управлением. Одноступенчатые триггеры с динамическим управлением применяются в первой ступени двухступенчатых триггеров с динамическим управлением. Одноступенчатый триггер на УГО обозначают одной буквой - Т. Двухступенчатые триггеры (flip- flop, шлёпающие) делятся на триггеры со статическим управлением и триггеры с динамическим управлением. При одном уровне сигнала на входе С информация, в соответствии с логикой работы триггера, записывается в первую ступень (вторая ступень заблокирована для записи). При другом уровне этого сигнала происходит копирование состояния первой ступени во вторую (первая ступень заблокирована для записи), выходной сигнал появляется в этот момент времени с задержкой равной задержке срабатывания ступени. Обычно двухступенчатые триггеры применяются в схемах, где логические функции входов триггера зависят от его выходов, во избежание временны́х гонок. Двухступенчатый триггер на УГО обозначают двумя буквами - ТТ. Триггеры со сложной логикой бывают также одно- и двухступенчатые. В этих триггерах наряду с синхронными сигналами присутствуют и асинхронные. Такой триггер изображён на рис. 1, верхний (S) и нижний (R) входные сигналы являются асинхронными. Триггеры с тиристорами Тиристор подходит для замены элемента памяти в триггерах. Описание схемы на примере RS триггера: К катоду тиристора подключается выход триггера Q, к управляющему электроду подключается вход S, к аноду подключается постоянное напряжение через полевой транзистор с изолированным затвором, к затвору полевого транзистора подключается вход R. Описание работы: Начальное состояние на выходе Q ноль: тиристор находится в замкнутом состоянии, ток на выходе соответствует нулю. Переход в состояние единица: на вход S подается напряжение равно логической единице тиристор разблокируется и напряжение на выходе Q повышается соответственно логической единице, при последующем понижении напряжения на входе S тиристор сохраняет низкое сопротивление и напряжение на выходе Q остается равным логической единице. Переход от логической единицы к нулю: на вход R подается напряжение равное логической единице полевой транзистор переходит в замкнутое состояние, напряжение на аноде тиристора падает, вследствие чего сопротивление тиристора возрастает и он переходит в состояние низкого выходного напряжения соответствующего логическому нулю, это состояние сохраняется при повышении входного напряжения на аноде тиристора. Тиристор можно заменить на два биполярных транзистора (смотря какая реализация будет удобнее). Как итог мы получаем RS триггер на трех транзисторах. Триггеры на релейно - контакторной базе Несмотря на развитие электроники и особенно микроэлектроники до сих пор применяется простая логика на электромагнитных реле. Это связано с исключительной простотой реализацией таких схем, помехоустойчивостью (т.к. электромагнитные реле потребляют в большинстве своём значительный ток и поэтому для сбоев таких схем необходима очень большая помеха, что на практике почти не реализуемо ) и огромным сопротивлением между входом и выходом ( почти идеальная развязка ) и практическим отсутствием отладки собранной схемы. Всё это приводит к самым минимальным затратам по времени на разработку систем автоматики, не требующей особого быстродействия и сложного алгоритма. Заключение Устройство, имеющее два устойчивых состояния, называют триггером. Он имеет два выхода, один из них называют прямым, а другой - инверсным. Потенциалы на них взаимно инвертированы: лог. 1 на одном выходе соответствует лог. 0 на другом. С приходом переключающих (запускающих) сигналов переход триггера из одного состояния в другое происходит лавинообразно, и потенциалы на выходах меняются на противоположные. В интервале между переключающими сигналами состояние триггера не меняется, т. е. триггер \"запоминает\" поступление сигналов, отражая это величиной потенциала на выходе. Это дает возможность использовать его как элемент памяти. При лавинообразных переключениях на выходе триггера формируются прямоугольные импульсы с крутыми фронтами. Это позволяет использовать триггер для формирования прямоугольных импульсов из напряжения другой формы (например, из синусоидального). При двух последовательных переключениях триггера на выходе формируется один импульс, т.е. триггер можно использовать как делитель частоты переключающих сигналов с коэффициентом, равным двум. В настоящее время известно большое количество разных типов триггеров, изготавливаемых в виде интегральных микросхем. Как правило, это универсальные триггеры, т.е. триггеры, совмещающие в себе функциональные возможности нескольких более простых видов триггеров (например: RS- и D- триггеров, RS- и JK- триггеров и т.д.). Для управления работой триггера могут использоваться управляющие сигналы различных уровней. Разработка цифровых схем так же не обходится без триггеров. Работа этих схем синхронизируется с общим тактовым генератором. И не редко появляется проблема с синхронизацией внешнего сигнала, который поступает на схему и самой схемой. То есть, нужно обеспечить изменение внешнего сигнала, чтобы в результате он менялся с тактами генератора. Внешний сигнал по отношению к тактовому сигналу в схеме – асинхронный. Так что, если совсем простыми словами, сигнал из асинхронного должен стать синхронным для всей схемы. Эту задачу и решает триггер. Внешний сигнал создаёт разрешение или запрет на прохождение сигнала, который генерируется тактовым генератором. Если речь идёт о RC-триггере, то нужно просто отключать и включать генератор вовремя. Этот способ кажется простейшим. Однако, это заблуждение. Для начала, выключить и выключить генератор не получится в один момент – ему нужно время и качество сигнала в это время будет далеко от идеала. Например, генераторы из кварца. Их вовсе не рекомендуется часто останавливать и запускать. После возобновления генератор будет формировать сигнал с задержкой до 5 периодов тактовой частоты. И задержка при каждом включении будет разной. Также возможность прекращать работу генератора иногда вовсе не существует. Например, если от его работы зависит работа всей схемы. Для упрощения считают, что тактовый генератор работает не прекращая. Внешний управляющий сигнал тогда будет отвечать за прохождение или блокировку импульсов, которые были сгенерированы. Самое лёгкое решение – создать процесс запрета и пропуска импульсов, которые генератор создаёт, используя при этом логический элемент 2И. Правда, тут очень большая вероятность, что на выход будут приходить короткие импульсы или с не полной длительностью. Такие сигналы могут оказать плохое влияние на систему в целом, создав неопределённость в функционировании. В этом случае, синхронизирующий триггер на выходе пропускающего элемента 2И обеспечит только нужные импульсы. То есть те, которые имеют полную длительность. Когда через триггер проходит разрешающий сигнал, он синхронизируется с тактовым сигналом. И на выходе будет целое число тактовых импульсов и целое число периодов, которое задаётся генератором. Список используемой литературы 1. Димитрова М.И., Пунджев В.П.-«33 схемы на триггерах» Ленингр. Энергоатомиздат. 2018г. 2. Угрюмов Е. П. -«Цифровая схемотехника» . СПб.: БХВ-Петербург, 2018. 101-120с. 4. Джон Ф. Уэйкерли. - «Проектирование цифровых устройств том I». Москва Постмаркет. 2020г. 5. И. Букреев, В. Горячев, Б. Мансуров «Микроэлектронные схемы цифровых устройств» «Understanding CMOS Integrated Circuits» Roger Melen and Harry Garland». |