Дата последнего обновления файла 22.04.2014

Триггеры

Триггеры — это устройства с двумя состояниями. Они предназначены для запоминания двоичной информации. Использование триггеров позволяет реализовывать устройства оперативной памяти (то есть памяти, информация в которой хранится только на время вычислений). Однако это не единственная их область применения. Триггеры широко используются для построения цифровых устройств с памятью, таких как счётчики, преобразователи последовательного кода в параллельный, последовательные порты или цифровые линии задержки, применяемые в составе цифровых фильтров.

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


Рисунок 1. Схема простейшего триггера, построенного на инверторах

В схеме любого триггера может быть только два состояния — на выходе Q присутствует логическая единица и на выходе Q присутствует логический ноль. Если логическая единица присутствует на выходе Q, то на инверсном выходе триггера будет присутствовать логический ноль, который после очередного инвертирования подтверждает уровень логической единицы на выходе Q. И наоборот, если на выходе триггера Q присутствует логический ноль, то на инверсном выходе будет присутствовать логическая единица.

Описанная ситуация на выводах триггера будет сохраняться до тех пор пока включено питание. Но вот вопрос — а как записывать в простейший триггер необходимую нам информацию? Для этого в схеме потребуются входы записи нуля и записи единицы.

RS-триггеры

RS-триггер получил название по названию своих входов. Вход S (Set — установить англ.) позволяет устанавливать выход Q в единичное состояние. (Устанавливать означает записывать логическую единицу). Вход R (Reset — сбросить англ.) позволяет сбрасывать выход Q (Quit — выход англ.) в нулевое состояние.

Для реализации RS-триггера воспользуемся логическими элементами "2И-НЕ". Его принципиальная схема, реализованная на логических элементах "2И-НЕ", приведена на рисунке 2.


Рисунок 2. Схема RS-триггера на логических элементах "2И-НЕ". Входы R и S инверсные (активный уровень'0')

Рассмотрим работу изображенной на рисунке 2 схемы триггера подробнее. Пусть на входы R и S подаются единичные потенциалы. Если на выходе верхнего логического элемента "2И-НЕ" Q присутствует логический ноль, то на выходе нижнего логического элемента "2И-НЕ" появится логическая единица. Эта единица подтвердит логический ноль на выходе триггера Q. Если на выходе верхнего логического элемента "2И-НЕ" Q первоначально присутствует логическая единица, то на выходе нижнего логического элемента "2И-НЕ" появится логический ноль. Этот ноль подтвердит логическую единицу на выходе Q. То есть, при единичных уровнях на входах R и S, схема RS-триггера работает точно так же, как и схема триггера на инверторах.

Подадим на вход S триггера нулевой потенциал. Согласно таблице истинности логического элемента "2И-НЕ" на выходе Q появится единичный потенциал. Это приведёт к появлению на инверсном выходе триггера нулевого потенциала. Теперь, даже если снять нулевой потенциал с входа S, на выходе триггера останется единичный потенциал. То есть мы записали в триггер логическую единицу.

Точно так же можно записать в триггер и логический ноль. Для этого следует воспользоваться входом R. Так как активный уровень на входах триггера оказался нулевым, то эти входы — инверсные. Составим таблицу истинности RS-триггера. Входы R и S в этой таблице будем использовать прямые, то есть запись нуля, и запись единицы будут осуществляться единичными потенциалами (таблица 1).

Таблица 1. Таблица истинности RS-триггера.

R S Q(t) Q(t+1) Пояснения
0 0 0 0 Режим хранения информации (триггером) R=S=0
0 0 1 1
0 1 0 1 Режим установки триггера в единичное состояние S=1
0 1 1 1
1 0 0 0 Режим записи нуля в триггер R=1
1 0 1 0
1 1 0 * R=S=1 запрещенная комбинация
1 1 1 *

RS-триггер можно построить и на логических элементах "2ИЛИ-НЕ". Схема RS-триггера, построенного на логических элементах "2ИЛИ-НЕ" приведена на рисунке 3. Единственное отличие в работе этой схемы триггера будет заключаться в том, что его сброс и установка будет производиться единичными логическими уровнями. Эти особенности реализации схемы триггера связаны с принципами работы инверсной логики, которые рассматривались ранее.


Рисунок 3. Схема простейшего RS триггера на логических элементах "2ИЛИ-НЕ". Входы R и S прямые (активный уровень '1')

Так как RS-триггер при построении его на логических элементах "2И-НЕ" и "2ИЛИ-НЕ" работает одинаково, то его условно-графическое изображение на принципиальных схемах тоже одинаково. Условно-графическое изображение RS-триггера на принципиальных схемах приведено на рисунке 4.


Рисунок 4. Условно-графическое обозначение RS-триггера

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

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

