Триггер (Mjniiyj)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/49/Transistor_Bistable_interactive_animated-ru.svg/220px-Transistor_Bistable_interactive_animated-ru.svg.png)
(R1, R2 = 1 kΩ, R3, R4 = 10 kΩ).
Триггер (триггерная система) — класс электронных устройств, обладающих способностью длительно находиться в одном из двух устойчивых состояний и чередовать их под воздействием внешних сигналов. Каждое состояние триггера легко распознаётся по значению выходного напряжения. По характеру действия триггеры относятся к импульсным устройствам — их активные элементы (транзисторы, электронные лампы) работают в ключевом режиме, а смена состояний длится очень короткое время.
Отличительной особенностью триггера как функционального устройства является свойство запоминания двоичной информации. Под памятью триггера подразумевают способность оставаться в одном из двух состояний и после прекращения действия переключающего сигнала. Приняв одно из состояний за «1», а другое за «0», можно считать, что триггер хранит (помнит) один разряд числа, записанного в двоичном коде.
При включении питания триггер непредсказуемо принимает (с равной или неравной вероятностью) одно из двух состояний. Это приводит к необходимости выполнять первоначальную установку триггера в требуемое исходное состояние, то есть подавать сигнал сброса на асинхронные входы триггеров, счётчиков, регистров, и т. д. (например, с помощью RC-цепочки), а также учитывать, что ячейки ОЗУ, построенного на триггерах (память статического типа), содержат после включения произвольную информацию.
При изготовлении триггеров применяются преимущественно полупроводниковые приборы (обычно биполярные и полевые транзисторы), в прошлом — электромагнитные реле, электронные лампы. С появлением технологии производства микросхем малой и средней степени интеграции был освоен выпуск обширной номенклатуры триггеров в интегральном исполнении. В настоящее время логические схемы, в том числе с использованием триггеров, создают в интегрированных средах разработки под различные программируемые логические интегральные схемы (ПЛИС). Используются, в основном, в вычислительной технике для организации компонентов вычислительных систем: регистров, счётчиков, процессоров, ОЗУ.
История
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Eccles-Jordan_trigger_circuit_flip-flip_drawings.png/200px-Eccles-Jordan_trigger_circuit_flip-flip_drawings.png)
Разрывные характеристики электронных ламп, на которых основано действие триггеров, впервые под названием «катодное реле» были описаны М. А. Бонч-Бруевичем в 1918 г.[1] Практическая схема триггера была опубликована 5 августа 1920 года У.Г. Икклзом и Ф. У. Джорданом в патенте Великобритании № 148582 заявленном 21 июня 1918 г.[2] и в статье «Переключающее реле, использующее трёхэлектродные вакуумные лампы»[3] от 19 сентября 1919 года.
Определения
[править | править код]Триггер (бистабильный мультивибратор[4]) — это цифровой автомат, имеющий несколько входов и 2 выхода.
Триггер — это устройство последовательного типа с двумя устойчивыми состояниями равновесия, предназначенное для записи и хранения информации. Под действием входных сигналов триггер может переключаться из одного устойчивого состояния в другое. При этом напряжение на его выходе скачкообразно изменяется.
Триггерами называют[5] такие логические устройства, выходные сигналы которых определяются не только сигналами на входах, но и предысторией их работы, то есть состоянием элементов памяти.
Триггер — один из базовых (основных) элементов цифровой техники[6]. Некоторые исследователи[7] включают триггер в 100 великих изобретений.
Триггер не является логическим элементом первого уровня, а сам состоит из логических элементов первого уровня — инверторов или логических вентилей. По отношению к логическим элементам первого уровня триггер является логическим устройством второго уровня.
Триггер — элементарная ячейка оперативной памяти.
Триггер — простейшее устройство, выполняющее логическую функцию с обратной связью, то есть простейшее устройство кибернетики.
N-ичный триггер — устройство (элементарная переключаемая ячейка памяти, переключатель с N устойчивыми положениями), которое имеет N устойчивых состояний и возможность переключения из любого состояния в любое другое состояние.
Триггер — это логическое устройство с двумя устойчивыми состояниями 0 и 1, имеющие несколько входов и два выхода, один прямой, а другой инверсный.
Классификация
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80_%D0%B2_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5.svg/220px-%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80_%D0%B2_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/RS-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80_%D0%BD%D0%B0_%D0%B4%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D1%8B%D1%85_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%85.svg/220px-RS-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80_%D0%BD%D0%B0_%D0%B4%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D1%8B%D1%85_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%85.svg.png)
Триггеры подразделяются на две большие группы — динамические и статические. Названы они так по способу представления выходной информации.
Динамический триггер представляет собой управляемый генератор, одно из состояний которого (единичное) характеризуется наличием на выходе непрерывной последовательности импульсов определённой частоты, а другое (нулевое) — отсутствием выходных импульсов. Смена состояний производится внешними импульсами (рисунок 3).
К статическим триггерам относят устройства, каждое состояние которых характеризуется неизменными уровнями выходного напряжения (выходными потенциалами): высоким — близким к напряжению питания и низким — около нуля. Статические триггеры по способу представления выходной информации часто называют потенциальными.
Статические (потенциальные) триггеры, в свою очередь, подразделяются на две неравные по практическому значению группы — симметричные и несимметричные триггеры. Оба класса реализуются на двухкаскадном усилителе из двух инверторов с положительной обратной связью, а названием своим они обязаны способам организации внутренних электрических связей между элементами схемы.
Симметричные триггеры отличает симметрия схемы и по структуре, и по параметрам элементов обоих плеч. Для несимметричных триггеров характерна неидентичность параметров элементов отдельных каскадов, а также и связей между ними.
Симметричные статические триггеры составляют основную массу триггеров, используемых в современной радиоэлектронной аппаратуре. Схемы симметричных триггеров в простейшей реализации (2х2ИЛИ-НЕ) показаны на рисунке 4.
Основной и наиболее общий классификационный признак — функциональный — позволяет систематизировать статические симметричные триггеры по способу организации логических связей между входами и выходами триггера в определённые дискретные моменты времени до и после появления входных сигналов. По этой классификации триггеры характеризуются числом логических входов и их функциональным назначением (рисунок 5).
Вторая классификационная схема, независимая от функциональной, характеризует триггеры по способу ввода информации и оценивает их по времени обновления выходной информации относительно момента смены информации на входах (рисунок 6).
Каждая из систем классификации характеризует триггеры по разным показателям и поэтому дополняет одна другую. К примеру, триггеры RS-типа могут быть в синхронном и асинхронном исполнении.
Асинхронный триггер изменяет своё состояние непосредственно в момент изменения соответствующего информационного сигнала или сигналов, с некоторой задержкой равной сумме задержек на элементах, составляющих данный триггер.
Синхронные триггеры реагируют на информационные сигналы только при наличии соответствующего сигнала на так называемом входе синхронизации С (от англ. clock). Этот вход также обозначают термином «такт». Такие информационные сигналы называют синхронными. Синхронные триггеры в свою очередь подразделяют на триггеры со статическим и с динамическим управлением по входу синхронизации С.
Триггеры со статическим управлением воспринимают информационные сигналы при подаче на вход С логической единицы (прямой вход) или логического нуля (инверсный вход).
Триггеры с динамическим управлением воспринимают информационные сигналы при изменении (перепаде) сигнала на входе С от 0 к 1 (прямой динамический С-вход) или от 1 к 0 (инверсный динамический С-вход). Также встречается название «триггер управляемый фронтом».
Одноступенчатые триггеры (latch, защёлки) состоят из одной ступени представляющей собой элемент памяти и схему управления, бывают, как правило, со статическим управлением. Одноступенчатые триггеры с динамическим управлением применяются в первой ступени двухступенчатых триггеров с динамическим управлением. Одноступенчатый триггер на УГО(Условное графическое обозначение) обозначают одной буквой Т.
Двухступенчатые триггеры (flip-flop, «шлёпающие») делятся на триггеры со статическим управлением и триггеры с динамическим управлением. При одном уровне сигнала на входе С информация, в соответствии с логикой работы триггера, записывается в первую ступень (вторая ступень заблокирована для записи). При другом уровне этого сигнала происходит копирование состояния первой ступени во вторую (первая ступень заблокирована для записи), выходной сигнал появляется в этот момент времени с задержкой равной задержке срабатывания ступени. Обычно двухступенчатые триггеры применяются в схемах, где логические функции входов триггера зависят от его выходов, во избежание временны́х гонок. Двухступенчатые триггеры в условных графических обозначениях (УГО) обозначают двумя буквами ТТ.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/7474_flip_flop_circuit.png/220px-7474_flip_flop_circuit.png)
Триггеры со сложной логикой бывают также одно- и двухступенчатые. В этих триггерах наряду с синхронными сигналами присутствуют и асинхронные. Такой триггер изображён на рисунке справа, верхний (S) и нижний (R) входные сигналы являются асинхронными.
Триггерные схемы классифицируют также по следующим признакам:
- числу целочисленных устойчивых состояний (основанию системы счисления) (обычно устойчивых состояний два, реже — больше, см. двоичный триггер, троичный триггер, четверичный триггер[8], …, десятичный триггер, …, n-ичный триггер, …);
- числу уровней — два уровня (высокий, низкий) в двухуровневых элементах, три уровня (положительный, ноль, отрицательный) в трёхуровневых элементах[9], …, N-уровней в N-уровневых элементах, … ;
- по способу реакции на помехи — прозрачные и непрозрачные. Непрозрачные, в свою очередь, делятся на проницаемые и непроницаемые;
- по составу логических элементов (триггеры на элементах И-НЕ, ИЛИ-НЕ и др.).
Типы синхронизации
[править | править код]Рисунок 6. Классификация триггеров по типу синхронизации
Базовые понятия
[править | править код]Триггер — это запоминающий элемент с двумя (или более) устойчивыми состояниями, изменение которых происходит под действием входных сигналов и предназначен для хранения одного бита информации, то есть имеет состояния логического 0 или логической 1.
Все разновидности триггеров представляют собой конечный автомат, включающий собственно элемент памяти (ЭП) и комбинационную схему (КС), которая может называться схемой управления или входной логикой триггера (рисунок 7).
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%B0.png/300px-%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%B0.png)
В графе триггера каждая вершина графа соединена со всеми другими вершинами, при этом переходы от вершины к вершине возможны в обе стороны (двухсторонние). Граф двоичного триггера — две точки соединённые отрезком прямой линии, троичного триггера — треугольник, четверичного триггера — квадрат с диагоналями, пятеричного триггера — пятиугольник с пентаграммой и т. д. При N=1 граф триггера вырождается в одну точку, в математике ему соответствует унарная единица или унарный ноль, а в электронике — монтажная «1» или монтажный «0», то есть простейшее ПЗУ. Устойчивые состояния имеют на графе триггера дополнительную петлю, которая обозначает, что при снятии управляющих сигналов триггер остаётся в установленном состоянии.
Состояние триггера определяется сигналами на прямом и инверсном выходах. При положительном представлении (позитивная логика) высокий уровень напряжения на прямом выходе отображает значение логической 1 (состояние = 1), а низкий уровень — значение логического 0 (состояние = 0). При отрицательном представлении (негативная логика) высокому уровню (напряжению) соответствует логическое значение 0, а низкому уровню (напряжению) соответствует логическое значение 1.
Изменение состояния триггера (его переключение или запись) обеспечивается внешними сигналами и сигналами обратной связи, поступающими с выходов триггера на входы схемы управления (комбинационной схемы или входной логики). Обычно внешние сигналы, как и входы триггера, обозначают латинскими буквами R, S, T, C, D, V и др.
В простейших схемах триггеров отдельная схема управления (КС) может отсутствовать. Поскольку функциональные свойства триггеров определяются их входной логикой, то названия основных входов переносятся на название триггера.
Входы триггеров разделяются на информационные (R, S, T и др.) и управляющие (С, V). Информационные входы предназначены для приёма сигналов запоминаемой информации. Названия входных сигналов отождествляют с названиями входов триггера. Управляющие входы служат для управления записью информации. В триггерах может быть два вида управляющих сигналов:
- синхронизирующий (тактовый) сигнал С, поступающий на С-вход (тактовый вход);
- разрешающий сигнал V, поступающий на V-вход.
На V-входы триггера поступают сигналы, которые разрешают (V=1) или запрещают (V=0) запись информации. В синхронных триггерах с V-входом запись информации возможна при совпадении сигналов на управляющих С и V-входах.
Работа триггеров описывается с помощью таблицы переключений, являющейся аналогом таблицы истинности для комбинационной логики. Выходное состояние триггера обычно обозначают буквой Q. Индекс возле буквы означает состояние до подачи сигнала (t) либо (t-1) или после подачи сигнала (t+1) или (t). В триггерах с парафазным (двухфазным) выходом имеется второй (инверсный) выход, который обозначают как Q, /Q или Q'.
Кроме табличного определения работы триггера существует формальное задание функции триггера в формулах секвенциальной логики. Например, функцию RS-триггера в секвенциальной логике представляет формула:
Аналитическая запись SR-триггера выглядит так:
Типы триггеров
[править | править код]RS-триггеры
[править | править код]RS-триггер асинхронный
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/K555TR2_RS_Trigger.gif/100px-K555TR2_RS_Trigger.gif)
S | R | Q(t) | Q(t) |
---|---|---|---|
H | А | 0 | 1 |
А | Н | 1 | 0 |
H | H | Q(t-1) | Q(t-1) |
А | А | не определено |
не определено |
А — активный уровень; Н — неактивный уровень. |
![](http://upload.wikimedia.org/wikipedia/commons/c/c2/RS_Trigger_Logic_NOR.gif)
S | R | Q(t) | Q(t) |
---|---|---|---|
0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
0 | 0 | Q(t-1) | Q(t-1) |
1 | 1 | 0 | 0 |
RS-триггер[10][11], или SR-триггер (от англ. Set/Reset — установить/сбросить) — асинхронный триггер, который сохраняет своё предыдущее состояние при неактивном состоянии обоих входов и изменяет своё состояние при подаче на один из его входов активного уровня. При подаче на оба входа активного уровня состояние триггера вообще говоря неопределённо, но в конкретных реализациях на логических элементах оба выхода принимают состояния либо логического нуля, либо логической 1. В зависимости от конкретной реализации активным входным уровнем может быть как логическая 1, так и логический 0. Так, в RS-триггере выполненном на 2 элементах 2И-НЕ активным входным уровнем является логический 0.
При подаче активного уровня на вход S (от англ. Set — установить) выходное состояние становится равным логической единице. А при подаче активного уровня на вход R (от англ. Reset — сбросить) выходное состояние становится равным логическому нулю. Состояние, при котором на оба входа R и S одновременно поданы активные уровни не определено и зависит от реализации, например в триггере на элементах «или-не» оба выхода переходят в состояние логической 0, которое сохраняется пока на входах удерживаются логические 1. Перевод одного из входов в неактивное состояние, в данном примере в логическую 0, переводит триггер в одно из разрешённых устойчивых состояний. Одновременный перевод обоих входов из активного в неактивное состояние вызывает непредсказуемое переключение триггера в одно из устойчивых состояний.
В некоторой литературе триггеры, у которых документировано, какое именно состояние на выходах соответствует одновременным активным уровням на входах (то есть RS-триггеры, у которых запрещённое состояние доопределено тем или иным образом), называются Rs, rS или даже R- и S-триггеры, по названию того входа, который является приоритетным. Тем не менее, выход из доопределённого состояния должен всё равно производиться последовательным (не одновременным) переводом входов в неактивное состояние, с соблюдением паспортных задержек (соответствующих физическому быстродействию триггера).
RS-триггер используется для формирования сигнала с положительным и отрицательным фронтами, отдельно управляемыми посредством подачи импульсов на входы, которые разнесены во времени. Также RS-триггеры часто используются для исключения ложного срабатывания цифровых устройств от так называемого «дребезга контактов».
RS-триггеры иногда называют RS-фиксаторами[12].
-
Условное графическое обозначение асинхронного RS-триггера.
-
Асинхронный RS-триггер на элементах 2И–НЕ.
-
Граф переходов асинхронного RS-триггера.
-
Карта Карно асинхронного RS-триггера.
-
Схема устранения дребезга контактов.
RS-триггер синхронный
[править | править код]C | S | R | Q(t) | Q(t+1) |
---|---|---|---|---|
0 | x | x | 0 | 0 |
1 | 1 | |||
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | не определено |
1 | 1 | 1 | 1 | не определено |
Схема синхронного RS-триггера совпадает со схемой одноступенчатого парафазного (двухфазного) D-триггера, но не наоборот, так как в парафазном (двухфазном) D-триггере не используются комбинации S=0, R=0 и S=1, R=1.
Алгоритм функционирования синхронного RS-триггера можно представить формулой
где x — неопределённое состояние.
Аналогично, триггер с доопределённым состоянием (Rs или rS) допускает наличие двух активных сигналов на момент тактирования, и переключается согласно тому сигналу, который для него является приоритетным.
-
Условное графическое обозначение RS-триггера со статической синхронизацией
-
Схема синхронного RS-триггера на элементах 2И-НЕ.
-
Граф переходов синхронного RS-триггера.
-
Карта Карно синхронного RS-триггера.
D-триггеры
[править | править код]D-триггеры также называют триггерами задержки (от англ. delay).
D-триггер синхронный
[править | править код]D | Q(t) | Q(t+1) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 1 |
1 | 1 | 1 |
D-триггер (D от англ. delay — задержка[13][14][15], либо от data[16] — данные) — запоминает состояние входа и выдаёт его на выход.
D-триггеры имеют, как минимум, два входа: информационный D и синхронизации С. Вход синхронизации С может быть статическим (потенциальным) и динамическим. У триггеров со статическим входом С информация записывается в течение времени, при котором уровень сигнала C=1, такие триггеры иногда называют "прозрачной защёлкой". В триггерах с динамическим входом С информация записывается со входа D в состояние триггера только в момент перепада напряжения на входе С. Динамический вход изображают на схемах треугольником или наклонной чертой. Если вершина треугольника обращена в сторону микросхемы или косая черта в виде слэша (прямой динамический вход), то триггер срабатывает по фронту импульса, если треугольник повёрнут от изображения микросхемы или косая черта в виде обратного слэша (инверсный динамический вход) — то по спаду импульса.
В таком триггере информация на выходе может быть задержана на один такт по отношению к входной информации.Так как информация на выходе остаётся неизменной до прихода очередного импульса синхронизации, D-триггер называют также триггером с запоминанием информации или триггером-защёлкой.
Теоретически, парафазный (двухфазный) D-триггер можно образовать из любых RS- или JK-триггеров, если на их входы одновременно подавать взаимно инверсные сигналы.
D-триггер в основном используется для реализации защёлки. Так, например, для запоминания 32 бит информации с параллельной шины в некоторый момент используют 32 D-триггера и объединяют их входы синхронизации для управления записью информации в образованную защёлку, а 32 D входа подсоединяют к шине.
В одноступенчатых D-триггерах во время прозрачности все изменения информации на входе D передаются на выход Q. Там, где это нежелательно, нужно применять двухступенчатые (двухтактные, Master-Slave, MS) D-триггеры.
D-триггер двухступенчатый
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/D-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80.png/552px-D-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80.png)
В одноступенчатом триггере имеется одна ступень запоминания информации, при этом, в состоянии записи триггер «прозрачен», то есть все изменения на входе триггера повторяются на выходе триггера, что может привести к ложным срабатываниям устройств стоящих после триггера. В двухступенчатом триггере две ступени. Вначале информация записывается в первую ступень, все изменения на входе триггера во вторую ступень до сигнала перезаписи не попадают, затем, после перехода D-триггера первой ступени в режим хранения, информация переписывается во вторую ступень и появляется на выходе, что позволяет избежать состояния «прозрачности». Двухступенчатый триггер обозначают ТТ. Если первая ступень двухступенчатого D-триггера выполнена на статическом D-триггере, то двухступенчатый D-триггер называют двухступенчатым D-триггером со статическим управлением, а если на динамическом D-триггере, то двухступенчатый D-триггер называют двухступенчатым D-триггером с динамическим управлением. Двухступенчатый D-триггер может быть реализован с использованием JK-триггера.
T-триггеры
[править | править код]Т-триггер (от англ. Toggle — переключатель) часто называют счётным триггером, так как он является простейшим счётчиком по модулю 2[5].
Т-триггер асинхронный
[править | править код]Асинхронный Т-триггер не имеет входа разрешения счёта — Т и переключается по каждому тактовому импульсу на входе С.
T-триггер синхронный
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/T_flip-flop.gif/170px-T_flip-flop.gif)
T | Q(t) | Q(t+1) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a9/T-Type_Flip-flop.svg/100px-T-Type_Flip-flop.svg.png)
Синхронный Т-триггер[17], при единице на входе Т, по каждому такту на входе С изменяет своё логическое состояние на противоположное, и не изменяет выходное состояние при нуле на входе T. Т-триггер можно построить на JK-триггере, на двухступенчатом (Master-Slave, MS) D-триггере и на двух одноступенчатых D-триггерах и инверторе.
Как можно видеть в таблице истинности JK-триггера, он переходит в инверсное состояние каждый раз при одновременной подаче на входы J и K логической 1. Это свойство позволяет создать на базе JK-триггера Т-триггер, объединяя входы J и К.
В двухступенчатом (Master-Slave, MS) D-триггере инверсный выход Q соединяется со входом D, а на вход С подаются счётные импульсы. В результате триггер при каждом счётном импульсе запоминает значение Q, то есть будет переключаться в противоположное состояние.
Т-триггер часто применяют для деления частоты на 2, при этом на Т вход подают единицу, а на С — сигнал с частотой, которая будет поделена на 2.
JK-триггер
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/40/K555TV9_JK_Trigger.gif/100px-K555TV9_JK_Trigger.gif)
Название для этого типа триггеров предложил Элдрид Нельсон во время его работы в фирме Hughes Aircraft. При разработке логической схемы этого триггера Нельсон обозначил пары триггерных входов противоположного действия A и B, C и D, E и F, G и H, J и К. В патентной заявке, поданной в 1953 году, для входов описываемого им триггера, впоследствии получившего название JK-триггер, Нельсон использовал обозначения « J-input» и «K-input»[18]
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-триггер[19][20] работает так же как RS-триггер, с одним лишь исключением: при подаче логической единицы на оба входа J и K состояние выхода триггера изменяется на противоположное, то есть выполняется операция инверсии (чем он и отличается от RS-триггеров с доопределённым состоянием, которые строго переходят в логический ноль или единицу, независимо от предыдущего состояния). Вход J аналогичен входу S у RS-триггера. Вход K аналогичен входу R у RS-триггера. При подаче единицы на вход J и нуля на вход K выходное состояние триггера становится равным логической единице. А при подаче единицы на вход K и нуля на вход J выходное состояние триггера становится равным логическому нулю. JK-триггер в отличие от RS-триггера не имеет запрещённых состояний на основных входах, однако это никак не помогает при нарушении правил разработки логических схем. На практике применяются только синхронные JK-триггеры, то есть состояния основных входов J и K учитываются только в момент тактирования, например по положительному фронту импульса на входе синхронизации, поскольку понятие «одновременности» для асинхронных сигналов уже само по себе, в самом определении, содержит неопределённость поведения по типу гонки состояний (опять же, у Rs- и rS-триггеров этой проблемы нет, потому что они не осуществляют инверсию, а просто подчиняются тому сигналу, который для них приоритетен).
Теоретически, построение асинхронного JK-триггера по сути означало бы построение RS-триггера с динамическими входами, когда фронт сигнала J(S) переключает триггер в логическую единицу, а фронт сигнала K(R) — в ноль, даже если при этом уровень сигнала J продолжает сохраняться, и наоборот. Разумеется, «одновременность» переключения тут прямо запрещена и требует интервалов, определяемых паспортным быстродействием триггера. Триггер со статическим тактированием может вести себя похожим образом при сохранении высокого уровня на входе тактирования в момент переключения входов.
На базе JK-триггера возможно построить D-триггер или Т-триггер. Как можно видеть в таблице истинности JK-триггера, он переходит в инверсное состояние каждый раз при одновременной подаче на входы J и K логической 1. Это свойство позволяет создать на базе JK-триггера Т-триггер, объединив входы J и К[21].
Алгоритм функционирования JK-триггера можно представить формулой:
Реализовать JK-триггер можно при помощи двух RS-триггеров.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/57/JK-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80.png/407px-JK-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80.png)
-
Условное графическое обозначение JK-триггера со статическим входом С
-
Граф переходов JK-триггера
-
Карта Карно JK-триггера
Синхронные и асинхронные триггеры
[править | править код]Асинхронные триггеры
[править | править код]Асинхронный триггер изменяет своё состояние непосредственно в момент появления соответствующего информационного сигнала(ов), с некоторой задержкой равной сумме задержек на элементах, составляющих данный триггер.
![]() | Этот раздел не завершён. |
![]() | Этот раздел не завершён. |
Синхронные триггеры с динамическим тактированием
[править | править код]Синхронные триггеры с динамическим тактированием изменяют своё состояние только в момент определённого перехода тактового сигнала (либо 0→1, либо 1→0, то есть по переднему или заднему фронту тактового импульса). При неизменном уровне сигнала на тактовом входе никакие изменения на информационных входах не отражаются на состоянии триггера.
На рисунке показана схема D-триггера с тактированием по переднему фронту тактового сигнала.
Триггер состоит из трёх асинхронных RS-триггеров на элементах И-НЕ. Один из триггеров основной (DD5, DD6), два других — вспомогательные (DD1, DD2 и DD3, DD4) которые запоминают состояние линии D в момент положительного перепада сигнала С и предотвращает повторное срабатывание.
Когда тактовый сигнал неактивен (С=0), оба вспомогательных триггера имеют на выходе сигнал 1 (основной триггер, таким образом, находится в режиме хранения), причём один из них находится в состоянии «включён» (на выходах логических элементов сигналы 1 и 0), а второй — в «запрещённом» состоянии 11. Какой из триггеров находится в «запрещённом» состоянии, зависит от сигнала на входе D. Так, если D=0, то триггер DD3, DD4 находится в состоянии 11, а триггер DD1, DD2 — в состоянии 10, а при D=1 наблюдается обратная картина.
Как только вход С претерпевает скачок 0→1, вспомогательные триггеры фиксируются в противофазных состояниях 10 и 01, которые не меняются ни при каких изменениях сигнала D. Соответственно, основной триггер оказывается в одном из двух состояний, в зависимости от сигнала D в момент скачка тактового сигнала.
Троичные триггеры
[править | править код]Логические схемы троичных аналогов RS-триггера, одноступенчатого D-триггера, двухступенчатого D-триггера и счётного триггера (T-триггера) приведены на странице[22].
Четверичные триггеры
[править | править код]Логические схемы четверичных аналогов RS-триггера, одноступенчатого D-триггера, двухступенчатого D-триггера и счётного триггера (T-триггера) приведены на странице[23].
Триггеры с любым числом устойчивых состояний
[править | править код]Триггер с любым числом устойчивых состояний N строится из N логических элементов (N-1)ИЛИ-НЕ[англ.] или (N-1)И-НЕ[англ.] путём соединения выхода каждого элемента (Q0, Q1, …, Q(N-1)) с соответствующими входами всех других элементов. То есть наименьшее число логических элементов для построения N-ичного триггера равно N.
Триггеры на элементах (N-1)ИЛИ-НЕ работают в прямом одноединичном коде (на выходе Q одного из элементов — «1», на выходах Q других элементов — «0»).
Триггеры на элементах (N-1)И-НЕ работают в инверсном однонулевом коде (на выходе Q одного из элементов — «0», на выходах Q других элементов — «1»).
Эти триггеры работают как ячейки статической сверхоперативной памяти (SRAM) с управлением через N транзисторов доступа (на схеме не показаны).
При добавлении в логических элементах по одному входу и схем управления переключением эти триггеры могут работать как N-ичные аналоги двоичного RS-триггера.
В непозиционных системах счисления:
удельные затраты инверторов от числа состояний триггера не зависят: , где — число инверторов, — число состояний триггера.
Удельные затраты диодов в логических частях логических элементов от числа состояний триггера имеют линейную зависимость: , где — число инверторов, — число состояний триггера, — число диодов в логической части одного логического элемента. По этому параметру выгоднее двоичные триггеры.
В приведённом выше подходе построения триггеров с любым числом устойчивых состояний при увеличении числа устойчивых состояний — n, увеличивается число входов в логических элементах в каждой элементарной ячейке триггера. Larry K. Baxter, Lexington, Mass. Assignee: Shintron Company, Inc., Cambridge, Mass. US Patent 3,764,919 Oct. 9, 1973 Filed: Dec. 22, 1972 Fig.3 предлагает другой подход к построению триггеров с любым числом устойчивых состояний, при котором число логических элементов и число входов в логических элементах в каждой элементарной ячейке триггера остаётся постоянным, но при этом увеличивается время переключения триггера пропорционально числу разрядов триггера.
Физические реализации триггеров
[править | править код]Триггеры с тиристорами
[править | править код]Тиристор подходит для замены элемента памяти в триггерах.
Описание схемы на примере RS-триггера: К катоду тиристора подключается выход триггера Q, к управляющему электроду подключается вход S, к аноду подключается постоянное напряжение через полевой транзистор с изолированным затвором, к затвору полевого транзистора подключается вход R.
Описание работы: Начальное состояние на выходе Q ноль: тиристор находится в замкнутом состоянии, ток на выходе соответствует нулю. Переход в состояние единица: на вход S подаётся напряжение равно логической единице тиристор разблокируется и напряжение на выходе Q повышается соответственно логической единице, при последующем понижении напряжения на входе S тиристор сохраняет низкое сопротивление и напряжение на выходе Q остаётся равным логической единице. Переход от логической единицы к нулю: на вход R подаётся напряжение равное логической единице полевой транзистор переходит в замкнутое состояние, напряжение на аноде тиристора падает, вследствие чего сопротивление тиристора возрастает и он переходит в состояние низкого выходного напряжения соответствующего логическому нулю, это состояние сохраняется при повышении входного напряжения на аноде тиристора.
Тиристор можно заменить на два биполярных транзистора (смотря какая реализация будет удобнее).
Как итог мы получаем RS-триггер на трёх транзисторах.
Триггеры на релейно-контакторной базе
[править | править код]Несмотря на развитие электроники и особенно микроэлектроники до сих пор применяется простая логика на электромагнитных реле. Это связано с простотой реализации, высокой помехозащищённостью и хорошим уровнем электрической развязки входов и выходов таких схем по сравнению с полупроводниковой и ламповой электроникой. Но следует учитывать, что электромагнитные реле потребляют в большинстве своём значительный ток.
Таковы, например:
- триггерная схема «с самоподхватом» для пуска асинхронных двигателей с короткозамкнутым ротором.
- схемы автопереключения резервных источников питания в промышленности и питании зданий.
Реализация на базе триггеров других типов
[править | править код]Так как любой из четырёх рассматриваемых типов триггеров (RS, D, JK, T) является универсальным, на его базе с помощью дополнительных логических элементов можно реализовать триггер любого другого типа. В таблице показаны примеры такой реализации.
Целевой тип |
RS-триггер | D-триггер | JK-триггер | ТC-триггер |
---|---|---|---|---|
RS | ![]() |
![]() |
![]() | |
D | ![]() |
![]() |
![]() | |
JK | ![]() |
![]() |
![]() | |
ТC | ![]() |
![]() |
![]() |
|
Т | ![]() |
![]() |
![]() |
См. также
[править | править код]- Двоичная система счисления
- Бит
- Двоичные логические элементы
- Инвертор
- Троичный триггер
- Декатрон — ламповый счётчик с 10 устойчивыми состояниями.
- Счётчик (электроника)
- Регистр (цифровая техника)
- Компьютер
- Триггер Шмитта
Литература
[править | править код]- Зельдин Е. А. Триггеры. — Энергоатомиздат, 1983. — С. 96. (недоступная ссылка)
- Жан М. Рабаи, Ананта Чандракасан, Боривож Николич. Цифровые интегральные схемы. Методология проектирования = Digital Integrated Circuits. — 2-ое изд.. — М.: «Вильямс», 2007. — С. 912. — ISBN 0-13-090996-3.
- Шамшин В. Г. История технических средств коммуникации. Учеб. пособие., 2003. Дальневосточный Государственный Технический Университет.
- Васюкевич В. О. Аналитика триггерных функций // Автоматика и вычислительная техника. — 2009. — № 4. — С. 21-29. — ISSN 0132-4160.
- Угрюмов Е. П. Элементы и узлы ЭЦВМ. М.: Высшая школа, 1976.
Примечания
[править | править код]- ↑ Страницы истории Архивировано 9 октября 2009 года.. 1918 год.
- ↑ William Henry Eccles and Frank Wilfred Jordan, «Improvements in ionic relays» Архивная копия от 20 декабря 2008 на Wayback Machine. British patent number: GB 148582 (filed: 21 June 1918; published: 5 August 1920).
- ↑ W. H. Eccles, F. W. Jordan A trigger relay utilizing three-electrode thermionic vacuum tubes. The Electrician, Vol. 83, P. 298 (19 September 1919). Перепечатано в Radio Review, Vol. 1, No. 3, P. 143—146 (December 1919)
- ↑ http://physicsbooks.narod.ru/Jansen/1.htm Архивная копия от 16 апреля 2008 на Wayback Machine 4.40. Бистабильный мультивибратор (триггер)
- ↑ 1 2 de.ifmo.ru — «Последовательностные Схемы» . Дата обращения: 27 ноября 2008. Архивировано 3 декабря 2008 года.
- ↑ http://www.intuit.ru/department/hardware/archhard2/1/2.html Архивная копия от 16 февраля 2007 на Wayback Machine Интернет университет. 1. Лекция: Основные функциональные элементы ЭВМ, часть 1. Триггер
- ↑ http://www.net-lib.info/11/4/536.php Архивная копия от 5 марта 2016 на Wayback Machine Константин Рыжов — 100 великих изобретений. 1919 г. — Триггер Бонч-Бруевича, Икклза и Джордана.
- ↑ http://potan.livejournal.com/91399.html Архивная копия от 27 октября 2006 на Wayback Machine Системы счисления (продолжение).
- ↑ Троичная цифровая техника; Перспектива и современность. 28.10.05 Кушнеров А. Университет им. Бен-Гуриона, Беэр-Шева, Израиль. Дата обращения: 24 декабря 2008. Архивировано 7 октября 2013 года.
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER Архивная копия от 12 октября 2009 на Wayback Machine RS-триггер.
- ↑ http://it.fitib.altstu.ru/neud/shemotechnika/index.php?doc=teor&st=124 Архивная копия от 6 января 2014 на Wayback Machine Схемотехника. ТЕМА 11. Триггерные схемы. Бистабильная ячейка. Схема устранения дребезга контактов. Асинхронные и синхронные триггеры. Однотактные и двухтактные триггеры. 11.1. Асинхронные RS-триггеры. 11.1.1. RS — триггер на двух элементах «2И-НЕ».
- ↑ Архивированная копия . Дата обращения: 24 июня 2009. Архивировано 15 февраля 2010 года. 2 ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ СБИС НА ПЕРЕКЛЮЧАТЕЛЬНОМ УРОВНЕ. Рис.2.6-а) SR-фиксатор, б) Реализация SR-фиксатора на МОП-транзисторах
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER Архивная копия от 12 октября 2009 на Wayback Machine D-триггер.
- ↑ http://dfe3300.karelia.ru/koi/posob/log_basis/triger1.html Архивная копия от 1 февраля 2009 на Wayback Machine Логические основы ЭВМ. D-Триггер (недоступная ссылка с 12-10-2016 [2865 дней])
- ↑ http://cxem.net/beginner/beginner15.php Архивная копия от 30 апреля 2013 на Wayback Machine Триггеры. Тактируемый D-триггер
- ↑ The ARRL handbook for radio amateurs, 2002, стр 7-11
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#TTRIGGER Архивная копия от 12 октября 2009 на Wayback Machine Т-триггер
- ↑ Eldred C. Nelson, "High-Speed Printing System", US 2850566, published Sept. 8, 1953, issued Sept. 2, 1958; page 15
- ↑ http://dssp.karelia.ru/~ivash/ims/t10/TEMA4.HTM#DTRIGGER Архивная копия от 12 октября 2009 на Wayback Machine JK-триггер
- ↑ http://dfe3300.karelia.ru/koi/posob/log_basis/triger3.html Архивная копия от 4 июня 2009 на Wayback Machine Логические основы ЭВМ. JK-триггер
- ↑ www.gelezo.com — Триггеры . Дата обращения: 27 ноября 2008. Архивировано 7 марта 2012 года.
- ↑ Троичные триггеры . Дата обращения: 20 ноября 2015. Архивировано 21 ноября 2015 года.
- ↑ Четверичная цифровая техника . Дата обращения: 20 ноября 2015. Архивировано 21 ноября 2015 года.
- ↑ http://andserkul.narod.ru/5B_BinaryCodedPenta_RS1S2S3S4-trigger.pdf Архивная копия от 21 марта 2016 на Wayback Machine Пятеричный пятибитный RS1S2S3S4-триггер