Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_сем2_А4(19-04-10).DOC
Скачиваний:
1
Добавлен:
03.05.2019
Размер:
1.34 Mб
Скачать

Завдання лабораторної роботи 10.

Розробити мікроалгоритми роботи і граф переходів керуючого автомата Мілі для реалізації заданих функцій (Додаток А) спроектованим в попередній лабораторній роботі арифметико-логічним пристроєм.

Особливі вимоги до виконання завдань лабораторної роботи.

Вважати, що зчитування результату операції та опитування стану наявних прапорців помилок виконується в циклі очікування зняття сигналу “Пуск”. По завершенню зазначеного циклу збереження результату і стану прапорців помилок вважати необов’язковим.

Порядок виконання завдання.

  1. Ознайомитись з теоретичними відомостями та завданням.

  2. Розробити закодований мікроалгоритм функціонування автомата Мілі для реалізації заданих функцій (Додаток А) спроектованим в попередній лабораторній роботі арифметико-логічним пристроєм.

  3. Провести розмітку станів автомата на отриманому закодованому мікроалгоритмі функціонування автомата Мілі.

  4. Провести аналіз умов формування керуючих сигналів для кожного наявного в алгоритмі переходу автомата зі стану в стан і сформувати розширений мікроалгоритм функціонування автомата Мілі.

  5. Розробити детальний (розширений) граф переходів керуючого автомата.

Лабораторна робота №11

Тема:. Проектування керуючого автомата з жорсткою логікою як автомата Мілі

Мета: Отримати навички розробки схем електричних керуючого автомата з жорсткою логікою як автомата Мілі.

Теоретичні відомості

На основі закодованого мікроалгоритму функціонування автомата Мілі з відміченими станами автомата та графа переходів розпочинається безпосередня розробка схем електричних апаратної частини керованого керуючого автомата.

Першим кроком є визначення кількості тригерів, необхідних для організації блоку пам’яті автомата. Кількість тригерів може визначатися декількома способами в залежності від особливостей вирішуваних задач. Найчастіше використовують традиційний підхід при якому кількість тригерів обирається мінімальною з можливих, хоча це не завжди дозволяє досягти максимальних показників швидкодії.

Мінімально-достатня кількість тригерів блоку пам’яті автомата визначається за умовою log2Mm<(1+log2M), де М – число станів автомата. Для нашого прикладу М=4, тому m=2.

Кожному стану автомата необхідно співставити певну оригінальну комбінацію сигналів на виходах тригерів – код стану автомата. Кодування станів автомата виконаємо згідно табл. 2.

Примітка 11.1. Кодування станів автомата може виконуватися довільним чином за умови, що різним станам повинні бути співставлені кодові комбінації двійкового коду без повторів. З метою зменшення кількості тригерів, найчастіше, використовують мінімальне рівномірне кодування різних станів (кодування кодовими комбінаціями однакової і при цьому мінімально-можливої довжини), хоча це і може призводити до збільшення складності використовуваної в автоматі комбінаційної схеми.

Таблиця 11.1 Кодування станів автомата Мілі

Стан автомата Мілі

Значення на виходах блока пам’яті (код стану)

Q1

Q2

а1

0

0

а2

0

1

а3

1

1

а4

1

0

На підставі графа переходів автомата побудуємо його структурну таблицю (табл. 3).

Примітка 11.2. При формуванні структурної таблиці, як в подальшому і при побудові пристрою керування, в якості елементів пам’яті обираються J-K-тригери як найбільш універсальні і здатні найбільш наочно продемонструвати принципи проектування керуючих автоматів з жорсткою логікою. Загалом, в пристроях керування можуть використовуватись будь-які динамічні тригери (наприклад, D-тригери або Т-тригери), що задовольняють потребам розробника, але при цьому відповідним чином зміниться і опис та формування функцій збудження тригерів.

Таблиця 11.2 Структурна таблиця автомата.

Вихід-ний

стан

Код вихідно-го

стану

Стан

пере-

ходу

Код

стану

переходу

Логічні

умови

Сигнали керування

Функції збудження тригерів

Т1

Т2

ais

Q1s

Q2s

ais+1

Q1s+1

Q2s+1

x1

x2

y1

y2

y3

y4

y5

y6

J1

K1

J2

K2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

а1

0

0

а1

0

0

0

*

0

0

*

*

0

0

0

*

0

*

а1

0

0

а2

0

1

1

*

1

1

*

*

0

*

0

*

1

*

а2

0

1

а3

1

1

*

*

0

0

1

1

*

1

1

*

*

0

а3

1

1

а4

1

0

*

*

0

0

1

1

1

0

*

0

*

1

а4

1

0

а4

1

0

1

1

*