Схема RS-триггера позволяет запоминать состояние логической схемы, но так как в начальный момент времени может возникать переходный процесс (в цифровых схемах этот процесс называется "опасные гонки"), то запоминать состояния логической схемы в триггерах нужно только в определённые моменты времени, когда все переходные процессы закончены.

Это означает, что большинство цифровых схем требуют сигнала синхронизации (тактового сигнала). Все переходные процессы в комбинационной логической схеме должны закончиться за время периода синхросигнала, подаваемого на входы триггеров. Триггеры, запоминающие входные сигналы только в момент времени, определяемый сигналом синхронизации, называются синхронными триггерами. Для того чтобы отличать от них рассмотренные ранее варианты триггеров (RS-триггер и триггер Шмитта) эти триггеры получили название асинхронных.

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

Для этого нам потребуется схема, пропускающая входные сигналы только при наличии синхронизирующего сигнала. Такую схему мы уже использовали при построении схем мультиплексоров и демультиплексоров. Это логический элемент "И". Принципиальная схема синхронного RS-триггера приведена на рисунке 5.


Рисунок 5. Схема синхронного RS-триггера, построенного на элементах "И"

В таблице 2 приведена таблица истинности синхронного RS-триггера. В этой таблице символ x означает, что значения логических уровней на данном входе не важны. Они не влияют на работу триггера.

Таблица 2. Таблица истинности синхронного RS-триггера.

С R S Q(t) Q(t+1) Пояснения
0 x x 0 0 Режим хранения информации
0 x x 1 1
1 0 0 0 0 Режим хранения информации
1 0 0 1 1
1 0 1 0 1 Режим установки единицы S=1
1 0 1 1 1
1 1 0 0 0 Режим записи нуля R=1
1 1 0 1 0
1 1 1 0 * R=S=1 запрещенная комбинация
1 1 1 1 *

Как мы уже показали выше, RS-триггеры могут быть реализованы на различных логических элементах. При этом принцип их работы не изменяется. В то же самое время триггеры часто выпускаются в виде готовых микросхем (или реализуются внутри БИС в виде готовых модулей), поэтому на принципиальных схемах синхронные триггеры обычно изображаются в виде условно-графических обозначений. Условно-графическое обозначение синхронного RS-триггера приведено на рисунке 6.


Рисунок 6. Условно-графическое обозначение синхронного RS-триггера

D-триггеры

В RS-триггерах для записи логического нуля и логической единицы требуются разные входы, что не всегда удобно. При записи и хранении данных один бит может принимать значение, как нуля, так и единицы. Для его передачи достаточно одного провода. Как мы уже видели ранее, сигналы установки и сброса триггера не могут появляться одновременно, поэтому можно объединить эти входы при помощи инвертора, как показано на рисунке 7.

Схема D-триггера (защелки)
Рисунок 7. Принципиальная схема D триггера (защелки)

Такой триггер получил название D триггер. Название происходит от английского слова delay — задержка. Конкретное значение задержки определяется частотой следования импульсов синхронизации. Условно-графическое обозначение D триггера на принципиальных схемах приведено на рисунке 8.

Условно-графическое обозначение триггера-защелки
Рисунок 8. Условно-графическое обозначение D триггера (защелки)

Таблица истинности D триггера достаточно проста, она приведена в таблице 3. Как видно из этой таблицы, данный триггер способен запоминать по синхросигналу и хранить один бит двоичной информации.

Таблица 3. Таблица истинности D триггера

С D Q(t) Q(t+1) Пояснения
0 x 0 0 Режим хранения информации
0 x 1 1
1 0 x 0 Режим записи информации
1 1 x 1

Нужно отметить, что отдельный инвертор при реализации триггера на ТТЛ элементах не нужен, так как самый распространённый элемент ТТЛ логики - это “2И-НЕ”. Принципиальная схема D триггера на элементах 2И-НЕ” приведена на рисунке 9.


Рисунок 9. Схема D триггера, реализованная на ТТЛ элементах

Ещё проще реализуется D триггер на КМОП логических элементах. В КМОП микросхемах вместо логических элементов "И" используются обычные транзисторные ключи. Схема D триггера приведена на рисунке 10.


Рисунок 10. Схема D триггера, реализованная на КМОП элементах

При подаче высокого уровня синхросигнала C транзистор VT1 открывается и обеспечивает передачу сигнала с входа D на инверсный выход Q через инвертор D1. Транзистор VT2 при этом закрыт и отключает второй инвертор, собранный на транзисторах VT2 и VT3. При подаче низкого потенциала на вход C включается второй инвертор, который вместе с инвертором D1 и образует триггер.

