Реализация программного обеспечения управляющего автомата


Реализация программного обеспечения управляющего автомата

Задание

По заданной граф-схеме алгоритма (рис. 1), реализовать на языке высокого уровня, программу управляющего автомата нового типа, который формирует код нового состояния автомата и адрес мультиплексора.

исходная граф-схема алгоритма работы автомата

Рис. 1. Исходная граф-схема алгоритма работы автомата.

Считаем, что микропроцессор подключен к микроконтроллеру как внешнее устройство, т. е. программой не моделируется.

Дешифратор кода состояния так же не моделируется, а подключен к микроконтроллеру как внешнее устройство.

Следовательно, программное обеспечение должно обеспечивать опрос комбинационных схем F1 и F3, опрос триггера микропроцессора (?j) и обеспечивать временное взаимодействие той последовательности, как работает автомат при аппаратной реализации.

Построение модели

Преобразуем исходную граф-схему, введя пустые операторы и пронумеруем состояния (рис. 2).

преобразованная граф-схема

Рис. 2. Преобразованная граф-схема

Построим диаграмму переходов (рис. 3)

диаграмма переходов

Рис. 3. Диаграмма переходов

Преобразуем диаграмму переходов с учетом циклов (рис. 4).

преобразованная диаграмма переходов

Рис. 4. Преобразованная диаграмма переходов

По полученной диаграмме переходов составим таблицу состояний (таблица 1).

Таблица 1. Определение F1/

?(t)

?

N(t)

?(t+1)

N(t+1)

1

0

1

0000

1

0001

2

1

1

0001

2

0010

3

2

?1

0010

3

0011

4

2

?1

0010

4

0100

5

3

?5

0011

7

0111

6

3

?5

0011

5

0101

7

4

?2

0100

6

0110

8

4

?2

0100

5

0101

9

5

1

0101

8

1000

10

6

1

0110

8

1000

11

7

1

0111

8

1000

12

8

?3

1000

10

1010

13

8

?3

1000

9

1001

14

9

1

1001

11

1011

15

10

1

1010

11

1011

16

11

1

1011

14

1110

17

12

?4

1100

13

1101

18

12

?4

1100

14

1110

19

13

1

1101

0

0000

20

14

1

1110

12

1100

По построенной таблице можно определить булевы функции для нахождения кода нового состояния ?(t+1) по коду предыдущего состояния и комплексу логических условий.

, где

Y1 = (!x1 &; !x2 &; !x3 &; !x4) + (?1 &; !x4 &; !x3 &; x2 &; !x1) + (?5 &; !x4 &; !x3 &; x2 &; x1) + (!?5 &; !x4 &; !x3 &; x2 &; x1) + (!?2 &; !x4 &; x3 &; !x2 &; !x1) + (!?3 &; x4 &; !x3 &; !x2 &; !x1) + (x4 &; !x3 &; !x2 &; x1) + (x4 &; !x3 &; x2 &; !x1) + (?4 &; x4 &; x3 &; !x2 &; !x1);

Y2 = (!x4 &; !x3 &; !x2 &; x1) + (?1 &; !x4 &; !x3 &; x2 &; !x1) + (?5 &; !x4 &; !x3 &; x2 &; x1) + (?2 &; !x4 &; x3 &; !x2 &; !x1) + (?3 &; x4 &; !x3 &; !x2 &; !x1) + (x4 &; !x3 &; !x2 &; x1) + (x4 &; !x3 &; x2 &; !x1) + (x4 &; !x3 &; x2 &; x1);

Y3 = (!?1 &; !x4 &; !x3 &; x2 &; !x1) + (?5 &; !x4 &; !x3 &; x2 &; x1) + (!?5 &; !x4 &; !x3 &; x2 &; x1) + (?2 &; !x4 &; x3 &; !x2 &; !x1) + (!?2 &; !x4 &; x3 &; !x2 &; !x1) + (x4 &; !x3 &; x2 &; x1) + (?4 &; x4 &; x3 &; !x2 &; !x1) + (!?4 &; x4 &; x3 &; !x2 &; !x1) + (x4 &; x3 &; x2 &; !x1);

Y4 = (!x4 &; x3 &; !x2 &; x1) + (!x4 &; x3 &; x2 &; !x1) + (!x4 &; x3 &; x2 &; x1) + (?3 &; x4 &; !x3 &; !x2 &; !x1) + (!?3 &; x4 &; !x3 &; !x2 &; !x1) + (x4 &; !x3 &; !x2 &; x1) + (x4 &; !x3 &; x2 &; !x1) + (x4 &; !x3 &; x2 &; x1) + (?4 &; x4 &; x3 &; !x2 &; !x1) + (!?4 &; x4 &; x3 &; !x2 &; !x1) + (x4 &; x3 &; x2 &; !x1);

, где

Таблица 2. Определение F3

?

A(n-1)

F1(y4y3y2y1)

F3(z3z2z1)

?1

A2

0010

001

?2

A4

0100

010

?3

A8

1000

011

?4

A13

11000

100

?5

A3

0011

101

-

Aj

-

000

Программа автомат мультиплексор листинг

Основываясь на полученных значения F1, F3 реализуем программу для управления автоматом на языке Java. Листинг основных классов приведен в приложении 1.

Выводы

В рамках работы были получены навыки разработки программ для конечных автоматов и построения функция F1, F3 на основе изучения свойств и динамики системы.

Реализованное программное обеспечение позволяет производить моделирование состояния автомата как в пошаговом режиме (рис. 5), так и в циклическом (рис. 6), кроме того есть возможность изменения начальных условий (рис. 7).

одиночный режим работы

Рис. 5. Одиночный режим работы.

цикличный режим работы

Рис. 6. Цикличный режим работы.

цикличный режим работы с измененными условиями

Рис. 7. Цикличный режим работы с измененными условиями.

Похожие статьи




Реализация программного обеспечения управляющего автомата

Предыдущая | Следующая