0

*

*

0

0

*

0

0

*

а4

1

0

а2

0

1

*

0

0

0

*

*

0

0

*

1

1

*

а4

1

0

а1

0

0

0

1

*

0

*

*

0

*

*

1

0

*

Складання структурної таблиці автомата Мілі відбувається в наступній послідовності:

  • за графом переходів визначаються можливі переходи автомата зі стану в стан (їх кількість визначається дугами графа). Для кожного переходу в таблиці відводиться один рядок;

  • в першому стовпчику кожного рядка визначається початковий стан автомата ais (з якого виходить дуга графа) для кожного з переходів;

  • наступні m стовпчиків (m дорівнює визначеній раніше кількості тригерів) відводяться для запису кодових комбінацій, які відповідають занесеним до таблиці станам. В нашому прикладі m=2, тобто під запис кодів початкових станів відводиться 2 стовпчики (під номерами 2 та 3). Кодові комбінації станів визначаються за таблицею кодування станів автомата Мілі (табл.2);

  • в наступному стовпчику кожного рядка визначається стан переходу автомата ais+1 (в який заходить відповідна дуга графа);

  • m стовпчиків відводиться під коди станів переходу (стовпчики 5 та 6), значення яких визначаються аналогічно кодам початкових станів за кодування станів автомата Мілі, але для станів переходу автомата ais+1;

  • наступні n стовпчиків відводяться під сигнали логічних умов переходів зі стану в стан (в нашому випадку таких сигналів два: х1 та х2 - стовпчики 7 та 8). Для заповнення значень в цих стовпчиках необхідно провести аналіз умов переходів автомату зі стану в стан за графом переходів. Як видно з графу переходів, в нашому прикладі роботою проектованого автомата передбачено реалізацію п’яти переходів за певних умов: зі стану а1 в стан а1 при х1=0; зі стану а1 в стан а2 при х1=1; зі стану а4 в стан а4 при х1=1 і х2=1; зі стану а4 в стан а2 при х2=0; зі стану а4 в стан а1 при х1=0 і х2=1. Ці значення заносимо до відповідних рядків структурної таблиці, а в інші позиції записується знак ‘*’ – довільне значення. (Див.також примітку 11.3);

  • наступні р стовпчиків відводяться під сигнали керування (y1-y6 – стовпчики 9-14). Значення, які записуються в комірки цих стовпчиків, визначаються на підставі детального аналізу особливостей функціонування операційного пристрою (моделювання роботи операційного пристрою) при виконанні відповідного переходу. Якщо в ході моделювання визначається, що при виконанні переходу сигнал, який аналізується, може приймати значення логічного нуля або одиниці і це не впливає на результат операції, до відповідної комірки таблиці записується знак ‘*’. Якщо значення сигналу на даному етапі може впливати на результат операції, до комірки записується логічне значення, необхідне для вірного виконання операції. Від якості заповнення цих стовпчиків значною мірою залежить складність апаратної реалізації автомата Мілі та правильність функціонування всього пристрою. Заповнення стовпців сигналів керування значно спрощується за умови наявності розширених мікроалгоритма функціонування та графа переходів автомата Мілі (див. попередню лабораторну роботу);

  • наступні стовпчики відводяться під функцію збудження тригерів (сигнали керування тригерів). Кількість стовпчиків визначається як m*k, де m – кількість тригерів, k – кількість необхідних для зміни стану сигналів керування тригера (без урахування сигналів синхронізації). В нашому прикладі m=2, k=2 (для J-K- тригера необхідними є сигнали керування J та K), тому під функцію збудження тригерів відведено чотири стовпчики під номерами 15-18: стовпчики 15-16 під функції збудження тригера Т1, стовпчики 17-18 під функції збудження тригера Т2. Значення, які заносяться до комірок функції збудження таблиці для тригера Тj визначаються таким чином, щоб при їх надходженні значення на виході тригера змінювалось з Qjs (стовпчики 2-3) на Qjs+1 (стовпчики 5-6). (Див.також примітку 11.4).

Примітка 11.3. Пропонований в розглянутій методиці сосіб визначення сигналів логічних умов переходів зі стану в стан (стовпчики 7 та 8), що базується лише на урахуванні актуальних для виконання переходів умов, є спірним. В нашому прикладі в ході моделювання роботи проектованої схеми можна побачити, що логічна умова х1 буде мати значення х1=1 і в тих позиціях, де в таблиці поставлено знак ‘*’, адже сигнал “Пуск” буде залишатись активним від моменту його встановлення і до моменту його онулення, в тому числі і при переходах зі стану а2 в стан а3, зі стану а3 в стан а4 та зі стану а4 в стан а2. З іншої сторони, сигнал х2 після запуску обчислень буде залишатися неактивним (х2=0) аж до отримання нуля в лічильнику ST (перехід зі стану а4 в стан а4), в тому числі і при переходах зі стану а1 в стан а2, зі стану а2 в стан а3 і зі стану а3 в стан а4 (при переході зі стану а1 в стан а1 значення х2=‘*’, оскільки в цей час відбувається підготовка АЛП до роботи і сигнал умови р1 може змінювати своє значення).

