Триггер

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

Триггер (бистабильный мультивибратор[1]) — это цифровой автомат, имеет несколько входов и 2 выхода.

Последовательностными называют[2] такие логические устройства, выходные сигналы которых определяются не только сигналами на входах, но и предысторией их работы, то есть состоянием элементов памяти.

Триггер — один из базовых (основных) элементов цифровой техники[3]. Некоторые исследователи[4] включают триггер в 100 великих изобретений.

N-ичный триггер - устройство (элементарная переключаемая ячейка памяти, переключатель с N устойчивыми положениями), которое имеет N устойчивых состояний и возможность переключения из любого состояния в любое другое состояние.

В графе триггера каждая вершина графа соединена со всеми другими вершинами, при этом переходы от вершины к вершине возможны в обе стороны (двухсторонние). В графе счётчика и кольцевого регистра сдвига каждая вершина соединена только с двумя соседними вершинами и переходы между вершинами - односторонние. Граф двоичного триггера - две точки соединённые отрезоком прямой линии, троичного триггера - треугольник, четверичного триггера - квадрат с диагоналями, пятеричного триггера - пятиугольник с пентаграммой и т.д. При N=1 граф триггера вырождается в одну точку, в математике ему соответствует унарная единица или унарный ноль, а в электронике - монтажная "1" или монтажный "0", т.е. простейшее ПЗУ.

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

Регистр сдвига имеет сколь угодно устойчивых состояний, но только регистр сдвига на 2 и реверсивный регистр сдвига на 3 являются триггерами, в остальных регистрах сдвига нет переключения из любого состояния в любое из других состояний. Граф троичного реверсивного регистра сдвига - треугольник, четверичного реверсивного регистра сдвига - квадрат без диагоналей. Граф нереверсивного регистра сдвига на 3 - треугольник, но переходы от вершины к вершине только в одну сторону (односторонние), поэтому он триггером не является.

Содержание

[править] Классификация

Триггерные схемы классифицируют по следующим признакам:

  • числу целочисленных устойчивых состояний (основанию системы счисления) (обычно устойчивых состояний два, реже - больше, см. двоичный триггер[5], троичный триггер[6], четверичный триггер[7][8], ..., десятичный триггер[9], ..., n-ичный триггер[10], ...);
  • числу уровней — два уровня (высокий, низкий) в двухуровневых элементах, три уровня (положительный, ноль, отрицательный) в трёхуровневых элементах[11], ..., N-уровней в N-уровневых элементах, ... .
  • принципу построения;
  • функциональным возможностям;
  • способу приёма логических сигналов;

По способу работы с сигналами различают асинхронные, синхронные и смешанные триггерные схемы, статические и динамические.

Асинхронный триггер изменяет своё состояние непосредственно в момент появления соответствующего информационного сигнала.

Синхронные триггеры реагируют на информационные сигналы только при наличии соответствующего сигнала на так называемом входе синхронизации С (от англ. clock). Этот вход также обозначают терминами «строб», «такт». Синхронные триггеры в свою очередь подразделяют на триггеры со статическим (статические) и динамическим (динамические) управлением по входу синхронизации С.

Статические триггеры воспринимают информационные сигналы при подаче на вход С логической единицы (прямой вход) или логического нуля (инверсный вход).

Динамические триггеры воспринимают информационные сигналы при изменении (перепаде) сигнала на входе С от 0 к 1 (прямой динамический С-вход) или от 1 к 0 (инверсный динамический С-вход).

Статические триггеры в свою очередь подразделяют на одноступенчатые (однотактные) и двух-ступенчатые (двухтактные).

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

По структурному построению — однотактные (триггеры защёлки), двухтактные и триггеры с динамическим управлением. По способу реакции на помехи — прозрачные и непрозрачные. Непрозрачные, в свою очередь, делятся на проницаемые и непроницаемые. По функциональному назначению — RS, D, JK, T, RR, SS, EE, DV.

