Построение СУ сверлильным автоматом. — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Построение СУ сверлильным автоматом.

2020-10-20 87
Построение СУ сверлильным автоматом. 0.00 из 5.00 0 оценок
Заказать работу

Формирование требований к аппаратной реализации СУ.

I. Сигналы от конечных выключателей данного сверлильного автомата должны соответствовать уровням ТТЛ и равны 1 при включенном выключателе и 0 при выключенном. Поскольку микропроцессорная система построена на микросхемах ТТЛ, сигналы от автомата не требуют преобразования. В микросхемах ТТЛ (транзисторно-транзисторная логика) сигнал низкого уровня (0) равен 0¸0,4 В, а сигнал высокого уровня (1) равен 2,4¸5 В.

II. Автомат также должен воспринимать управляющие сигналы с уровнями ТТЛ.

III. Взаимодействие микропроцессорной системы и контроллера сверлильного автомата будет осуществлено через порт ввода-вывода с адресом 0FFh. Причём при чтении из порта биты с 0-го по 3-й должны быть равны 1 при включенных А, ПВ1, ПВ2 и ПВ3 соответственно и 0 при выключенных. А при записи в этот порт в битах с 0-го по 2-й на автомат будут передаваться управляющие сигналы БВ, РП и БН соответственно.

IV. Управляющая программа будет находится в ПЗУ с адреса 0FFFFh:0000h. С этого адреса начинается работа МП после включения или сброса.

 

Разработка УП.

Для управляющих сигналов сверлильного автомата в [2] были получены следующие структурные формулы:

 

                   БВ = А×ПВ2×ПВ3×ПВ1

                   РП = ПВ2×ПВ3×ПВ1

                   БН = ПВ2×ПВ3×ПВ1.

 

       Разрабатываемая УП будет циклически читать состояние порта 0FFh, производить вычисления по приведённым формулам и отправлять результат в тот же порт. Вычисление управляющих сигналов по логическим формулам делает программу громоздкой, прямолинейной, но наглядной. Вообще логические команды ассемблера редко используются для вычисления логических выражений, так как с помощью инструкций проверок, сравнений и условных переходов результата можно добиться проще.

Итак, первоначальный вариант программы:

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

in al,0ffh                           ;Чтение из порта 0FFh.

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

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

                                          ;где x – значение не определено.

mov ah,al                           ;Содержимое регистра аl заносится в ah.

and ah,1                            ;ah=ah and 00000001b = (x x x x ПВ3 ПВ2 ПВ1 А) and

;00000001b = (0 0 0 0 0 0 0 A)b = A

       mov bl,al

       and bl,2                             ;bl=bl and 00000010b = (x x x x ПВ3 ПВ2 ПВ1 А) and

;00000010b = (0 0 0 0 0 0 ПВ1 0)b

shr bl,1                  ;bl = (0 0 0 0 0 0 0 ПВ1)b = ПВ1

       mov bh,al

       and bh,4                            ;bh = (0 0 0 0 0 ПВ2 0 0)b

       mov cl,2

       shr bh,cl                             ;bh = (0 0 0 0 0 0 0 ПВ2)b = ПВ2

       mov ch,al

       and ch,8

       mov cl,3

       shr ch,cl                             ;ch = (0 0 0 0 0 0 0 ПВ3)b = ПВ3

      ;Вычисление сигнала БВ

       mov al,ah                           ;al = ah = A

       mov dl,bh                          ;dl = bh = ПВ2

xor dl,1                              ;dl = ПВ2

       and al,dl                            ;al = A×ПВ2

       mov dh,ch                         ;dh = ch = ПВ3

xor dh,1                             ;dh = ПВ3

       and al,dh                           ;al = A×ПВ2×ПВ3

and al,bl                            ;al = A×ПВ2×ПВ3×ПВ1 = БВ

      ;Вычисление сигнала РП

       mov ah,bh                         ;ah = bh = ПВ2

       and ah,dh                          ;ah = ПВ2×ПВ3

       mov dh,bl                          ;dh = bl = ПВ1

       xor dh,1                             ;dh = ПВ1

       and ah,dh                          ;ah = ПВ2×ПВ3×ПВ1 = РП

       shl ah,1                              ;ah = (0 0 0 0 0 0 РП 0)b

       or al,ah                              ;al = (0 0 0 0 0 0 0 БВ)b or (0 0 0 0 0 0 РП 0)b =

; = (0 0 0 0 0 0 РП БВ)b

;Вычисление сигнала БН

and dl,ch                           ;dl = ПВ2×ПВ3

and dl,dh                           ;dl = ПВ2×ПВ3×ПВ1 = БН

shl dl,1

shl dl,1                              ;dl = (0 0 0 0 0 БН 0 0)b

or al,dl                               ;al = (0 0 0 0 0 0 РП БВ)b or (0 0 0 0 0 БН 0 0)b =

                                          ; = (0 0 0 0 0 БН РП БВ)b

out 0ffh,al                         ;запись вычисленных значений в порт 255

jmp cikl                             ;переход в самое начало.

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

       Структура микропроцессорной системы, описанная в 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   1   0   1   1   0
IOR 1 1 0 0 1
ША (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
БВ 0 0 0 0 D0
РП 0 0 0 0 D1
БН 0 0 0 0 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 команд.

 


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

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.05 с.