Во всех рассмотренных ранее схемах синхронных триггеров синхросигнал работает по уровню, поэтому триггеры называются триггерами, работающими по уровню. Ещё одно название таких триггеров, пришедшее из иностранной литературы — триггеры-защёлки. Легче всего объяснить происхождение этого названия по временной диаграмме сигналов, приведенной на рисунке 11.

Временные диаграммы сигналов на входе и выходе триггера-защелки
Рисунок 11. Временная диаграмма D триггера (защелки)

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

Входное напряжение запоминается только в момент изменения уровня напряжения на входе синхронизации C с высокого уровня на низкий уровень. Входные данные как бы "защелкиваются" в этот момент, отсюда и название — триггер-защелка.

Принципиально в этой схеме входной переходной процесс может беспрепятственно проходить на выход триггера. Поэтому там, где это важно, необходимо сокращать длительность импульса синхронизации до минимума. Чтобы преодолеть такое ограничение были разработаны триггеры, работающие по фронту.

Явление метастабильности.

До сих пор мы предполагали, что сигнал на входе триггера может принимать только два состояния: логический ноль и логическая единица. Однако синхроимпульс может прийти в любой момент времени, в том числе и в момент смены состояния сигнала на входе триггера.

Если синхросигнал попадёт точно на момент перехода входным сигналом порогового уровня, то триггер на некоторое время может попасть в неустойчивое метастабильное состояние, при котором напряжение на его выходе будет находиться между уровнем логического нуля и логической единицы. Это может привести к нарушению правильной работы цифрового устройства.

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


Рисунок 12. Иллюстрация явления метастабильности

Временные параметры триггера в момент возникновения состояния метастабильности и выхода из этого состояния приведены на рисунке 2. Время tSU (register setup time or tSU) на этом рисунке это минимальное время перед синхроимпульсом, в течение которого логический уровень сигнала должен оставаться стабильным для того, чтобы избежать метастабильности выхода триггера. Время tH (register hold time or tH) это минимально необходимое время удержания стабильного сигнала на входе триггера для того, чтобы избежать метастабильности его выхода. Время состояния метатастабильности случайно и зависит от многих параметров. На рисунке 2 оно обозначено tMET.


Рисунок 13. Временные параметры триггера при проявлении метастабильности

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

где t — это коэффициент обратно пропорциональный коэффициенту усиления и полосе пропускания элементов, входящих в состав триггера.

Склонность триггеров к метастабильности обычно оценивается величиной, обратной скорости отказов. Это значение выражается как интервал времени между отказами. Его можно определить по формуле:

где t0 = tSU – tH
    fс – тактовая частота
    fd – частота с которой меняются входные данные

Для того чтобы можно было оценить эту величину, приведём таблицу для двух микросхем. Последняя строчка этой таблицы эквивалентна времени метастабильности tMET = 5 нс.

Таблица 3. Сравнительные характеристики КМОП и Bi-КМОП триггеров

Условия измерения SN74ACT SN74ABT
fc = 33МГц, fd = 8МГц 8400 лет 8.1*109 лет
fc = 40МГц, fd = 10МГц 92 дня 1400 лет
fc = 50МГц, fd = 12МГц - 2 часа

Метастабильное состояние не всегда приводит к неправильной работе цифрового устройства. Если время ожидания устройства после прихода импульса синхронизации достаточно велико, то триггер может успеть перейти в устойчивое состояние, и мы даже ничего не заметим. То есть если мы будем учитывать время метастабильности tmet то метастабильность никак не скажется на работе остальной цифровой схемы.

Если же это время будет неприемлемым для работы схемы, то можно поставить два триггера последовательно, как это показано на рисунке 3. Это снизит вероятность возникновения метастабильного состояния.

Схема снижения вероятности возникновения метастабильного состояния на выходе триггера
Рисунок 14. Схема снижения вероятности возникновения метастабильного состояния на выходе триггера

Для сравнения приведем MBTF для новой схемы. Сравнение производится тех же самых микросхем, что и в предыдущем примере. Время метастабильности tMET = 5 нс для 50МГц, tMET = 5 нс для 67МГц, tMET = 5 нс для 80МГц.

Таблица 4. Сравнительные характеристики КМОП и Bi-КМОП триггеров

Условия измерения SN74ACT SN74ABT
fc = 33МГц, fd = 8МГц 2.62*1028 лет 4.77*1047 лет
fc = 40МГц, fd = 10МГц 3,56*1019 дня 2.18*1034 лет
fc = 50МГц, fd = 12МГц 4.9*1010 1*1021 лет
fc = 67МГц, fd = 16МГц 417 лет 1.28*109 лет
fc = 80МГц, fd = 20МГц - 2900 лет

D триггеры, работающие по фронту.

Фронт сигнала синхронизации, в отличие от высокого (или низкого) потенциала, не может длиться продолжительное время. В идеале длительность фронта равна нулю. Поэтому в триггере, запоминающем входную информацию по фронту не нужно предъявлять требования к длительности тактового сигнала.

