Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по электронике (5 семестр).doc
Скачиваний:
61
Добавлен:
13.11.2018
Размер:
634.37 Кб
Скачать

Триггеры

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

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

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

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

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

RS-триггеры

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

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

Рисунок 2. Схема простейшего триггера на схемах "И". Входы R и S инверсные (активный уровень'0').

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

Подадим на вход S нулевой потенциал. Согласно таблице истинности логического элемента “И-НЕ” на выходе 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-триггер можно построить и на логических элементах "ИЛИ". Схема RS-триггера, построенного на логических элементах "ИЛИ" приведена на рисунке 3. Единственное отличие в работе этой схемы будет заключаться в том, что сброс и установка триггера будет производиться единичными логическими уровнями. Эти особенности связаны с принципами работы инверсной логики, которые рассматривались ранее.

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

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

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

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

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

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

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

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

Для таких цифровых схем требуются синхронные триггеры. Схема синхронного триггера приведена на рисунке 4, а обозначение на принципиальных схемах на рисунке 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-триггерах для записи логического нуля и логической единицы требуются разные входы, что не всегда удобно. При записи и хранении данных один бит может принимать значение, как нуля, так и единицы. Для его передачи достаточно одного провода. Как мы уже видели ранее, сигналы установки и сброса триггера не могут появляться одновременно, поэтому можно объединить эти входы при помощи инвертора, как показано на рисунке 1.

Рисунок 1. Схема D-триггера (защелки)

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

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

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

Таблица 1. Таблица истинности 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

где 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. Это снизит вероятность возникновения метастабильного состояния.

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

Для сравнения приведем 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.

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

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

Рисунок 13. Временные диаграммы D-триггера.

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

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

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

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

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

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

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

Рисунок 8.18. Обозначение динамических входов

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

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

T-триггеры

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

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

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

Рисунок 1. Схема T-триггера, построенная на основе D-триггера.

Временная диаграмма T-триггера приведена на рисунке 2. При построении этой временной диаграммы был использован триггер, работающий по заднему фронту синхронизирующего сигнала.

Рисунок 2. Временные диаграммы T-триггера.

Т-триггеры используются при построении схем различных счётчиков, поэтому в составе БИС различного назначения обычно есть готовые модули этих триггеров. Условно-графическое обозначение T-триггера приведено на рисунке 3.

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

JK-триггеры

Прежде чем начать изучение JK-триггера, вспомним принципы работы RS-триггера. Напомню, что в этом триггере есть запрещённые комбинации входных сигналов. Одновременная подача единичных сигналов на входы R и S запрещены. Очень хотелось бы избавиться от этой неприятной ситуации.

Таблица истинности JK-триггера практически совпадает с таблицей истинности синхронного RS-триггера. Для того чтобы исключить запрещённое состояние, схема триггера изменена таким образом, что при подаче двух единиц JK-триггер превращается в счётный триггер. Это означает, что при подаче на тактовый вход C импульсов JK-триггер изменяет своё состояние на противоположное. Таблица истинности JK-триггера приведена в таблице 1.

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

С

K

J

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

Режим установки единицы J=1

1

0

1

1

1

1

1

0

0

0

Режим записи нуля K=1

1

1

0

1

0

1

1

1

0

1

K=J=1 счетный режим триггера

1

1

1

1

0

Один из вариантов внутренней схемы JK-триггера приведен на рисунке 1.

Рисунок 1. Внутренняя схема JK-триггера.

Для реализации счетного режима в схеме, приведенной на рисунке 8.22, введена перекрестная обратная связь с выходов второго триггера на входы R и S первого триггера. Благодаря этой обратной связи на входах R и S никогда не может возникнуть запрещенная комбинация.

Приводить временные диаграммы работы JK-триггера не имеет смысла, так как они совпадают с приведёнными ранее диаграммами RS- и T-триггера. Условно-графическое обозначение JK-триггера приведено на рисунке 2.

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

На этом рисунке приведено обозначение типовой цифровой микросхемы JK-триггера, выполненной по ТТЛ технологии. В промышленно выпускающихся микросхемах обычно кроме входов JK-триггера реализуются входы RS-триггера, которые позволяют устанавливать триггер в заранее определённое исходное состояние.

В названиях отечественных микросхем для обозначения JK-триггера присутствуют буквы ТВ. Например, микросхема К1554ТВ9 содержит в одном корпусе два JK-триггера. В качестве примеров иностранных микросхем, содержащих JK-триггеры можно назвать такие микросхемы, как 74HCT73 или 74ACT109.

Так как JK-триггер является универсальной схемой, то рассмотрим несколько примеров использования этого триггера. Начнем с примера использования JK­­триггера в качестве обнаружителя коротких импульсов.

Рисунок 3. Схема обнаружения короткого импульса.

В данной схеме при поступлении на вход “C” импульса триггер переходит в единичное состояние, которое затем может быть обнаружено последующей схемой (например, микропроцессором). Для того, чтобы привести схему в исходное состояние, необходимо подать на вход R уровень логического нуля.

Теперь рассмотрим пример построения на JK-триггере ждущего мультивибратора. Один из вариантов подобной схемы приведен на рисунке 4.

Рисунок 4. Схема ждущего мультивибратора.

Схема работает подобно предыдущей схеме. Длительность выходного импульса определяется постоянной времени RC цепочки. Диод VD1 предназначен для быстрого восстановления исходного состояния схемы (разряда емкости C). Если быстрое восстановление схемы не требуется, например, когда длительность выходных импульсов гарантированно меньше половины периода следования входных импульсов, то диод VD1 можно исключить из схемы ждущего мультивибратора.

В качестве последнего примера применения универсального JK-триггера, рассмотрим схему счетного T-триггера. Схема счетного триггера приведена на рисунке 5.

Рисунок 5. Схема счетного триггера, построенного на JK-триггере.

В схеме, приведенной на рисунке 5, для реализации счетного режима работы триггера на входы J и K подаются уровни логической единицы.