Аппаратная реализация СУ.


Структура микропроцессорной системы, описанная в 1 и 2 частях данного руководства, изменений не претерпевает. Поэтому необходимо разработать лишь контроллер ВУ (см. рис. 2.1.). В соответствии с методикой, описанной в 4.3., потоки информации разбиваются на две группы: входные сигналы (А, ПВ1, ПВ2 и ПВ3 со сверлильного автомата и сигналы ШД, ША, IOR и IOW с микропроцессорной системы) и выходные сигналы (БВ, РП, и БН на ТО и сигналы на ШД).

I. Составляется таблица истинности (табл. 5.1.), при этом сразу отбрасываются не осуществимые комбинации входных сигналов (например, сигналы запроса на чтение и на запись IOW и IOR не могут быть активны одновременно). В данной таблице введены следующие обозначения: X – состояние сигнала может быть любым; Z – сигнал находится в 3-м состоянии (отключен); CS – сигнал с дешифратора адреса.

II. Из таблицы видно, что при сочетании входных сигналов в последнем столбце происходит передача управляющих сигналов на ТО. Тогда структурные формулы для этих сигналов следующие:

                   
   
 
     
 
       


БВ = IOW×IOR×CS×D0 = З×D0

РП = IOW×IOR×CS×D1 = З×D1

БН = IOW×IOR×CS×D2 = З×D2,

       
   
 
 


где 3 = IOW×IOR×CS. Как уже было отмечено в I., когда сигнал IOW = 0, сигнал IOR = 1, а когда IOR = 0, IOW = 1. Очевидно, что выражение IOW×IOR = IOW. Таким образом 3 = IOW×CS = IOW+CS.

 

Таблица истинности контроллера сверлильного автомата. Табл. 3.6.

Входы IOW          
IOR
ША (CS) X (X) не 0FFh (1) не 0FFh (1) 0FFh (0) 0FFh (0)
ШД X X X Z D0, D1, D2
Выходы ШД   Z   Z   Z   D0 = А D1 = ПВ1 D2 = ПВ2 D3 = ПВ3 D4…D7 = X   Z
БВ D0
РП D1
БН D2

 

При сочетании входных сигналов в предпоследнем столбце таблицы, контроллер должен выставить на ШД состояние путевых выключателей. Это можно осуществить при помощи регистра, который соединяет сигналы А, ПВ1, ПВ2 и ПВ3 с соответствующими линиями ШД при наличии разрешающего сигнала Ч. При Ч = 0 выходы регистра должны перейти в Z-состояние:

                       
   
       
 
       


Ч = IOW×IOR×CS = IOR×CS = IOR + CS.

 

III. Таким образом, получены следующие структурные формулы:

         
 
 
 
 
     


3 = IOW + CS

БВ = 3×D0

РП = 3×D1

БН = 3×D2

Ч = IOR + CS.

IV.
 
 

Контроллер (рис 5.1.) конструктивно состоит из трех частей: I – дешифратор адреса (когда адрес равен 0FFh, дешифратор выдает CS = 0, когда адрес не равен 0FFh, дешифратор выдает CS = 1); II – блок чтения и записи на ТО; III – преобразователь ШД (16 бит) в ШД’ (8 бит). Последний необходим, так как в таблице истинности подразумевалась 8-разрядная ШД, и в УП использовались 8-разрядные команды ВВ.

       
   
 
 


Упрощение СУ.

Разработанное схемотехническое решение совместно с УП является законченной полноценной СУ. Кроме того, разработанный контроллер автомата может как непосредственно припаиваться к соответствующим выводам микропроцессорной системы, так и вставляться в разъём расширения ЕISA любого IBM-совместимого компьютера. Если последнее не требуется (т.е. СУ разрабатывается как самостоятельное устройство), то контроллер и микропроцессорная система могут быть значительно упрощены:

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

2. Не используются контроллер прерываний и контроллер ПДП – их тоже можно исключить.

3. Если данные (байты) посылать в порты только с чётными адресами (например 0FEh), то эти данные будут передаваться только по младшей части ШД (D7 – D0). Следовательно преобразователь III (рис. 5.1.) из контроллера может быть исключен. Подсоединение производится непосредственно к ШД.

4. УП обращается только к одному порту ВВ, значит необходимость в дешифрации адреса отпадает (блок I рис. 5.1.). В этом случае сигнал CS всегда равен нулю.

 
 

Упрощенная структурная схема контроллера представлена на рис. 5.2.

Так как аппаратное решение изменилось, необходимо изменить УП. Итак, новая программа, в которой, кроме выше сказанного, отражён другой подход к программированию:

cikl: ;Метка для зацикливания.

in al,0FEh ;Чтение из чётного порта (254).

;Теперь al = (x x x x ПВ3 ПВ2 ПВ1 А)b

;номера битов 7 6 5 4 3 2 1 0.

and al,00001111b ;Сбросить биты 4-7 регистра al.

mov ah,00000001b ;Поместить в ah комбинацию БВ=1, РП=0, БН=0.

cmp al,00000011b ;Сравнить с комбинацией ПВ3=0, ПВ2=0, ПВ1=1, А=1.

jz exit ;Если в регистре al проверяемая комбинация, перейти к

;метке exit. В этом случае после команды CMP флаг ZF=1.

and al,11111110b ;Сбросить бит 0, соответствующий сигналу А.

mov ah,00000010b ;Поместить в ah комбинацию БВ=0, РП=1, БН=0.

cmp al,00000100b ;Сравнить с комбинацией ПВ3=0, ПВ2=1, ПВ1=0.

jz exit ;Перейти к метке exit, если в al проверяемая комбинация.

mov ah,00000100b ;Поместить в ah комбинацию БВ=0, РП=0, БН=1.

cmp al,00001000b ;Сравнить с комбинацией ПВ3=1, ПВ2=0, ПВ1=0.

jz exit ;Перейти к метке exit, если в al проверяемая комбинация.

mov ah,00000000b ;Поместить в ah комбинацию БВ=0, РП=0, БН=0.

exit: ;Метка выхода после проверок.

mov al,ah ;Поместить в al комбинацию управляющих сигналов.

out 0FEh,al ;Записать управляющий сигнал в порт 0FEh

jmp cikl ;Повторить всё сначала.

 

Новая УП содержит лишь 16 команд, а делает то же, что и старая УП, состоящая из 36 команд.

 



Дата добавления: 2020-10-01; просмотров: 340;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.014 сек.