Пример реализации микропрограммного автомата
Дано: 1 Схема алгоритма (СА) работы автомата, приведенная на рисунке 5.5.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, B, C - операторы вывода сигналов (yi) управления объектом (код 10); 2, 6 - операторы перехода по условию Х (оператор условного перехода код 11); (А) - оператор безусловного перехода c одновременным выводом счетчика адреса (код 00); (D) - оператор безусловного перехода (код 01).
Рисунок 5.5 - Схема алгоритма работы микропрограммного автомата 2 Выходные состояния автомата (сигналы управления объектом): y1=0000, y2=0001, y3=1001, y4=1100, y5 =1011, y6 =0101, y7 =0011, y8 =0110, y9 =1111.
Задание: Требуется построить микропрограммный автомат по схеме рисунка 5.4. без минимизации состояний и условных переходов.
Реализация: 1. Поставим в соответствие каждому оператору СА (рисунок 5.5) внутреннее состояние автомата, т.е. попросту пронумеруем команды программы. Будем считать, что номер команды совпадает с ее адресом в ПЗУ (в скобках указаны номера операторов безусловного перехода). 2. В СА используется четыре вида операторов: оператор вывода сигналов управления объектом, оператор перехода по условию Х, оператор безусловного перехода и оператор безусловного перехода с одновременным выводом значения счетчика адреса ПЗУ на выходные шины автомата. Определим структуру операторов. Каждый оператор должен содержать код операции (КОП) и операнд. Поскольку операторов четыре, то код операции может состоять из двух двоичных разрядов. Операндами всех операторов являются четырехразрядные двоичные числа, следующие непосредственно за кодом операции в восьмиразрядном слове ПЗУ. Таким образом, код команды имеет следующий вид:
где: **- неиспользованные разряды. Присвоим коды операций командам: 10yyyy** - оператор вывода сигналов управления объектом; 11aaaa** - оператор условного перехода; 00aaaa** - оператор безусловного перехода с одновременным выводом содержимого счетчика адреса; 01aaaa** - оператор безусловного перехода.
3 После определения кодов операций, зная тип используемого счетчика адреса, можно построить таблицу истинности и принципиальную схему анализатора логических условий, управляющего работой счетчика адреса. Режим счета счетчика устанавливается, если W =0 и «+1»=1. Режим параллельной записи информации производится, если W =1, «+1»=0. Поэтому таблица истинности анализатора логических условий (логического преобразователя ЛП) будет иметь вид, представленный в таблице 5.9:
Таблица 5.9 – Таблица истинности анализатора логических сигналов
4. Окончательно формат команды имеет вид:
Разряд k1 может служить для сигнализации о том, что на выходах автомата установлены действительные значения. Для этого окончательная схема автомата (рисунок 5.6.) имеет дополнительный выход, сигнализирующий при z =1 о появлении на выходах автомата действительных значений выходных сигналов.
Рисунок 5.6 – Функциональная схема микропрограммного автомата 4.Согласно СА, используя результат предыдущего шага, запишем в кодах программу работы автомата в таблице 5.10.
Таблица 5.10 – Программа работы микропрограммного автомата
5.Прошивка ППЗУ.
Заполняя, неиспользуемые два младших бита, в слове ПЗУ единицами запишем результаты в таблицу 5.11 в шестнадцатеричных кодах:
Таблица 5.11 – Адреса и данные команд, записанные в ПЗУ
Контрольные вопросы 1 В чем отличие микропрограммного автомата от управляющего автомата с жесткой структурой? 2 Как работать со стендом? 3 Поясните принцип работы микропрограммного автомата; 4 Как организуются условные переходы в микропрограммном автомате? 5 Как организовать цикл? 6 Как организовать линейную программу управления? 7 Поясните устройство и работу микросхем К573РФ2, К555ИЕ10.
|