Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1920

.pdf
Скачиваний:
14
Добавлен:
30.04.2022
Размер:
2.9 Mб
Скачать

в) y(x1,x2,x3) = x2 x3 x1 x3 x1x2; г) y(x1,x2,x3) = x1 x2 x2x3 x1 x3 .

Очевидно, что только две последние формы действительно являются минимальными.

Процедуры выявления тупиковых форм, не являющихся минимальными, значительно усложняют алгоритм Квайна. Поэтому широкое распространение на практике получила графическая интерпретация этого алгоритма – карта Карно (диаграмма Вейча), в которой опасность получения тупиковой не минимальной формы устраняется визуально.

Рис. 5.5. Полный (а) и сокращённые (б,в,г) варианты объединения компонент

210

5.3. Минимизация по карте Карно (диаграмме Вейча)

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

1. Берётся булева функция в произвольной форме – аналитической или табличной. Например:

y(x1,x2,x3)= x1x2 x1 x3 x2 x3.

2.Все переменные разбиваются на две примерно равные группы: x1x2 и x3 или, для четырёх переменных, x1x2 и x3x4.

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

Таблица 5.1 Карта Карно для функции y= x1x2 x1 x3 x2 x3

x3

 

x1x2

 

00

01

11

10

0

0

0

1

0

1

1

1

1

1

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

211

 

 

 

а)

001

 

х3

 

011

 

 

 

 

 

 

 

 

 

 

 

х2

 

 

101

 

 

111

 

01

11

 

 

 

б)

 

 

 

 

 

 

00

 

000

 

010

 

10

 

 

 

 

 

х2

 

 

 

 

х1

х1 100

110

 

 

 

 

 

 

Рис. 5.6. Иллюстрация областей определения булевых функций двух (а) и трёх (б) переменных

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

Заполнение поля карты значениями функции в случае задания последней таблицей заключается в непосредственном переписывании этих значений из таблицы в карту. Использование таблицы является здесь наиболее надёжным и универсальным приёмом (напомним, что речь идёт о ручном заполнении карты). Если функция задана в дизъюнктивной форме, то карту заполняют единицами в тех ячейках, которые соответствуют единичным компонентам. Для рассматриваемого примера функции y(x1,x2,x3) = x1x2 x1 x3 x2 x3 получаем:

x1x2=1 при x1=1 и x2=1 и любых значениях x3; x1 x3=1 при x1=0 и x3=1 и любых значениях x2; x2 x3 =1 при x2=0 и x3=1 и любых значениях x1.

212

При таком способе формирования карты все ячейки, не заполненные единицами, заполняются нулями.

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

4.Как можно большее 2n количество смежных строк и/или столбцов связывают между собой, например, обводят так, как это показано в табл. 5.1.

5.Каждая полученная группа единиц соответствует в алгебраической записи единичным значениям только тех переменных, которые не изменялись в этой группе. Эти переменные выписываются как конъюнктивные компоненты дизъюнктивной формы. Из табл. 5.7 получаем результат минимизации:

y(x1,x2,x3) = x1x2 x3.

Эта заключительная процедура минимизации наглядно показывает, что теоретической основой карты Карно остаётся то же правило склейки, которое использовалось в методе Квайна: x1x2 x1 x2 =x1(x2 x2 )=x1. Действительно, например, группе из двух единиц в табл. 5.1 соответствуют комбинации переменных, которые склеиваются по х3:

x1x2 x3 x1x2 x3 = x1x2(x3 x3 )=x1x2.

Кроме того, становится понятным оговоренное выше особое требование чередования значений переменных – именно такой порядок занесения их в карту обеспечивает возможность склейки по указанному правилу любых двух смежных ячеек. Остановимся на некоторых особых случаях применения карты Карно.

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

2.Если единица осталась несвязанной, то в записи ей соответствует полная дизъюнктивная группа.

213

Случаи 1 и 2 отражены на карте в табл. 5.2, из которой

выписывается

результат

 

 

 

 

 

 

минимизации:

y(x1,x2,x3)=

x

2