Якщо провести дозаповнення структурної таблиці з урахуванням наведених результатів досліджень, отримувані на її основі таблиці істинності вихідних сигналів будуть відповідати функціям, визначеним на неповному наборі комбінацій вхідних сигналів, а інші набори будуть вважатися неможливими (мінімізація подібних функціцй детально розглядалася при проектуванні пристроїв перевірки умов). Як наслідок, в подальшому значно спрощується процес мінімізації функцій вихідних сигналів і, в ряді випадків, стає можливим отримання кращих результатів мінімізації.

З іншої сторони, застосовуваний в прикладі сосіб визначення сигналів логічних умов переходів зі стану в стан, що базується лише на урахуванні актуальних для виконання переходів умов, забезпечує більшу стійкість системи до збоїв, оскільки, фактично, враховує можливість перепадів рівня напруги на виходах тригерів в неактуальних моментах.

Примітка 11.4. При заповненні стовпчиків, що відводяться під функцію збудження тригерів (сигнали керування тригерів), слід враховувати початковий стан тригера та особливості роботи використаного типу тригерів. Лише за таких умов можна досягти оптимального варіанту рішення. Як відомо, використовувані в прикладі універсальні J-K-тригери в залежності від значень керуючих сигналів J і K можуть працювати в одному з чотирьох режимів:

  • режим зберігання: J=K=0;

  • режим встановлення низького рівня сигналу на виході (режим онулення або скидання): J=0, K=1;

  • режим встановлення високого рівня сигналу на виході: J=1, K=0;

  • режим зміни стану (переведення з 0 в 1 або з 1 в 0): J=K=1.

У відповідності до потреб вирішуваного завдання може виникнути потреба в реалізації одного з чотирьох варіантів переходу тригерів зі стану в стан: 0→0, 0→1, 1→0, 1→1. На перший погляд, кожному з цих варіантів переходів відповідає один з перелічених режимів спрацьовування J-K-тригерів, але це не так. Кожен з перелічених варіантів переходів може бути реалізований у J-K-тригерах двома способами, що слід враховувати для правильного заповнення структурної таблиці автомата:

  • перехід типу 0→0 для J-K-тригера може бути реалізований шляхом збереження його поточного стану (комбінація вхідних сигналів J=K=0) або повторним примусовим встановленням низького рівня сигналу на виході (комбінація вхідних сигналів J=0, K=1), тому можна вважати, що перехід типу 0→0 для J-K-тригера завбезпечується за умов J=0 і K=*. В нашому прикладі (див. структурну таблицю автомата) це відповідає переходам тригера Т1 між станами a1→a1 і a1→a2, а для тригера Т2 переходам між станами a1→a1, a4→a4 і a4→a1;

  • перехід типу 0→1 для J-K-тригера може бути реалізований примусовим встановленням високого рівня сигналу на виході (комбінація вхідних сигналів J=1, K=0) або шляхом зміни його поточного стану (комбінація вхідних сигналів J=K=1), тому можна вважати, що перехід типу 0→1 для J-K-тригера завбезпечується за умов J=1 і K=*. В нашому прикладі (див. структурну таблицю автомата) це відповідає переходу тригера Т1 між станами a2→a3, а для тригера Т2 переходам між станами a1→a2 і, a4→a2;

  • перехід типу 1→0 для J-K-тригера може бути реалізований примусовим встановленням низького рівня сигналу на виході (комбінація вхідних сигналів J=0, K=1) або шляхом зміни його поточного стану (комбінація вхідних сигналів J=K=1), тому можна вважати, що перехід типу 1→0 для J-K-тригера завбезпечується за умов J=* і K=1. В нашому прикладі (див. структурну таблицю автомата) це відповідає переходам тригера Т1 між станами a4→a2 і a4→a1, а для тригера Т2 переходу між станами a3→a4;

  • перехід типу 1→1 для J-K-тригера може бути реалізований шляхом збереження його поточного стану (комбінація вхідних сигналів J=K=0) або повторним примусовим встановленням високого рівня сигналу на виході (комбінація вхідних сигналів J=1, K=0), тому можна вважати, що перехід типу 1→1 для J-K-тригера завбезпечується за умов J=* і K=0. В нашому прикладі (див. структурну таблицю автомата) це відповідає переходам тригера Т1 між станами a4→a4 і a3→a4, а для тригера Т2 переходу між станами a2→a3.