При изготовлении триггеров применяются преимущественно полупроводниковые приборы (обычно полевые транзисторы), в прошлом — электромагнитные реле, электронные лампы. В настоящее время логические схемы, в том числе с использованием триггеров, создают в интегрированных средах разработки под различные программируемые логические интегральные схемы (ПЛИС).

Используются в основном в вычислительной технике для организации компонентов вычислительных систем: регистров, счётчиков, процессоров, ОЗУ.

По функциональным возможностям триггеры разделяют на следующие классы:

  • с раздельной установкой состояния 0 и 1 (RS-триггеры). Если триггер является синхронным — добавляется вход синхронизации C.;
  • универсальные (JK-триггеры);
  • с приёмом информации по одному входу D (D-триггеры, или триггеры задержки);
  • со счётным входом Т (Т-триггеры).

Каждый тип триггера имеет собственную таблицу работы (таблицу истинности). Выходное состояние триггера обычно обозначают буквой Q. Индекс возле буквы означает состояние до подачи сигнала (t) или после подачи сигнала (t+1).

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

[править] Входы триггера

Входы триггеров обычно обозначают следующим образом:

  • S (от англ. Set, установить) — вход в RS-триггере;
  • R (от англ. Reset, сброс) — вход в RS-триггере;
  • J (от англ. Jump[12], прыжок) — вход в JK-триггере;
  • К (от англ. Kill, убить) — вход в JK-триггере;
  • Т (от англ. Toggles, переключить) — счётный вход в Т-триггере;
  • С (от англ. Clock, время) вход синхронизирующего сигнала. При тактировании по фронту он часто обозначается стрелкой: стрелка внутрь — тактирование по переднему фронту, наружу — по заднему.
  • D (от англ. Delay, задержка) — вход в D-триггере;
  • E или EN (от англ. Enable, разрешить) — дополнительный асинхронный управляющий вход для разрешения приёма информации (иногда используют букву V).

Входы J,К,Т,D всегда синхронные, т.е. тактируются по синхронизирующему сигналу на входе C. Разумеется, в каждом конкретном триггере имеются лишь некоторые из перечисленных входных линий. Входы S и R зачастую присутствуют не только в RS триггерах, но и в других типах триггеров, где предназначены, в основном, для асинхронного сброса устройства в 0 или установки в 1.

В некоторых устройствах встречаются инверсные входы. Как и инверсный выход, на обозначении триггера инверсный вход содержит кружок, а соответствующая ему буква надчёркнута.

[править] RS-триггер, или SR-триггер

