11.1. Переключательные схемы. В качестве одной из интерпретаций булевых функций рассмотрим электрическую схему, состоящую из источника напряжения (батареи), лампочки и одного или двух ключей х 1 и x 2. Ключи управляются кнопками с двумя состояниями: кнопка нажата (1) и кнопка отпущена (0). Если в исходном состоянии ключ разомкнут, то при нажатии кнопки он замыкается. Ключ может быть сконструирован и так, что в исходном состоянии он замкнут, тогда нажатие кнопки означает его размыкание, т. е. приводит к противоположному результату. Поэтому нормально замкнутые ключи обозначим через и .
При соответствующих состояниях кнопок лампочка принимает одно из двух состояний: горит (1) и не горит (0). Состояния кнопок отождествляются со значениями булевых переменных х 1 и x 2,а состояние лампочки - со значением функций этих переменных.
Операции отрицания соответствует схема с одним нормально замкнутым ключом (рис. 11.1а). Если кнопка нажата (х = 1), ключ разомкнут и лампочка не горит, т. е. f(x) = 0; при отпущенной кнопке (х = 0) ключ замкнут и лампочка горит, т. е. f(x) = 1. Операциям дизъюнкции и конъюнкции соответствуют схемы с двумя нормально разомкнутыми ключами (рис. 11.1б, в).Легко убедиться, что в схеме рис. 1б лампочка горит при нажатии хотя бы одной из кнопок, а в схеме рис. 1в - только при нажатии обеих кнопок одновременно.
|
|
Рис. 11.1 – Элементарные контактные схемы
Любую сложную булеву функцию можно представить некоторой переключательной схемой. На рис. 11.2а показана схема, реализующая функцию . Та же функция представляется равносильной формулой , которой соответствует другая более простая схема
(рис. 11.2б ). Следует иметь в виду, что ключи, обозначенные одинаковыми буквами (х или х), связаны между собой и управляются общей кнопкой.
Рис. 11.2 - Контактная схема до и после упрощения
В реальных устройствах используются ключи различной конструкции и физической природы (механические, электромагнитные, электронные, гидравлические, пневматические и т. д.). Однако при реализации логических функций многие технические особенности не имеют значения. Существенными свойствами контактных схем являются исходные положения ключей (нормально разомкнуты или нормально замкнуты) и способ их соединения между собой и внешними устройствами. Эта информация полностью отображается графом, ребра которого соответствуют ключам, а вершины - точкам их соединения. Ребра нормально разомкнутых ключей обозначаются соответствующей переменной (х), а нормально замкнутых - отрицанием переменной (). Например, контактная схема (рис. 11.2б)изображается графом, как показано на рис. 11.3а. При изображении контактных схем графами принимаются некоторые специфические условия и упрощения. Обычно переменные обозначаются в разрывах линий, изображающих ребра. При этом ребрами считаются только такие линии, которые обозначены какой-либо переменной или ее отрицанием. Другие линии, не являющиеся ребрами графа, могут изображать входы и выходы схемы, связи с другими схемами и т. п. Кроме того, вершины второй степени могут не изображаться, так как им инцидентны пары последовательно соединенных ребер, из которых каждое обозначено соответствующей переменной. На рис. 11.3бпоказана контактная схема в обычно принятом виде.
|
|
Рис. 11.3 – Граф контактной схемы
11.2. Контакты. Как уже отмечалось, любую булеву функцию можно реализовать схемой, состоящей из последовательно и параллельно соединенных ключей. Каждый такой ключ может находиться в двух состояниях — разомкнут (0) и замкнут (1), а переход из одного состояния в другое осуществляется каким-либо управляющим органом.
В электрических цепях роль ключей играют многочисленные устройства, предназначенные для коммутации (замыкания и размыкания): выключатели, электромагнитные реле, телеграфные ключи, электронные ключевые схемы и т. п. Обычные выключатели, телеграфные ключи и подобные им устройства управляются рукой человека. Состояние электромагнитного реле изменяется под воздействием электрического тока, протекающего по обмотке катушки. Ключом в широком смысле является всякое устройство, способное принимать только одно из двух возможных состояний: механические защелки, дверные замки, рычаги управления, железнодорожные светофоры и т. п. Более того, двузначную переменную, независимо от ее конкретного смысла, можно рассматривать, как ключ, состояние которого соответствует значению этой переменной. В рамках общей теории целесообразно отвлечься от конструктивных и специфических особенностей ключевых объектов и интерпретировать ключ как отрезок проводника с контактом, который может быть разомкнут или замкнут. Разомкнутое состояние контакта отождествляется с нулем, а замкнутое - с единицей.
Замыкающие (нормально разомкнутые) контакты обозначаются хi, размыкающие (нормально замкнутые) контакты — через . При управляющем воздействии контакт меняет свое состояние: нормально разомкнутый контакт замыкается, а нормально замкнутый - размыкается. В зависимости от своего состояния контакты пропускают электрический ток или препятствуют его прохождению.
Процессы переключения в реальных устройствах занимают некоторое, иногда довольно большое время. Однако во многих задачах время переключения можно не учитывать, считая, что контакты переходят из одного состояния в другое мгновенно.
11.3. Однотактные схемы. Схемы, образованные соединением контактов, которые переключаются одновременно (за один такт), а время переключения не учитывается, называются однотактными.
Простейшие примеры таких схем были рассмотрены выше. Каждая из них, будучи включена в цепь с источником, в результате совместного действия контактов замыкает или размыкает эту цепь и, следовательно, сама является некоторым контактом по отношению к цепи с источником. Подобные контактные схемы называют двухполюсными.
Соответствие между двухполюсной контактной схемой и булевой функцией выражается следующим образом: значения переменных определяются наличием (1) или отсутствием (0) тока в обмотке реле, а значения функции у - состоянием двухполюсной цепи (как и для контактов, 0 соответствует разомкнутой, а 1 — замкнутой цепи).
Независимо от характера ключей двухполюсная контактная схема представляется как схема с п входами и одним выходом у (рис. 11.4).Состояния входов определяют воздействия на контакты схемы, причем вход х, управляет всеми контактами, обозначенными этой буквой (хi или ). | Рис. 11. 4 | |
11.4. Анализ контактных схем. Задача анализа контактной схемы состоит в построении соответствующей ей булевой функции. Для параллельно-последовательных схем эта задача решается на основе того, что параллельное соединение контактов соответствует дизъюнкции, а последовательное соединение — конъюнкции переменных, которыми эти контакты обозначены в схеме. Например, для двухполюсной контактной схемы (рис. 11.5) Если схема (или ее часть) имеет произвольную структуру, то ее анализ проводится путем выделения всех путей между входным и выходным полюсами схемы. Каждый такой путь представляется конъюнкцией переменных входящих в нее контактов, а вся схема — дизъюнкцией этих конъюнкций. Например, для мостиковой схемы (рис. 11.6) | Рис. 11.5 Рис. 11.6 | |
Интересно отметить, что эта функция реализует операцию сложения по модулю 2 трех двоичных переменных, т. е. у = х 1 + х 2+ х 3,в чем можно убедиться по таблицам соответствующих функций.
|
|
11.5. Синтез контактных схем. При построении контактной схемы по заданной булевой функции (задача синтеза) исходная функция может быть задана как логической формулой, так и таблицей. В обоих случаях прежде всего необходимо выразить функции через операции конъюнкции, дизъюнкции и отрицания. Каждая операция конъюнкции соответствует последовательному соединению контактов, а операция дизъюнкции — параллельному соединению. В результате получаем последовательно-параллельную контактную схему.
Пусть, например, функция задана таблицей соответствия, приведенной ниже.
На основе ее в совершенной дизъюнктивной нормальной форме строится схема в виде параллельного соединения ветвей, каждая из которых представляет собой последовательное соединение контактов, соответствующих переменным конституент единицы (рис. 7а).
Преобразуя исходное выражение, можно получить другие контактные схемы, соответствующие данной функции. Так, для рассматриваемого примера:
|
|
Этому выражению соответствует схема рис. 11.7б, которая содержит на два контакта меньше. Еще проще мостиковая схема (рис. 11.6), которая реализует ту же функцию.
Рис. 11.7
Центральной проблемой синтеза является построение наиболее простой или в каком-то смысле оптимальной схемы. Часто эта проблема сводится к минимизации булевых функций, т. е. к такому их представлению, в котором соответствующие формулы содержат минимальное количество вхождений переменных. Проблема оптимального синтеза еще далека от полного решения, но разработанные методы позволяют существенно упрощать формулу и схемы, а в сравнительно простых случаях получать и оптимальные схемы.
11.6. Схемы со многими выходами.Если необходимо реализовать несколько булевых функций, то каждая из них может быть представлена соответствующей контактной схемой. Однако такой путь неэкономичен. Более целесообразно построить единую схему с несколькими выходами (рис. 11.8), соответствующими данной системе функций: | Рис. 11.8 |
Примером многовыходной схемы может служить полное релейное дерево, в котором каждая конституента единицы представлена одним выходным полюсом, а всего имеется 2n выходов (на рис. 11.9аизображено полное релейное дерево для п = 3).
Рис. 11.9 - Полное релейное дерево
Любую функцию от п переменных можно реализовать объединением выходов полного релейного дерева, которые соответствуют тем наборам переменных, на которых функция принимает значения 1. Контакты, которые не подсоединены к требуемым выходам, удаляются из схемы. Например, для функции, заданной таблицей в (11.5), построение приведено на рис. 11.9б. После упрощения эта схема приводится к виду рис. 11.7б.
Более простые схемы можно получить объединением участков релейного дерева, общих для путей, которые соответствуют различным конституентам. Для этого обозначаем одинаковыми буквами или цифрами те узлы, из которых выходят пары хп и с совпадающими значениями функции. Дальше аналогично обозначаем одинаковыми буквами узлы, из которых выходят пары хп -1и с совпадающими предыдущими обозначениями (порядок букв также учитывается) и т. д. до последней пары х 1и После этого одинаково обозначенные узлы объединяются и проводятся упрощения в соответствии с рис. 11.10.
Рис. 11.10 – Упрощение контактных схем | |||
Так, в схеме рис. 11.9б для пар ()имеется две комбинации значений (1, 0) и (0, 1). Узлы, из которых выходят пары с комбинациями (1, 0), обозначаем буквой а, а узлы, из которых выходят пары с комбинациями (0, 1) — буквой b. Для пар ()также встречаются две комбинации в предыдущих обозначениях: (а, b) и (b, а). Узлы, из которых выходят эти пары, обозначаем соответственно через а' и b'. Наконец, для пары () имеется единственная комбинация (а', b'), и узел, из которого выходит эта пара, обозначаем через а". | |||
Объединяя узлы с одинаковыми обозначениями (а и b), приходим к схеме, показанной на рис. 11.11, которая после замены параллельных контактов совпадает с мостиковой схемой (рис. 11.6). | Рис. 11.11 | ||
Объединяя выходы полного релейного дерева, можно построить контактные схемы и для нескольких функций при условии, что множества наборов значений переменных, на которых эти функции принимают значения 1, не пересекаются. Пусть, например, требуется построить контактную схему с двумя выходами, реализующую функции и . Из таблицы соответствия для этих функций
видим, что ни на одном наборе значений переменных функции не принимают одновременно значений, равных 1. Следовательно, для построения требуемой контактной схемы можно воспользоваться полным релейным деревом (рис. 11.12а)в результате преобразования которого получаем схему с двумя выходами (рис. 11.12б).
Рис. 11.12 – Многовыходная схема
11.7. Булевы матрицы. Для описания контактных схем произвольной структуры с любым числом выходов используются различные типы булевых матриц, элементами которых являются константы 0 и 1, переменные и функции этих переменных.
Пусть контактная схема имеет k узлов. Матрица непосредственных связей (примитивная матрица соединений) Р - это квадратная таблица k×k, элементы главной диагонали которой равны 1, а элементы представляют собой булеву функцию прямого соединения между узлами i и j. Матрица полных связей (полная матрица соединений) Q отличается тем, что ее элементы представляют собой булеву функцию с учетом всевозможных путей без циклов между узлами i и j. Так, для схемы рис. 11.13 имеем:
Рис. 11. 13 |
Произведение булевых матриц определяется, как и для обычных матриц, правилом «строка на столбец», но операциям сложения и умножения действительных чисел соответствуют дизъюнкция и конъюнкция логических переменных и функций.
Можно показать, что для любой контактной схемы с k узлами существует такое r ≤ k - 1, что , где s - произвольное целое положительное число. Это значит, что матрицу полных связей можно получить умножением матрицы непосредственных связей Р на саму себя до тех пор, пока результат не начнет повторяться, причем число таких умножений не превышает k - 1. Так, для рассматриваемого примера имеем:
Следует отметить, что элементы матрицы Рi представляют собой функции всех связей между узлами посредством не более чем i -1 узлов. В частности, каждый элемент матрицы P2учитывает непосредственные связи между парой узлов и связи между ними посредством еще одного узла. Например, соответствует непосредственной связи между узлами 2 и 3 через контакт , а также связи посредством узла 4 (член х2х3).
8. Исключение узлов (анализ). При анализе контактной схемы с помощью булевых матриц сначала записывается матрица непосредственных связей Р, а затем путем возведения ее в соответствующую степень получается матрица полных связей Q. Элементы матрицы Q и представляют собой булевы функции данной контактной схемы между парами узлов с соответствующими номерами.
Однако такой способ в большинстве случаев не является рациональным, так как обычно представляют интерес только некоторые из функций между внешними узлами (полюсами) схемы. Поэтому имеет смысл предварительно исключить внутренние узлы и таким образом уменьшить порядок матрицы Р,прежде чем возводить ее в требуемую степень. При исключении s-гo узла в матрице непосредственных связей вычерчиваются s-я строка и s-й столбец и каждый ее элемент заменяется элементом . Член учитывает путь между узлами iи j через узел s, который действует параллельно с непосредственной связью . В результате исключения узла матрица Рпреобразуется к матрице Psна единицу меньшего порядка, которая представляет собой матрицу непосредственных связей относительно неисключенной совокупности узлов. Пусть, например, в схеме рис. 11.14 требуется определить булевы функции между узлами 1, 2 и 3. Матрицы Ри Р4 имеют вид:
Рис. 11.14 | , |
Определив после преобразований, получим матрицу полных связей относительно узлов 1, 2 и 3,называемую матрицей выходов:
Элементы этой матрицы являются функциями выходов:
9. Введение узлов (синтез). При синтезе контактных схем задаются функции для внешних узлов (полюсов), которые определяют матрицу выходов. Необходимое и достаточное условие непротиворечивости этих функций состоит в том, что матрица выходов должна быть устойчивой, т. е. удовлетворять равенству F = F2.
Структуру контактной схемы, реализующей заданную непротиворечивую совокупность функций, можно получить из матрицы Fпутем ее последовательного расширения, соответствующего операции введения узла. Эта операция обратна исключению узла и приводит к матрице Fs, порядок которой на единицу выше, а элементы таковы, что при исключении узла s снова получим матрицу F.Последовательным применением операции введения узла исходная матрица расширяется и преобразуется к виду, при котором элементы представляют собой константы 0 или 1, переменные, их отрицания или элементарные конъюнкции переменных. Тогда полученную матрицу можно рассматривать как матрицу непосредственных связей, на основе которой легко построить соответствующую контактную схему. При этом элементарные конъюнкции реализуются последовательными соединениями соответствующих контактов.
Операция введения неоднозначна, поэтому можно получать различные схемы, удовлетворяющие заданным функциям. Выбор наилучшего пути преобразования матрицы F к матрице непосредственных связей Р, определяющей вид контактной схемы, в значительной степени зависит от искусства инженера.
Пусть требуется построить контактную схему со следующими функциями:
Матрица выходов имеет вид:
Элементы этой матрицы можно рассматривать как результат исключения узла 4, который мы должны ввести, т. е.
Полагая (возможны и другие варианты), имеем . Таким образом, в результате введения узла 4 имеем матрицу
Продолжая аналогично, можно записать соотношения для элементов матрицы F(4,5), соответствующей введению узла 5:
Если принять, то необходимо положить
В результате приходим к матрице, которую можно рассматривать как матрицу непосредственных связей Р синтезируемой схемы:
Схема, соответствущая этой матрице, показана на рис. 11.15. | Рис. 11.15 |
11.10. Вентильные схемы. До сих пор предполагалось, что контакты обладают двусторонней проводимостью, т. е. в открытом состоянии они пропускают сигналы как в прямом, так и в обратном направлениях. Таковы, например, контакты электромагнитных реле. Однако при использовании электронных ключей, например управляемых диодов, проводимость в прямом направлении настолько превышает проводимость в обратном направлении, что практически можно считать контакты односторонними, т. е. пропускающими сигналы только в прямом направлении. Схемы с односторонними контактами называют вентильными схемами.
В вентильных схемах имеет место естественное разделение сигналов: если к узлу схемы одновременно подступают несколько сигналов, то результирующий сигнал в этом узле действует как их дизъюнкция. Направления прохождений сигналов обозначаются на схемах стрелками, относящимися к соответствующим контактам. Пример вентильной схемы показан на рис. 11.16.
Рис. 11.16 – Вентильная схема
Булевы матрицы вентильных схем в общем случае несимметричны. Так, для приведенной схемы имеем:
,
Матрицу Q можно также записать непосредственно из вентильной схемы, учитывая для ее элементов все пути от i - гоузла к j-му узлу по направлению стрелок. Так,
и т. д.
Булева функция для любого выхода может быть определена также последовательным исключением узлов, кроме входного и выходного.
Синтез вентильных схем осуществляется аналогично изложенному выше, причем в исходной матрице выходов все функции, кроме заданных, обычно полагаются тождественно равными нулю. Пусть, например, . Матрица выходов и ее расширения имеют вид:
, ,
Схемы, соответствующие F(4) и F(4,5) показаны на рис. 11.17. Как видно, вторая схема (рис. 11.17б) содержит на один контакт меньше, чем первая (рис. 11.17а).
Рис. 11.17