На підставі структурної таблиці автомата Мілі визначаються МДНФ функцій збудження та сигналів керування. В якості вхідних під час мінімізації аналізуються сигнали коду попереднього стану та сигнали логічних умов (в нашому прикладі це сигнали Q1s, Q2s, x1 та x2).

Для отримання повної таблиці істинності вихідних сигналів необхідно провести доповнення структурної таблиці автомата недостаючими рядками. Для цього рядки, в яких містяться ‘*’ в позиціях сигналів логічних умов переходів дублюються до отримання повного перебору можливих значень в позиціях з ‘*’ (фактично, кожна ‘*’ призводить до розподілу відпорядного рядка на 2).

Доповнена структурна таблиця автомата відображена в табл.. 11.3. В ній подвійними лініями відокремлені зони, що утворилися в результаті дублювання рядків.

Таблиця 11.3. Структурна таблиця автомата після доповнення

Вихід-ний

стан

Код вихідно-го

стану

Стан

пере-

ходу

Код

стану

переходу

Логічні

умови

Сигнали керування

Функції збудження тригерів

Т1

Т2

ais

Q1s

Q2s

ais+1

Q1s+1

Q2s+1

x1

x2

y1

y2

y3

y4

y5

y6

J1

K1

J2

K2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

а1

0

0

а1

0

0

0

0

0

0

*

*

0

0

0

*

0

*

а1

0

0

а1

0

0

0

1

0

0

*

*

0

0

0

*

0

*

а1

0

0

а2

0

1

1

0

1

1

*

*

0

*

0

*

1

*

а1

0

0

а2

0

1

1

1

1

1

*

*

0

*

0

*

1

*

а2

0

1

а3

1

1

0

0

0

0

1

1

*

1

1

*

*

0

а2

0

1

а3

1

1

0

1

0

0

1

1

*

1

1

*

*

0

а2

0

1

а3

1

1

1

0

0

0

1

1

*

1

1

*

*

0

а2

0

1

а3

1

1

1

1

0

0

1

1

*

1

1

*

*

0

а3

1

1

а4

1

0

0

0

0

0

1

1

1

0

*

0

*

1

а3

1

1

а4

1

0

0

1

0

0

1

1

1

0

*

0

*

1

а3

1

1

а4

1

0

1

0

0

0

1

1

1

0

*

0

*

1

а3

1

1

а4

1

0

1

1

0

0

1

1

1

0

*

0

*

1

а4

1

0

а4

1

0

1

1

*

0

*

*

0

0

*

0

0

*

а4

1

0

а2

0

1

0

0

0

0

*

*

0

0

*

1

1

*

а4

1

0

а2

0

1

1

0

0

0

*

*

0

0

*

1

1

*

а4

1

0

а1

0

0

0

1

*

0

*

*

0

*

*

1

0

*

Примітка 11.5. Якщо в ході доповнення структурної таблиці в ній утворюються рядки з однаковими комбінаціями сигналів, по яких має поводитись мінімізація, це свідчить про помилки заповнення або доповнення структурної таблиці.

Примітка 11.6. Якщо при кодуванні станів автомата кодовими комбінаціями довжиною n розрядів використано не всі 2n можливих комбінацій відповідної розрядності, незадіяні для кодування кодові комбінації можна вважати відповідними неіснуючим станам – мінімізація ведеться як для функцій, значення яких визначені на неповному наборі вхідних сигналів.

На підставі доповненої структурної таблиці автомата виконується мінімізація функцій керуючих сигналів yi та сигналів керування роботою тригерів (функцій збудження тригерів).

В ході отримання мінімальних досконалих форм керуючих сигналів та функцій збудження тригерів знак ‘*’ в карті Карно може розглядатися як 1 або 0 у відповідності до потреби отримання максимального ступеня мінімізації відповідної функції.

Після мінімізації отримуємо наступні МДНФ:

Примітка 11.7.(!!!) Отримані керуючих сигналів y1 і y2 функції наочно ілюструють основний недолік керучих автоматів Мілі – значення вихідних сигналів автомата безпосередньо залежать не лише від значень на виходах тригерів (стану автомата), а і від значень вхідних сигналів. Це збільшує ризик неправильного спрацьовування керуючого автомата і керованого ним операційного пристрою при нестабільності значень вхідних сигналів (наприклад, в моменти їх встановлення або на перехідних етапах).

Функціональна схема автомата Мілі, побудована із застосуванням двох J-K-тригерів та рееалізованої відповідно отриманим функціям комбінаційної схеми, наведена на рис. 11.1.