x

3

x

1 x2x3 .

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Карта Карно для функции y=

x

1

x

2

x

3

x

1 x2x3 x1

x

2

x

3

 

 

 

 

 

 

x3

 

x1x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

01

 

11

 

10

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

 

0

 

 

1

 

 

 

 

 

 

 

 

 

1

0

1

 

0

 

 

0

 

 

 

 

 

 

 

3. Если в карте существуют несколько вариантов связывания единиц, то следует руководствоваться очевидным соображением: чем меньше получится групп, тем проще будет запись булевой функции. В качестве примера рассмотрим два варианта формирования групп единиц для одной и той же функции (табл. 5.3, 5.4).

Таблица 5.3

Карта Карно с тупиковой формой

 

x3

 

x1x2

 

 

 

00

01

11

10

 

 

0

1

0

1

1

 

 

1

1

1

1

0

 

 

 

 

 

 

 

Таблица 5.4

Карта Карно с минимальной формой

 

x3

 

x1x2

 

 

 

00

01

11

10

 

 

0

1

0

1

1

 

 

1

1

1

1

0

 

Результат минимизации по карте в табл. 5.3 y(x1,x2,x3) = = x1 x2 x2x3 x1x2 x1 x3 .

Результат минимизации по карте в табл. 5.4

214

y(x1,x2,x3) = x1 x2 x2x3 x1 x3

очевидно является лучшим.

4. Карта Карно может быть использована для минимизации конъюнктивных нормальных форм булевых функций. Например, из карты, представленной в табл. 5.5, можно выписать как группы ДНФ (пунктирные линии)

y(x1,x2,x3) = x1 x2 x2 x3=

= x2 ( x1 x3), так и группы КНФ (сплошные линии) y(x1,x2,x3) = x2 ( x1 x3).

 

 

 

 

Таблица 5.5

Карта Карно, иллюстрирующая минимизацию с ДНФ и КНФ

x3

 

x1x2

 

00

01

11

10

0

1

0

0

0

1

1

0

0

1

Результаты минимизации для ДНФ и КНФ эквивалентны. 5. Для функций с числом переменных n > 4 способ объединения единиц в группы существенно отличается от вышеизложенного (могут объединяться не только рядом расположенные единицы), что усложняет пользование картой. В связи с этим карта Карно теряет свои преимущества по сравнению с аналитическим методом Квайна и при n > 4 практически не

используется.

Рассмотрим пример, содержащий рассмотренные выше этапы разработки комбинационного логического устройства.

Техническое задание: разработать логическое устройство, вырабатывающее сигнал А аварийного состояния котла в следующих ситуациях:

одновременное появление сигнала D датчика недопустимого давления и сигнала Т датчика недопустимой температуры;

215

одновременное появление сигнала Т датчика недопустимой температуры и сигнала Н датчика недопустимого уровня воды;

появление сигнала Н датчика недопустимого уровня воды при отсутствии сигналов D и Т.

Из технического задания следует, что на вход устройства поступает три сигнала: T, D, H, а выходом является один сигнал А. Опишем работу этого устройства булевой функцией А от трёх переменных A(T,D,H) и зададим её таблицей (табл. 5.6).

Таблица заполняется непосредственно по условиям технического задания, из которого следует, что А=1, если:

одновременно Т=1 и D=1 независимо от сигнала Н (две нижние строки табл. 5.6);

одновременно Т=1 и Н=1 независимо от сигнала D (третья снизу строка табл. 5.6);

Н=1 при Т=0 и D=0 (сверху вторая строка табл. 5.6). Таблица 5.6

Логическая функция состояний котла

T

D

H

A

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

Для всех других комбинаций Т, D и Н функция равна ну-

лю.

Количество единичных и нулевых значений функции одинаково, поэтому при выборе формы алгебраического описания можно использовать как СДНФ, так и СКНФ:

216

A(T,D,H) = T DH TDH TDH TDH – СДНФ;

A(T,D,H)=(T D H)(T D H )(T D H )(T D H) СКНФ.

