Методы синтеза и анализа дискретных конечных автоматов
Л. А. Нестеров'
Петрозаводский государственный университет
АННОТАЦИЯ
Изучение дискретных конечных автоматов, как и других систем автоматики, включает две задачи -синтез и анализ автоматов. Обе задачи являются важными как с теоретической точки зрения, так и с практической.
Ключевые слова: автомат, синтез, анализ, конъюнкция, дизъюнкция.
SUMMARY
The study of discrete automatons as well as other systems of automatics includes two problems - synthesizing and analysis of automatons. Both problems are important both from the theoretical point of view and for practice.
Keywords: automaton, synthesizing, analysis, conjunction, disjunction.
Дискретные конечные автоматы представляют собой широкий класс устройств различных сложности и назначения - от сложнейших ЭВМ до простейших релейных устройств типа пусковой кнопки. Разная сложность логических устройств предопределяет и соответствующую теоретическую основу их синтеза и анализа.
СИНТЕЗ КОНЕЧНЫХ АВТОМАТОВ
Задача синтеза дискретных конечных автоматов сводится к их построению по заданному поведению вход-выход и включает несколько этапов.
На первом этапе, называемом архитектурным или блочным синтезом, автомат разбивается на отдельные блоки с определением их входов и выходов, связей между самими блоками и внешней средой в различных режимах работы автомата, задач, решаемых блоками, и общего плана обмена информацией между ними. При этом задача синтеза сложного автомата сводится к синтезу более простых его составных частей (блоков). На этом этапе решают один из основных вопросов синтеза многотактных автоматов: определяют, можно ли создать автомат с конечным числом входов, выходов и внутренних состояний, который выполнял бы поставленные задачи.
Второй этап, называемый логическим синтезом, состоит из двух подэтапов: абстрактного и структурного синтеза.
1 Автор - доцент кафедры теплотехники и энергоснабжения
© Л. А. Нестеров, 2001
При абстрактном синтезе рассматривают все вопросы: от словесного описания условий работы автомата до построения таблиц состояний (переходов и выходов). Здесь определяют объем памяти каждого блока и автомата в целом, при этом автомат рассматривают как устройство, состоящее из комбинационной части и памяти. Полученная таблица состояний (переходов и выходов) позволяет перейти к решению задач следующего подэтапа.
При структурном синтезе рассматриваются вопросы, связанные со структурой автомата, т. е. совокупности его элементов и связей между ними. На этом этапе устанавливают соответствие между внутренними состояниями автомата и состоянием его элементов памяти, число которых было установлено на этапе абстрактного синтеза. Эта задача называется кодированием внутренних состояний автомата. Кодирование автомата позволяет перейти к построению его структуры, поскольку в этом случае появляется возможность перейти от синтеза дискретного автомата с памятью к синтезу его комбинационного эквивалента (однотактного автомата), когда применим весь математический аппарат алгебры логики.
На заключительном этапе решают вопросы технических и технологических разработок.
Разделение процесса синтеза автоматов на этапы является условным, так как, например, при синтезе простого автомата этап блочного синтеза не нужен, а при синтезе сложного автомата возможно неоднократное возвращение к этому этапу. Наиболее сложным является этап логического синтеза автомата, который практически сводится к получению структурных формул и разработке функциональных схем, неотделимой частью которых является логический элемент.
АНАЛИЗ КОНЕЧНЫХ АВТОМАТОВ
Обратной задачей синтеза является задача анализа дискретных конечных автоматов. При анализе по заданному автомату определяют взаимодействия, осуществляемые им, т. е. последовательности выходных переменных логического устройства при подаче на его вход в тактовые моменты некоторых последовательностей входных переменных.
В процессе эксплуатации систем управления приходится выполнять структурный анализ логических устройств (автоматов), под которым понимают определение их функциональных свойств по схеме. Иногда исследуют схемы для поиска неисправностей.
Анализ предусматривает получение структурных формул для каждого выхода дискретного автомата. Для релейно-контактных схем, например, параллельно-последовательных (класс П), структурная формула может быть записана по структуре автомата.
Анализ схем на бесконтактных логических элементах сводится к получению формул путем последователь-
Л. А. Нестеров. Методы синтеза и анализа дискретных конечных автоматов
67
ной подстановки, при этом вводятся промежуточные переменные. Практически поступают следующим образом. Определив все входы и выходы логического устройства, записывают логические функции, начиная от исполнительных элементов, и путем подстановки выходов предыдущих элементов на вход последующих (на основании принципа суперпозиции) движутся к входам данного дискретного автомата.
Пример 1. Построить дискретный конечный автомат, работа которого определена технологическими условиями. записанными в виде таблицы состояний вход-
выход (табл. 1).
Таблица 1
Таблица состояний
N Входы Выходы
п/п х3 А, Лг
0 0 0 0 1 1
1 0 0 1 I 1
2 0 1 0 1 0
3 0 1 1 1 0
4 1 0 0 0 1
5 1 0 1 0 1
6 1 1 0 1 1
7 1 1 1 0 0
Логическое устройство, работа которого представлена в виде такой таблицы, является однотактным и синтез его сводится к записи логических функций, которые оно должно реализовать. Число логических функций равно числу выходов дискретного конечного автомата.
По заданной таблице состояний запишем логическую функцию в СДНФ. Из таблицы видно, что логическая функция имеет значение единицы на пяти наборах входных переменных:
- для А | с номерами 0, 1, 2, 3 и 6;
- для а2 с номерами 0, 1, 4, 5 и 6.
Это означает, что их СДНФ будет иметь 5 конститу-ент единицы, т. е.
Х2
Хз
— Х^Х-^Х-^ Х^Х^Х-^ + Х^Х-)Х-^ "I- Х|х2х3 I X | ЭС 2 ЭС ^ 5
+
I X | X 2 X ^ •
Следующий этап синтеза дискретного конечного автомата сводится к минимизации полученных логических функций. В нашем примере используем метод непосредственных преобразований.
Из выражения для А, видно, что имеются три пары соседних конъюнкций:
^ X | X 2 X ^ у X | X 2 X ^ ) 5 ( X | X 2 X ^ ^ X | X 2 X ^ ) 9
(х,
х2х3).
Применяя к ним правило полного склеивания, получим импликанты:
X | X -у у X | X ^ X ^ X т •
Дизъюнкция их дает сокращенную ДНФ:
¿41 X | X 2 I X | X 2 I X ■у X •
К этому выражению опять применяем правило полного склеивания и получим тупиковую форму логической функции, которая будет минимальной:
X| I X2 X^ •
Аналогично минимизируем логическую функцию
X I X | X ^ •
Таким образом, логическая функция, описывающая работу дискретного автомата, будет иметь вид:
А = А, +Л2 = — (Х| -н -ь (х2 ХдХ^)/^*
Техническая реализация этой функции на логических элементах ИЛИ-НЕ приведена на рис. 1.
Г^ Х24Х3 = х2Х3 —Т^ Х1+Х2Х3 Х! + >
Х1+Х2Х3- К А,
-Т^ Х14Х3 = Х1Х3 — х2+х1х3
Хг+Х^з КА,
Рис. 1. Схема дискретного автомата
Пример 2. Построить дискретный конечный автомат для управления исполнительным механизмом с помощью двух датчиков. При воздействии на первый датчик д-| исполнительный механизм А включается и работает после прекращения воздействия на датчик X]. Остановка механизма происходит при срабатывании датчика х2.
Представим эту последовательность изменения входных и выходных элементов в виде таблицы (табл. 2).
Таблица 2
Таблицы включений
Состояние эле-
Элемент ментов в тактах
0 1 2 3 4
0 1 0 0 0
XI 0 0 0 1 0
А 0 1 1 0 0
б
Элемент Состояние элементов
в тактах
0 1 2 3 4 5 6
Х\ 0 1 1 0 0 0 0
*г 0 0 0 0 1 1 0
V 0 0 I 1 1 0 0
А 0 1 1 1 0 0 0
У 0 1 1 1 0 0 0
Из анализа таблицы (см. табл. 2а) следует, что в тактах 0. 2 и 4 при одинаковых х\ и х2 значения А разные, чего быть не должно. Чтобы устранить это противоречие, необходимо ввести промежуточный элемент (элемент памяти) и перейти к таблице 26.
Из этой таблицы следует, что число тактов увеличилось. Это увеличение произошло потому, что введенный элемент У обладает свойством включения и отключения с замедлением на один такт. После получения реализуемой таблицы включений осуществляется переход от табличной формы представления дискретного автомата к математической. Вначале выбирают форму записи в зависимости от числа нулей и единиц в таблице, соответствующих функци-
ям А и )'. Запись ведется в СДНФ, если в таблице включений оказалось меньше единиц, и в СКНФ, если меньше нулей.
Для рассматриваемого примера воспользуемся СДНФ:
А = х,х2у + х{х2у + Х\Х2у = = х2(х,у + X |_у + х,у) = = х2(х\ (у + у) + х]у) = Х2(х, + х,_у) = = х2(х, + у).
На основе таблицы включений получим такое выражение:
У = А = х2(Х , +у).
Переход логической функции к схемному изображению производится по тем же правилам, что и при построении схем, в которых последовательность работы не оказывала влияние на результат. Для рассматриваемого примера реализация функций А и У с помощью релейно-контактных элементов будет представлять схему, в которой размыкающий контакт х2 последовательно соединен с параллельно замыкающими контактами х, и у. При А = У обычно построение ведется только для У. Элемент, реализующий У, не только является элементом памяти, но и выполняет роль исполнительного.
ЛИТЕРАТУРА
1. Власенко А. А., Стражмейстер В. А. Судовая электроавтоматика. М.: Транспорт, 1983. 367 с.
2. Минскер Э. И., Сущев М. И. Разработка релейно-контактных схем управления производственными механизмами. М.: Энергия, 1972. 134 с.
3. Синтез релейных схем управления производственными механизмами: Методические указания / Сост. Л. А. Нестеров. Петрозаводск, 1985. 36 с.