Триггер
Триггер (бистабильный мультивибратор[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).
Кроме табличного определения работы триггера в секвенциальной логике существует формульное задание функции триггера. Например, функцию RS-триггера в секвенциальной логике представляет формула .
Если триггер синхронный, то существует также дополнительный вход синхронизации. Для того, чтобы такой триггер учёл информацию на синхронных входах, на входе синхронизации необходимо сформировать активный фронт (обычно положительный фронт).
Входы триггера
Входы триггеров обычно обозначают следующим образом:
- 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-триггер
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-триггера, изображённая на рисунке, при подаче на оба инверсных входа логического нуля, перейдёт в состояние, когда на обоих выходах будут единицы, что не соответствует логике выхода триггера, поскольку инверсный выход будет равен неинверсному , то есть .
RS-триггер используется для создания сигнала с положительным и отрицательным фронтами, отдельно управляемыми посредством стробов, разнесённых во времени.
RS-триггеры иногда называют RS-фиксаторами[15].
JK-триггер
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 | 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 | 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 соединяется с инверсным выходом, а на вход С подаются счётные импульсы. В результате триггер при каждом счётном импульсе запоминает значение , то есть будет переключаться в противоположное состояние.
Т-триггер часто применяют для понижения частоты в 2 раза, при этом на Т вход подают единицу, а на С — сигнал с частотой, которая будет поделена.
История
- 1918 г. М. А. Бонч-Бруевич предложил схему переключающего устройства, имеющего два устойчивых рабочих состояния. Это устройство впоследствии было названо триггером.[23]
- 1918 г. У.Икклз и Ф.Джордан (Великобритания) независимо от Бонч-Бруевича изобрели электронное реле (flip-flop, флип-флоп, триггер).
Триггеры с любым числом устойчивых состояний
Триггер с любым числом устойчивых состояний N [24]строится из 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)[25].
При добавлении схем управления переключением эти триггеры могут работать как N-ичные аналоги двоичного RS-триггера.
В непозиционных системах счисления:
удельные затраты инверторов от числа состояний триггера не зависят: .
удельные затраты диодов в логических частях инверторов от числа состояний триггера имеют линейную зависимость: . По этому параметру выгоднее двоичные триггеры.
В сдвоенных показательных позиционных системах счисления:
по теореме Джона фон Неймана [26] (позиционные системы счисления) из целочисленных систем счисления наибольшей плотностью записи и наименьшими аппаратными затратами обладают троичные триггеры, второе место занимают двоичные и четверичные триггеры.
См. также
- Двоичная система счисления
- Бит
- Двоичные логические элементы
- Инвертор
- Троичный триггер
- Декатрон — ламповый счётчик с 10-ю устойчивыми состояниями.
- Счётчик (электроника)
- Регистр (цифровая техника)
- Компьютер
- Триггер Шмитта
Литература
- Жан М. Рабаи, Ананта Чандракасан, Боривож Николич. Цифровые интегральные схемы. Методология проектирования = Digital Integrated Circuits. — 2-ое изд. — М.: «Вильямс», 2007. — С. 912. — ISBN 0-13-090996-3.
- Шамшин В. Г., История технических средств коммуникации. Учеб. пособие., 2003. Дальневосточный Государственный Технический Университет.
- Васюкевич В. О. Аналитика триггерных функций // Автоматика и вычислительная техника. — 2009. — № 4. — С. 21-29. — ISSN 0132-4160.
Примечания
- ↑ http://physicsbooks.narod.ru/Jansen/1.htm 4.40. Бистабильный мультивибратор (триггер)
- ↑ de.ifmo.ru — «Последовательностные Схемы»
- ↑ http://www.intuit.ru/department/hardware/archhard2/1/2.html Интернет университет. 1. Лекция: Основные функциональные элементы ЭВМ, часть 1. Триггер
- ↑ http://www.net-lib.info/11/4/536.php Константин Рыжов — 100 великих изобретений. 1919 г. — Триггер Бонч-Бруевича, Икклза и Джордана.
- ↑ http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0…Q(N-1).
- ↑ http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0…Q(N-1).
- ↑ http://potan.livejournal.com/91399.html Системы счисления (продолжение).
- ↑ http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0…Q(N-1).
- ↑ http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0…Q(N-1).
- ↑ http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0…Q(N-1).
- ↑ Троичная цифровая техника. Перспектива и современность. 28.10.05 Александр Кушнеров, Университет им. Бен-Гуриона, Беэр-Шева, Израиль.
- ↑ Именно Jump — прыжок, а не Jerk — рывок (англ.)
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER RS-триггер.
- ↑ http://it.fitib.altstu.ru/neud/shemotechnika/index.php?doc=teor&st=124 Схемотехника. ТЕМА 11. Триггерные схемы. Бистабильная ячейка. Схема устранения дребезга контактов. Асинхронные и синхронные триггеры. Однотактные и двухтактные триггеры. 11.1. Асинхронные RS-триггеры. 11.1.1. RS — триггер на двух элементах «2и-не».
- ↑ http://masters.donntu.edu.ua/2001/fvti/tereschuk/diss/g2.htm 2 ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ СБИС НА ПЕРЕКЛЮЧАТЕЛЬНОМ УРОВНЕ. Рис.2.6-а) SR-фиксатор, б) Реализация SR-фиксатора на МОП-транзисторах
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER JK-триггер
- ↑ http://dfe3300.karelia.ru/koi/posob/log_basis/triger3.html Логические основы ЭВМ. JK-триггер
- ↑ www.gelezo.com — Триггеры
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER D-триггер.
- ↑ http://dfe3300.karelia.ru/koi/posob/log_basis/triger1.html Логические основы ЭВМ. D-Триггер
- ↑ http://digital.sibsutis.ru/digital/T_trigg.htm Т-триггеры.
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#TTRIGGER Т-триггер
- ↑ http://schools.keldysh.ru/sch444/MUSEUM/1_17-20n.htm Страницы истории. 1918 год.
- ↑ http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0…Q(N-1).
- ↑ http://trinary.ru/discussions/61 Бесконечные ряды одноединичных и однонулевых триггеров на элементах (n-1)ИЛИ-НЕ и (n-1)И-НЕ с любым числом устойчивых состояний с записью и чтением по выходным линиям Q0…Q(N-1).
- ↑ http://deepblue.lib.umich.edu/bitstream/2027.42/3972/5/bab6286.0001.001.pdf Раздел 5.2 Choice of binary system
Ссылки
- http://www.intuit.ru/department/hardware/archhard2/1/2.html Подробнее о триггерах
- http://leso.sibsutis.ru/index.php?act=metod&target=metod_leso2_4 Лабораторная работа. Исследование триггеров
- http://digital.sibsutis.ru/digital/Trigg.htm Принципы работы триггеров
- http://digital.sibsutis.ru/digital/RS_trigg.htm RS триггеры
- http://digital.sibsutis.ru/digital/D_trigg.htm D-триггеры
- http://digital.sibsutis.ru/digital/T_trigg.htm счетные (T-триггеры)
- http://digital.sibsutis.ru/digital/JK_trigg.htm JK-триггеры
- http://de.ifmo.ru/--books/electron/Trigg-RG.htm 3.1 Триггеры
- http://www.softcraft.ru/auto/ka/rsm/rsm01.shtml Часть 1. Электронная схема и формальные модели
- http://www.tspu.tula.ru/ivt/old_site/umr/timoi/solovieva/Computer/tregger.htm 4.5. Триггер.
- http://college.biysk.secna.ru/inform/1_5_7.html 5.7. Что такое триггер?
- http://vvk2.mpei.ac.ru/KAT/Dig_Cir/5.html 5. ТРИГГЕРЫ
- http://www.vt1.ru/mc/67.html 2.3.1. Триггеры
- http://www.mirmk.net/content/view/25/28/ RS-триггер
- http://naf-st.ru/articles/digit/trigger/ Триггеры
- http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM Триггер
- Триггер
- http://www.brgu.ru/data/facultet/fizmat/ktf/zifrovaja_texnika/1_06.htm 1.6. Триггеры
- http://cxem.net/beginner/beginner15.php Триггеры
- http://www.eltech.ru/misc/LGA_2007_FINAL/Allpage/Section9/PART925.HTM 9.2.5. ПОСТРОЕНИЕ ЭЛЕМЕНТОВ ПАМЯТИ
- http://www.exponenta.ru/educat/systemat/1006/3_projects/ims.asp 3. Триггеры
- http://shema.relline.ru/main/lections/second/rstrigg Асинхронный RS-триггер
- http://www.diagram.com.ua/info/rad_nach/30.shtml RS-ТРИГГЕР
- http://potan.livejournal.com/81398.html Энергосбережение и системы счисления.
- http://www.yudenisov.narod.ru/EIS/Vol06/d11.htm D.1.1. Элементная база АЛУ. Триггер
- http://it.fitib.altstu.ru/neud/shemotechnika/index.php?doc=teor&st=124 Схемотехника. ТЕМА 11. Триггерные схемы. Бистабильная ячейка. Схема устранения дребезга контактов. Асинхронные и синхронные триггеры. Однотактные и двухтактные триггеры.
- http://aleria.info/temp/f14o27njba_phencycl05.djvu Прохоров А. М.,Алексеев Д. М. и др. Физическая энциклопедия, Большая Российская энциклопедия, 1998 г., 5 т. Стр.167. Триггер