Триггер, запоминающий входную информацию по фронту, может быть построен из двух триггеров, работающих по потенциалу. Сигнал синхронизации будем подавать на эти триггеры в противофазе. Схема такого триггера приведена на рисунке 12.

Схема D-триггера, работающего по фронту
Рисунок 15. Схема D-триггера, работающего по фронту

Рассмотрим работу схемы триггера, приведенной на рисунке 12 подробнее. Для этого воспользуемся временными диаграммами, показанными на рисунке 13. На этих временных диаграммах обозначение Q΄ соответствует сигналу на выходе первого триггера. Так как на вход синхронизации второго триггера тактовый сигнал поступает через инвертор, то когда первый триггер находится в режиме хранения, второй триггер пропускает сигнал на выход схемы. И наоборот, когда первый триггер пропускает сигнал с входа схемы на свой выход, второй триггер находится  в режиме хранения.

Схема D-триггера, работающего по фронту
Рисунок 16. Временные диаграммы D-триггера

Обратите внимание, что сигнал на выходе всей схемы в целом не зависит от сигнала на входе "D" схемы. Если первый триггер пропускает сигнал данных со своего входа на выход, то второй триггер в это время находится в режиме хранения и поддерживает на выходе предыдущее значение сигнала, то есть сигнал на выходе схемы тоже не может измениться.

В результате проведённого анализа временных диаграмм мы определили, что сигнал в схеме, приведенной на рисунке 12 запоминается только в момент изменения сигнала на синхронизирующем входе "C" с единичного потенциала на нулевой.

Динамические D триггеры выпускаются в виде готовых микросхем или входят в виде готовых блоков в составе больших интегральных схем, таких как базовый матричный кристалл (БМК) или программируемых логических интегральных схем (ПЛИС).

Условно-графическое обозначение D триггера, запоминающего информацию по фронту тактового сигнала, приведено на рисунке 12.

Условно-графическое обозначение D-триггера
Рисунок 17. Условно-графическое обозначение D-триггера

То, что триггер запоминает входной сигнал по фронту, отображается на условно-графическом обозначении треугольником, изображённым на выводе входа синхронизации. То, что внутри этого триггера находится два триггера, отображается в среднем поле условно-графического изображения двойной буквой T.

Иногда при изображении динамического входа указывают, по какому фронту триггер (или триггеры) изменяет своё состояние. В этом случае используется обозначение входа, как это показано на рисунке 15.

Обозначение динамических входов

Рисунок 18. Обозначение динамических входов
На рисунке 18 а обозначен динамический вход, работающий по переднему (нарастающему) фронту сигнала. На рисунке 18 б обозначен динамический вход, работающий по заднему (спадающему) фронту сигнала.

Промышленностью выпускаются готовые микросхемы, содержащие динамические триггеры. В качестве примера можно назвать микросхему 1533ТМ2. В этой микросхеме содержится сразу два динамических триггера. Они изменяют своё состояние по переднему фронту сигнала синхронизации.

Литература:

  1. Микушин А.В. Занимательно о микроконтроллерах. СПб, БХВ-Петербург, 2006.
  2. Микушин А.В., Сажнев А.М., Сединин В.И. Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2010.
  3. Угрюмов Е. П. Цифровая схемотехника. СПб, БХВ-Петербург, 2004.
  4. Шило В. Л. Популярные цифровые микросхемы. М, Радио и связь, 1987.

Вместе со статьей "Триггеры" читают:

RS-триггер Рассмотрим принцип работы RS триггера, выполненный по изображенной на рисунке 2 схеме подробнее...
http://digteh.ru/digital/RS_trigg.php

D-триггеры, работающие по потенциалу D-триггеры предназначены для хранения двоичной информации, они используются в составе оперативных запоминающих устройств (ОЗУ)...
http://digteh.ru/digital/Latch/

D триггеры, работающие по фронту Эти триггеры применяются в основном для создания счетчиков и регистров, позволяющих реализовать преобразование параллельного двоичного кода в последовательный...
http://digteh.ru/digital/D_trigg.php

T-триггеры T-триггер — это счетный триггер. У T-триггера имеется только один вход. После поступления на этот вход...
http://digteh.ru/digital/T_trigg.php

JK-триггер Этот триггер является универсальным триггером, способным работать в качестве RS-триггеров, D-триггеров или T-триггеров в зависимости от схемы включения. Для реализации JK-триггера...
http://digteh.ru/digital/JK_trigg.php


Автор Микушин А. В. All rights reserved. 2001 ... 2015

Предыдущие версии сайта:
http://neic.nsk.su/~mavr
http://digital.sibsutis.ru/

пЕИРХМЦ@Mail.ru


Rambler's Top100