Одна из наглядных схем реализации асинхронного RS-триггера на базе двух элементов 2И-НЕ(NAND2)
S R Q(t) Q(t+1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 *
1 1 1 *

RS-триггер[13][14], или SR-триггер — триггер, который сохраняет своё предыдущее состояние при нулевых входах и меняет своё выходное состояние при подаче на один из его входов единицы. При подаче единицы на вход S (от англ. Set - установить) выходное состояние становится равным логической единице. А при подаче единицы на вход R (от англ. Reset - сбросить) выходное состояние становится равным логическому нулю. Если RS-триггер синхронный, то состояние его входов учитывается только в момент тактирования, например по переднему фронту импульса. Состояние, при котором на оба входа R и S одновременно поданы логические единицы, является запрещённым. Так, например, схема RS-триггера, изображённая на рисунке, при подаче на оба инверсных входа логического нуля перейдёт в состояние, когда на обоих выходах будут единицы, что не соответствует логике выхода триггера, поскольку инверсный выход \bar Q~ будет равен неинверсному Q~, т.е. \emptyset=1.

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

RS-триггеры иногда называют RS-фиксаторами[15].

[править] JK-триггер

Символ JK-триггера с дополнительными асинхронными входами S и R, аналогично представлению в среде разработки Altera Quartus
J K Q(t) Q(t+1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

JK-триггер[16][17] работает также как RS-триггер, с одним лишь исключением: при подаче логической единицы на оба входа J и K состояние выхода триггера изменяется на противоположное. Вход J (от англ. Jump - прыжок) аналогичен входу S у RS-триггера. Вход K (от англ. Kill - убить) аналогичен входу R у RS-триггера. При подаче единицы на вход J и нуля на вход K выходное состояние триггера становится равным логической единице. А при подаче единицы на вход K и нуля на вход J выходное состояние триггера становится равным логическому нулю. JK-триггер в отличие от RS-триггера не имеет запрещённых состояний на основных входах, однако это никак не помогает при нарушении правил разработки логических схем. На практике применяются только синхронные JK-триггеры, то есть состояния основных входов J и K учитываются только в момент тактирования, например по положительному фронту импульса на входе синхронизации.

На базе JK-триггера возможно построить D-триггер или Т-триггер. Как можно видеть в таблице истинности JK-триггера, он переходит в инверсное состояние каждый раз при одновременной подаче на входы J и K логической 1. Это свойство позволяет создать на базе JK-триггера Т-триггер, объединив входы J и К[18].


[править] D-триггер

Символ D-триггера с дополнительными асинхронными входами S и R
D Q(t) Q(t+1)
0 0 0
0 1 0
1 0 1
1 1 1

D-триггер (D от англ. delay - задержка)[19][20] - запоминает состояние входа и выдаёт его на выход. D-триггеры имеют, как минимум, два входа: информационный D и синхронизации С. Сохранение информации в D-триггерах происходит в момент прихода активного фронта на вход С. Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой. Рассуждая чисто теоретически, D-триггер можно образовать из любых RS- или JK-триггеров, если на их входы одновременно подавать взаимно инверсные сигналы.

D-триггер в основном используется для реализации защёлки. Так, например, для снятия 32 бит информации с параллельной шины, берут 32 D-триггера и объединяют их входы синхронизации для управления записью информации в защёлку, а 32 D входа подсоединяют к шине.

[править] T-триггер

Изображение T-триггера на схемах.
Работа схемы T-триггера (при T=1) на базе восьми 2И-НЕ логических вентилей. Слева — входы, справа — выходы. Синий цвет соответствует 0, красный — 1
T Q(t) Q(t+1)
0 0 0
0 1 1
1 0 1
1 1 0

Т-триггер[21][22] по каждому такту изменяет своё логическое состояние на противоположное при единице на входе Т, и не изменяет выходное состояние при нуле на входе T. Т-триггер часто называют счётным триггером. Т-триггер может строиться как на JK, так и на D-триггерах. Как можно видеть в таблице истинности JK-триггера, он переходит в инверсное состояние каждый раз при одновременной подаче на входы J и K логической 1. Это свойство позволяет создать на базе JK-триггера Т-триггер, объединяя входы J и К. Наличие в D-триггере динамического С входа позволяет получить на его основе T-триггер. При этом вход D соединяется с инверсным выходом, а на вход С подаются счётные импульсы. В результате триггер при каждом счётном импульсе запоминает значение \bar Q, то есть будет переключаться в противоположное состояние.

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

[править] История

Рис.1 Схемы из патента Икклза и Джордана 1918 г., один (фиг.1) нарисован как два инвертирующих каскада усилителя с положительной обратной связью, другой (фиг.2) как симметричная перекрёстносвязанная пара.
  • 1918 г. М.А.Бонч-Бруевич предложил схему переключающего устройства, имеющего два устойчивых рабочих состояния. Это устройство впоследствии было названо триггером.
  • 1918 г. У.Икклз и Ф.Джордан (США) независимо от Бонч-Бруевича изобрели электронное реле (flip-flop, флип-флоп, триггер).

[править] Триггеры с любым числом устойчивых состояний

Триггеры на элементах (N-1)ИЛИ-НЕ Триггеры на элементах (N-1)И-НЕ

Триггер с любым числом устойчивых состояний N [23]строится из N элементов (N-1)ИЛИ-НЕ или (N-1)И-НЕ путём соединения выхода каждого элемента (Q0, Q1, ..., Q(N-1)) с соответствующими входами всех других элементов. Т.е. наименьшее число логических элементов для построения N-ичного триггера равно N.

Триггеры на элементах (N-1)ИЛИ-НЕ работают в прямом одноединичном коде (на выходе Q одного из элементов - "1", на выходах Q других элементов - "0").

Триггеры на элементах (N-1)И-НЕ работают в инверсном однонулевом коде (на выходе Q одного из элементов - "0", на выходах Q других элементов - "1").

При добавлении N транзисторов доступа эти триггеры могут работать как ячейки статической сверхоперативной памяти (SRAM)[24].

При добавлении схем управления переключением эти триггеры могут работать как N-ичные аналоги двоичного RS-триггера.

По теореме Джона фон Неймана[25] (позиционные системы счисления) наибольшей плотностью записи и наименьшими аппаратными затратами обладают троичные триггеры, второе место занимают двоичные и четверичные триггеры.

[править] См. также

[править] Литература

  • Жан М. Рабаи, Ананта Чандракасан, Боривож Николич Цифровые интегральные схемы. Методология проектирования = Digital Integrated Circuits. — 2-ое изд. — М.: «Вильямс», 2007. — С. 912. — ISBN 0-13-090996-3
  • Шамшин В.Г., История технических средств коммуникации. Учеб. пособие., 2003. Дальневосточный Государственный Технический Университет.

[править] Примечания

  1. http://physicsbooks.narod.ru/Jansen/1.htm 4.40. Бистабильный мультивибратор (триггер)
  2. de.ifmo.ru - «Последовательностные Схемы»
  3. http://www.intuit.ru/department/hardware/archhard2/1/2.html Интернет университет. 1. Лекция: Основные функциональные элементы ЭВМ, часть 1. Триггер
  4. http://www.net-lib.info/11/4/536.php Константин Рыжов - 100 великих изобретений. 1919 г. - Триггер Бонч-Бруевича, Икклза и Джордана.
  5. http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0...Q(N-1).
  6. http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0...Q(N-1).
  7. http://potan.livejournal.com/91399.html Системы счисления (продолжение).
  8. http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0...Q(N-1).
  9. http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0...Q(N-1).
  10. http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0...Q(N-1).
  11. Троичная цифровая техника. Перспектива и современность. 28.10.05 Александр Кушнеров, Университет им. Бен-Гуриона, Беэр-Шева, Израиль.
  12. Именно Jump — прыжок, а не Jerk — рывок(англ.)
  13. http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER RS-триггер.
  14. http://it.fitib.altstu.ru/neud/shemotechnika/index.php?doc=teor&st=124 Схемотехника. ТЕМА 11. Триггерные схемы. Бистабильная ячейка. Схема устранения дребезга контактов. Асинхронные и синхронные триггеры. Однотактные и двухтактные триггеры. 11.1. Асинхронные RS-триггеры. 11.1.1. RS – триггер на двух элементах “2и-не”.
  15. http://masters.donntu.edu.ua/2001/fvti/tereschuk/diss/g2.htm 2 ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ СБИС НА ПЕРЕКЛЮЧАТЕЛЬНОМ УРОВНЕ. Рис.2.6-а) SR-фиксатор, б) Реализация SR-фиксатора на МОП-транзисторах
  16. http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER JK-триггер
  17. http://dfe3300.karelia.ru/koi/posob/log_basis/triger3.html Логические основы ЭВМ. JK-триггер
  18. www.gelezo.com - Триггеры
  19. http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER D-триггер.
  20. http://dfe3300.karelia.ru/koi/posob/log_basis/triger1.html Логические основы ЭВМ. D-Триггер
  21. http://digital.sibsutis.ru/digital/T_trigg.htm Т-триггеры.
  22. http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#TTRIGGER Т-триггер
  23. http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0...Q(N-1).
  24. http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0...Q(N-1).
  25. http://deepblue.lib.umich.edu/bitstream/2027.42/3972/5/bab6286.0001.001.pdf Раздел 5.2 Choice of binary system

[править] Ссылки