Рассмотрение состояний функционирующего триггера на примере генератора одиночного импульса. Построение схемы рабочих переходов асинхронного электронного устройства под воздействием внешних сигналов. Расчет недетерминированного поведения RS-триггера.
Впервые приводится полная граф-схема асинхронного RS-триггера, включающая пять состояний и двадцать переходов между ними. На примере работы устройства - генератора одиночного импульса - показано, что так называемое «запрещенное» состояние является рабочим в конкретной схемной реализации и поэтому не может априори считаться таковым на этапе рассмотрения всех свойств триггера.Наглядным примером является асинхронный RS-триггер [1-8], который представляет собой устройство, составленное из пары одинаковых двухвходовых логических элементов И-НЕ (или ИЛИ-НЕ), один из входов каждого из которых свободен и является одним из входов управления триггера, а другие входы каждого из элементов соединены с выходами парного элемента и одновременно являются выходами триггера. Свойство асинхронности обычно применяется к устройствам с детерминированным поведением (автоматам), сохраняющим устойчивое состоянии после изменения входных сигналов и выполнения перехода из другого своего состояния [9]. Состояния и переходы удобно представить в виде граф-схемы, где состояния - вершины графа - отображаются кружочками, маркированными номером состояния, а переходы - дугами, соединяющими их. Для удобства пользования такой граф-схемой приведем простые правила соединения вершин графа: 1) Из каждого состояния выходят 4 дуги потому, что возможны 4 комбинации состояния двух входных переменных S и R, а описание поведения системы в каждом из своих состояний должно быть полным для всей группы возможных событий на ее входах. Нарисуем в виде кружочков пять состояний с номерами 0011, 0110, 1001, 1101 и 1110, где числа номера состояния отражают соответственно порядку записи состояние входных и выходных переменных S, R, 1 и 0.С использованием понятия состояния устройства, учитывающего одновременное состояние как входных, так и выходных линий, построена полная граф-схема функционирования асинхронного RS-триггера и соответствующая ей карта Карно, включающие пять состояний и двадцать переходов между ними.
Введение
В научно-технической литературе принято считать под состоянием триггера состояние только его выходных линий, что зачастую ведет к неполному описанию основ его функционирования. Наглядным примером является асинхронный RS-триггер [1-8], который представляет собой устройство, составленное из пары одинаковых двухвходовых логических элементов И-НЕ (или ИЛИ-НЕ), один из входов каждого из которых свободен и является одним из входов управления триггера, а другие входы каждого из элементов соединены с выходами парного элемента и одновременно являются выходами триггера. Входы управления триггера принято обозначать буквами S - сигнал установки (Set) и R - сигнал сброса (Reset), а выходы устройства Q и Q . Свойство асинхронности обычно применяется к устройствам с детерминированным поведением (автоматам), сохраняющим устойчивое состоянии после изменения входных сигналов и выполнения перехода из другого своего состояния [9]. При этом сам переход может проходить через промежуточные неустойчивые состояния.
Полный набор состояний асинхронного RS-триггера
Рассмотрим известную схему RS-триггера на элементах И-НЕ (Рис. 1). Поскольку выход Q не является инверсией выхода Q, изменим обозначения выходов устройства на нейтральные 0 и 1 соответственно. Самим логическим элементам с этими выходами присвоим те же номера. Количество полных состояний устройства соответствует элементам множества A?S, где A - множество состояний входов, а S - множество состояний внутренних линий [9]. В нашем случае внутренние линии соединены с выходом, поэтому можно поступить проще и определить состояние нашего устройства как совокупность состояний всех его сигнальных линий. Промаркируем все сигнальные линии в схеме. Чтобы не потерять какую-нибудь линию, маркировку выполним так, чтобы имелись пометки на всех выводах устройств, входящих в схему. При этом, естественно, учитывается, что сигнальная линия может иметь только один номер. Всего получается четыре линии - a, b, c и d (рис. 1).
a d c c b d
0 0 1 0 0 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 0 1 1 0
а) б) в) Рис. 1 Схема асинхронного RS-триггера, построенная на двух элементах И-НЕ (a) и их таблицы истинности (б, в).
Так как каждая из линий может принять только два возможных состояния, то общее количество потенциально возможных состояний схемы не может превышать 24=16. Исключим те из них, которые запрещены логикой работы элементов И-НЕ. Для этого составим таблицу (см. Таблицу 1), в которой выпишем в столбец все возможные комбинации сигналов (графа II) и присвоим им номера (графа I).
Таблица 1 - Полные состояния асинхронного RS-триггера
Далее выпишем отдельно столбцы входов (a,d) и выхода (с) логического элемента №1 (графа III) и результат вычисления логического выражения c a&b (графа IV), которое для всех представленных комбинаций переменных a, b и с может принимать одно из двух значений - ИСТИНА (true) или ЛОЖЬ (false). Аналогичным образом заполняем графы V и VI для логического элемента №0. Графу VII заполняем номерами из первой и второй граф только тех строк, для которых в обоих графах с номерами IV и VI имеется запись true. Остальные строки не вписываются, т.к. для этих строк имеется хотя бы одна комбинация, которая для логических элементов И-НЕ, входящих в схему, не существует. После пересчета количества заполненных строк в графе VII обнаруживаем, что асинхронный RS-триггер может находиться в пяти различных состояниях.
Переходы между состояниями RS-триггера
Состояния и переходы удобно представить в виде граф-схемы, где состояния - вершины графа - отображаются кружочками, маркированными номером состояния, а переходы - дугами, соединяющими их. Для удобства пользования такой граф-схемой приведем простые правила соединения вершин графа: 1) Из каждого состояния выходят 4 дуги потому, что возможны 4 комбинации состояния двух входных переменных S и R, а описание поведения системы в каждом из своих состояний должно быть полным для всей группы возможных событий на ее входах. При этом каждая дуга должна приводить или в другое состояние или в то же самое (удерживающая дуга). Количество входящих дуг - не менее одной;
2) При одновременной смене состояния входных переменных может существовать несколько путей, по которым может произойти переход, т.к. одновременность изменения сигналов на входе устройства ни теорией и ни практикой не гарантируется одновременность срабатывания вычислителей логических функций. При неодновременном их срабатывании дуги-переходы ведут в различающиеся друг от друга состояния и, в конечном итоге, могут завершиться в разных конечных (устойчивых) состояниях, что случается в устройствах с недетерминированным поведением;
3) Для рассматриваемого устройства получающийся граф должен быть связным и ни одно из состояний его не должно быть тупиковым (не иметь выхода);
4) Должны быть приведены все возможные дуги-переходы. Суммарное количество дуг-переходов не может превышать количество состояний умноженное на 4;
5) Итоговая граф-схема контролируется на симметрию.
Итак, приведем последовательное изложение построения граф-схемы RS-триггера. Нарисуем в виде кружочков пять состояний с номерами 0011, 0110, 1001, 1101 и 1110, где числа номера состояния отражают соответственно порядку записи состояние входных и выходных переменных S, R, 1 и 0. Располагать кружочки можно произвольно. В нашем случае состояние, в котором на вход устройства поданы инверсии обоих входных сигналов и при этом на обоих выходах устройства имеются сигналы логической единицы, поместим в центре квадрата, а оставшиеся четыре состояния - по его углам (рис. 3).
Соединим дугами переходов кружочки-состояния. Каждую дугу помечаем номером и комбинацией входных сигналов S и R, вызвавших переход. При этом руководствуемся следующими рассуждениями: - дуга 0. Отражает удержание в обычном, так называем, исходном состоянии 1101, при котором инверсии входных сигналов S и R отсутствуют и триггер сохраняет на выходе 0 состояние логической 1, а выход 1 находится в противоположном состоянии. Условный термин. В некоторых автоматах явным образом в этом случае могут присутствовать сигналы возбуждения, вызвавшие переход элементов памяти автомата в данное состояние и не исчезнувшие после переключения в него. Для нашего простейшего случая комбинация входных сигналов - две логические единицы - хотя и не содержит явных признаков воздействия на триггер, но является удерживающей, поскольку все оставшиеся комбинации приводят к переключению в другие состояния. Кроме этого обязательно рисуем эту дугу для полноты учета исходящих из состояния количества дуг;
Рис. 2 Промежуточная граф схема переходов между состояниями RS- триггера.
- дуги 1, 2, 3. 4. Дуга 1 отражает появление инверсии сигнала S и переход в состояние 0110, триггер переключает свои выходы в противоположное от предыдущего состояния. Комбинация входных сигналов 01 в данном случае является явно удерживающей. Поэтому рисуем и дугу 2. Вернуться в предыдущее состояние 1101 возвратом сигнала S не удастся, т.к. по изменению состояния этого сигнала с 0 на 1 триггер по дуге 3 попадает в другое устойчивое состояние 1110, в котором при отсутствии инверсий входных сигналов S и R сохраняется единичное состояние триггера - на выходе 1 - логическая единица, а на выходе 0 - противоположное значение. Сохранение состояния отображаем дугой 4, хотя, как и для дуги 0 явно сформированных сигналов воздействия на триггер нет. Но, как и в вышеуказанном случае, удерживающим фактором являются не отдельные сигналы, а совокупность двух входных сигналов, а точнее их комбинация. В этих случаях именно комбинация 11 в отличие от любой другой обеспечивает сохранение текущего состояния. Все остальные входные комбинации приводят к переключению устройства в другое состояние. В отличие от состояния 0110 из текущего состояния 1110 по дуге 8 можно вернуться в предыдущее (0110) именно возвратом состояния сигнала S, вызвавшего переход. Но при этом на выходах устройства ничего не меняется. Четырехпозиционная переменная, описывающая состояние схемы меняется только в первой позиции, принадлежащей входному сигналу S. Манипулируя данным сигналом, далее этих двух состояний продвинуться по графу не удастся и выходные сигналы при этом не изменяются.
Переходы по перечисленным дугам выполняются при единичном состоянии входа R. Точно такую же конструкцию из дуг 5, 6, 7 и 9 выстраиваем при единичном состоянии входа S, переводя триггер из состояния 1110 в 1001 затем из 1101 и назад в 1001.
Далее рассмотрим дуги перехода в центральное состояние 0011 и возврат из него: - дуги 10, 11, 12, 13 и 20. Первые четыре дуги отражают переход из любого текущего состояния в состояние 0011, в котором при наличии инверсий обоих входных сигналов S и R на обоих выходах триггера имеются сигналы логических единиц, а дуга 20 - удержание устройства в этом состоянии данной входной комбинацией;
- дуги 14 и 15. По этим дугам можно благополучно осуществить возврат соответственно в состояние 0110 и 1001 из состояния 0011, если соответственно переводить в единичное состояние один из сигналов R или S;
- дуги 18 и 19. При одновременном переходе обоих входных сигналов R и S из состояния логического нуля в состояние логической единицы непредсказуемо возвращается в одно из двух возможных состояний - 1101 или 1110. Причем слово «непредсказуемо» отражает тот факт, что средствами логики (а также и теории вероятности) нет возможности предсказать результат выполнения этого перехода. В данном случае мы имеем устройство с недетерминированным поведением. Кроме этого возникает трудность подсчета количества дуг-переходов. С точки зрения входных - это две дуги, а с точки зрения выходных из центрального состояния - одна дуга, порождаемая единственной комбинацией входных сигналов;
- дуга 16 отражает переход из состояния 1001 в 0110 при одновременной смене обоих входных сигналов S и R на противоположные. Причем, если в первом состоянии активным сигналом был сигнал R, и он обеспечивал формирование выходной комбинации в состоянии Reset - нулевой выход - логическая единица, а единичный - в состоянии 0, то при противоположной входной комбинации выходы триггера переключаются в состояние противоположное своему предыдущему - Set. При рассмотрении возможной неодновременности срабатывания логических вычислителей для указанного перехода возможны еще два альтернативных пути - один через состояние 1101, а другой через центральное 0011. Заметим, что изменение выходного сигнала первого логического элемента за счет изменения сигнала S с инверсного (логический ноль) на прямое (логическая единица) происходит с задержкой на одном этом элементе, а изменение состояния выхода нулевого (нижнего) логического элемента произойдет только, когда на его верхний вход (линия с) поступит измененный сигнал от выхода первого. Таким образом, с учетом еще одной задержки в нижнем элементе и с учетом понимания того, что задержка на двух элементах больше задержки на одном, через который входное воздействие было передано на вход другого, можно утверждать, что выход устройства, меняющий логическую единицу на логический ноль всегда запаздывает относительно другого, и для нашей граф-схемы можно дугу 16 закончить не в состоянии 0110, а в центральном состоянии 0011, откуда уже имеется путь по дуге 14 с такой же комбинацией входных сигналов, по которой и завершится переход в финишное состояние 0110.
- дуга 17 и две ее альтернативные дуги из состояния 0110 в состояние 1001 аналогично дуге 16 заменяются последовательным переходом по дуге
17 в центральное состояние и последующим переходом по существующей дуге 15.
В итоге получается граф-схема всех возможных переходов RS-триггера, которая могла бы быть идеальной граф-схемой алгоритма функционирования конечного автомата, если бы только не «расщепленная» дуга-переход с номерами 18/19 из состояния одновременного возбуждения обоих входных сигналов в состояние одновременного их переключения в не активное состояние (Рис. 4). Для схемы, построенной из элементов И-НЕ - это переход из состояния входов 00 в состояние 11. Поэтому, хотя в некоторых источниках и утверждается, что триггеры - это элементарные автоматы, содержащие элемент памяти и схему управления [4], на примере RS триггера видим, что наличие такого недетерминированного поведения не позволяет относить его к указанному классу устройств.
Рис. 4 Окончательная граф схема переходов между состояниями RS-триггера.
Дополним полученную граф - схему RS-триггера картой Карно (Рис. 4). На приведенной карте учитывается последовательность естественных событий - смены состояний реального устройства: сначала происходит изменение входного сигнала (перемещение по горизонтали), после чего срабатывают логические вычислители (перемещение по вертикали) и изменяется состояние триггера. Например, для дуги 13 сначала меняется значение сигнала S (переход через среднюю вертикальную линию справа налево) co значения логической единицы на логический нуль, а затем уже срабатывает логический элемент, и меняется выходной сигнал на выходе 1 со значения логического 0 на значение логической 1 (переход через среднюю горизонталь сверху вниз).
Рис. 4 Карта Карно RS-триггера.
Незапрещенное «запрещенное» состояние RS-триггера
Состояние триггера 0011 (когда на оба входа триггера одновременно подаются сигналы с уровнем соответствующим уровню сигнала возбуждения или переключения триггера) традиционно в литературе называют «запрещенным». Приведем пример, когда такое состояние триггера используется в схеме в качестве рабочего на примере генератора одиночных импульсов (ГОИ), построенного с использованием двух асинхронных RS-триггеров. Данное устройство строится простым соединением двух RS-триггеров по схеме, приведенной на рис. 5.
ГОИ работает таким образом, что кратковременным импульсным сигналом а производится его перевод в «возбужденное» состояние (можно говорить «состояние взведенного курка»), в котором оно может находиться сколь угодно долго при отсутствии сигнала f на втором его входе (f = 0). И как только на втором входе появляется сигнал (f = 1), выходной сигнал устройства меняет состояние 1 на инверсное значение (d = 0), которое длится ровно столько же по времени, сколько существует входной сигнал f = 1. Все последующие смены состояний сигнальной линии не приводят к изменению выходного сигнала устройства - для такого изменения необходимо сигналом a заново «взвести курок». Временная диаграмма одного цикла работы ГОИ приведена на рис. 6.
I II III IV V VI a 1 0 1 1 1 1 b 1 0 0 1 1 1 c 0 1 1 0 0 0 d 1 1 1 0 1 1 e 0 1 1 1 0 0 f 0 0 0 1 0 1 а) б)
Рис. 5 Схема ГОИ на двух асинхронных RS-триггерах (а). Типовая последовательность смены состояний линий устройства (б). I - исходное состояние устройства. Сигналы a и d инверсные.
Рис. 6 Временные диаграммы одного цикла работы ГОИ, построенного на двух асинхронных RS-триггерах.
В результате за один цикл работы ГОИ триггер T2 находится дважды в так называемом «запрещенном» состоянии в фазах II и III (рис. 5б), при этом оно было рабочим состоянием триггера. Существуют и другие примеры реальных устройств, включающих в качестве базовых элементов RS-триггеры, в которых за один цикл работы реализуется так называемое «запрещенное» состояние. Например, такая ситуация наблюдается за один цикл работы (записи одного бита информации) в динамическом D-триггере относительно одного из трех RS-триггеров, входящих в его состав. По этой причине называть состояние триггера «запрещенным» на этапе описания его свойств не педагогично и может вести к потере важной информации об особенностях функционирования устройства.
Вывод
С использованием понятия состояния устройства, учитывающего одновременное состояние как входных, так и выходных линий, построена полная граф-схема функционирования асинхронного RS-триггера и соответствующая ей карта Карно, включающие пять состояний и двадцать переходов между ними. Установлено, что данный триггер не может считаться конечным автоматом изза наличия недетерминированного поведения (расщепленной дуги-перехода из центрального состояния).
Показана практическая реализуемость так называемого «запрещенного» состояния асинхронного RS-триггера в широко используемых устройствах цифровой вычислительной техники и поэтому оно не может быть отвергнуто при перечислении всех свойств рассматриваемого устройства. Игнорирование указанных особенностей триггера может вести к потере ключевой информации о работе устройства.
Список литературы
1. Алексеенко А.Г. Основы микросхемотехники. М.: Юнимедиастайл, 2002.
2. Григорьев Б.И. Элементная база и устройства цифровой техники. Учеб. пособие: СПБ: НИУ ИТМО, 2012.
3. Зельдин Е.А. Триггеры. М.: «Энергоатомиздат», 1983.
4. Иноземцев В.А. Изучение элементной базы цифровой техники. Брянск: Изд. БГУ, 2002.