Минимизируем СДНФ аналитически.

A(T,D,H) = T DH T DH TDH TDH.

Рис. 5.7. Упрощение исходной формы

Результат: A(T,D,H)=DH TH T D .

Анализ использованных взаимосвязей в СДНФ показывает, что склейка между вторым и четвёртым её элементами избыточна и полученная в результате запись является тупиковой. Уберём лишнюю склейку.

A(T,D,H) =T DH TDH TDH TDH.

Рис. 5.8. Минимизация исходной формы

Результат: A(T,D,H) = DH T D .

Получена минимальная форма искомой булевой функции. Проверим результат минимизации с помощью карты Кар-

но (табл. 5.7).

Таблица 5.7 Карта Карно, иллюстрирующая минимизацию

функции состояния котла

H

 

 

TD

 

00

01

 

11

10

0

0

0

 

1

0

1

1

0

 

1

1

A(T,D,H) = DH T D , результат идентичен.

Минимизация в КНФ A(T,D,H) =(D H)(T D ) приводит к форме, одинаковой по сложности с ДНФ.

217

Задачи для самостоятельного решения

В соответствии с техническим заданием разработать логическое устройство:

описать работу устройства в выбранной системе булевых функций;

минимизировать функцию; составить модель;

убедиться в соответствии модели исходному заданию.

1.Разработать схему управления подвижной платформы

сдвумя независимыми ведущими электродвигателями-

колесами. Органы управления: кнопки “Вперед”, “Назад”, “Вращение по часовой стрелке”, “Вращение против часовой стрелки”.

2. Разработать схему управления электродвигателем объекта. Цель управления выставить объект в центре рабочего участка движения. Движение возможно при наличии сигнала готовности внешнего прибора. Положение объекта относительно центра определяется датчиками “Слева” и “Справа”. Останов происходит при отсутствии сигналов с обоих датчиков. Орган управления ключ “Пуск”.

3.Разработать схему правления подвижной платформы с тремя независимыми ведущими электродвигателями-колесами. Органы управления: кнопки “Вперёд”, “Назад”, “Вращение”.

4.Разработать схему включения-выключения светильника, предусматривающую три независимых пункта управления. На каждом пункте установлен переключатель на два положения: перевод любого переключателя из одного положения в другое вызывает изменение состояния светильника.

5.Разработать схему управления подвижной платформы

счетырьмя независимыми ведущими электродвигателямиколесами. Органы управления: кнопки “Вперед”, “Вращение по часовой стрелке”, “Вращение против часовой стрелки ”.

6.Разработать схему управления входным семафором, работающим по следующему правилу:

218

“Красный свет” все пути заняты или скорость подхода недопустима высока;

“Желтый свет” свободный путь есть, но стрелка на этот путь ещё не переключена, скорость подхода в норме;

“Зеленый свет” стрелка переключена на свободный путь, скорость подхода в норме.

7.Пульт телеуправления подвижным объектом предусматривает подачу команд “Вперед”, “Назад”, “Вправо”, “Влево”, “Стоп” тремя одновременно работающими независимыми операторами. Разработать схему, обеспечивающую прохождение любой из этих команд только тогда, когда она подана по крайней мере двумя операторами.

8.Разработать логическую схему распознавания цифр почтового индекса.

9.Разработать логическую схему управления автоматической мышью, находящей выход из лабиринта. Движение мыши осуществляется от двигателей, связанных с колесами. Необходимые датчики выбираются разработчиком.

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

Понятие об автоматах

Автомат – математическая модель системы или устройства, которое может изменять свои дискретно заданные состояния в дискретные моменты времени.

Такая модель включает в себя пять характеристик устройства:

А = X, Y, Z, , ,

где X = {x1,x2,..,xn} – множество входных сигналов;

Y= {y1,y2,...,ym} – множество выходных сигналов;

Z= {z1,z2,...,zk} – множество состояний устройства. Причём в зависимости от входного сигнала x(t), поступившего

вавтомат в начале такта времени с номером t, и от того, в каком состоянии находился автомат в предшествующем такте

219