Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vvod-vyvod (1).doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
659 Кб
Скачать
☆

Бис программируемого параллельного интерфейса кр580вв55

Появление ППА привело к тому, со проектирование средств, обеспечивающих подключение ПУ к интерфейсу, сместилось из области разработки аппаратуры в область разработки ПО.

Изменение методов проектирование объясняется тем, что процедура упорядоточения пересылок в интерфейсных БИС осуществляется программным путем.

Унифицированная интерфейсная БИС общего назначения обладает универсальностью применения, достигаемой за счет программирования. ППА может быть использовании в качестве интерфейсной БИС для широкого набора различного периферийного оборудования, без каких либо дополнительных внешних логических схем.

Структурная схема КР580ВВ55

Обмен информацией между магистралью данных систем и микросхемой КР580ВВ55А осуществляется через 8-разрядный двунаправленный трехстабильный канал данных (D). Для связи с периферийными устройствами используются 24 -линии ввода/вывода, сгруппированные в три 8-разрядых канала ВА, ВВ, ВС, направление передачи информации и режимы работы которых определяются программным способом.

Микросхема может функционировать в трех основных режимах.

В режиме 0 обеспечивается возможность синхронной программно управляемой передачи данных через два независимых 8-разрядных канала ВА и ВВ и два 4-разрядных канала ВС.

В режиме 1 обеспечивается возможность ввода или вывода информации в/или из периферийного устройства через два независимых 8-разрядных канала ВА и ВВ по сигналам квитирования. При этом линии канала С используются для приема и выдачи сигналов управления обменом.

В режиме 2 обеспечивается возможность обмена информацией с периферийными устройствами через двунаправленный 8-разрядный канал ВА по сигналам квитирования. Для передачи и приема сигналов управления обменом используются пять линий канала ВС.

Выбор соответствующего канала и направление передачи информации через канал определяются сигналами А0, А1 (соединяемые обычно с младшими разрядами канала адреса системы) и сигналами RD#, RW# и CS# в соответствии с табл.

Действие

Сигналы управления на входах

Направление передачи информации

А1

А0

RD#

RW#

CS#

Операции ввода (чтение)

0

0

1

0

1

0

0

0

0

1

1

1

0

0

0

ВАШД

ВВШД

ВСШД

Операции вывода (записи)

0

0

1

1

0

1

0

1

1

1

1

1

0

0

0

0

0

0

0

0

ШДВА

ШДВВ

ШДВС

ШДРУС

Операции блокировки

Х

1

Х

Х

1

Х

Х

0

1

Х

1

1

1

0

0

ШДz

-

ШДz

Режим работы каждого из каналов ВА, ВВ, ВС определяется содержимым регистра управляющего слова (РУС). Произведя запись управляющего слова в РУС, можно перевести микросхему в один из трех режимов работы:

режим 0 — простой ввод/вывод,

режим 1 — стробируемый ввод/вывод,

режим 2 — двунаправленный канал

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

Таким образом настройка внутренней организации ППА, т.е. специализация его для конкретного ПУ производится под воздействием управляющего слова «Режим работы». Любой из перечисленных режимов может быть выбран в ходе выполнения системной программы и остановлен загрузкой управляющего слова по команде OUT. Такая возможность позволяет простыми программными средствами осуществлять реконфигурацию периферии МП.

Режимы работы портов ввода вывода

Управляющее слово режимов работы

В дополнение к основным режимам работы микросхема обеспечивает возможность программной независимой установки в 1 и сброса в 0 любого из разрядов регистра канала ВС. Формат управляющего слова установки/сброса разрядов регистра канала ВС показан на рисунке ниже.

Если микросхема запрограммирована для работы в режиме 1 или 2, то через выводы ВС0 и ВСЗ канала ВС выдаются сигналы, которые могут использоваться как сигналы запросов прерывания для микропроцессора. Запретить или разрешить формирование этих сигналов в микросхеме можно установкой или сбросом соответствующих разрядов в регистре канала ВС. Эта особенность микросхемы позволяет программисту запрещать или разрешать обслуживание любого внешнего устройства ввода/вывода без анализа запроса прерывания в схеме прерывания системы.

Основные особенности режимов работы состоят в следующем:

  1. В режиме 0 все 4 порта работают независимо и пользователь может выбрать каждый из них в качестве портов ВВ. При этом выводимые данные записываются в регистр-защелку, а вводимые – нет.

  2. В режиме 1 три разряда порта С действуют как сигналы состояния и управления для порта А, и три – аналогично для В. Это по существу режим работы с «рукопожатием» (квитированием). Если порт данных (В или А) является портом ввода, то сигналы состояния и управления определяются так, как показано далее.

STB (строб) – 0 с периферийного устройства означает, что оно загружает данные в регистр-защелку.

IBF (входной буфер заполнен) – 1 указывает, что данные были загружены в регистр-защелку ввода, но процессор еще не прочитал их.

INTR (запрос прерывания) -1 указывает, что данные были загружены в регистр-защелку ввода, но еще не прочитаны процессором, и что прерывание для порта разрешено. Этот сигнал может быть использован дляпрерывания работы процессора.

Режим 1. Осуществление ввода информации

Управляющее слово порта С при вводе в режиме 1

Рассмотрим реализацию процедуры асинхронного обмена между МП и ПУ с помощью БИС КР580ВВ55, работающего в режиме 1. Предположим, что обмен данными осуществляется через канал А. Для ввода информации порт должен работать в режиме 1 (ввод).

Внешнее устройство, будучи готово ко вводу информации в МП, формирует сигнал STBA# (стробирование), по срезу которого осуществляется запись слова данных в порт А. При этом БИС КР580ВВ55 формирует сигнал IBFA (подтверждение приема). При высоком уровне сигнала IBFA внешнему устройству запрещается формировать сигнал STBA# и записывать в порт новое слово данных. По фронту сигнала STBA#, если сигнал IBFA равен 1 и установлен в 1 внутренний триггер INTEA, формируется сигнал запроса на прерывание INTRA (готовность), посылаемый на МП. Получив этот сигнал МП переходит на соответствующую программу обслуживания прерывания, в процессе которой осуществляет считывание слова данных из порта А. Во время считывания на БИС КР580ВВ55 подается сигнал RD#, по срезу которого слово данных передается из порта А на ШД МП. По фронту сигнала RD# сбрасывается сигнал IBFA, что свидетельствует об окончании ввода данных в МП и разрешает внешнему устройству формировать новый сигнал STBA#. Отметим, что установка (сброс) триггеров INTEA и INTEB в режиме 1 (ввод) осуществляется командой установки/сброса разрядов С4 и С2.

Режим 1. Осуществление вывода информации

ACK# (подтверждение) – 0 (с периферийного устройства) указывает, что были получены самые последние выводившиеся данные и устройство готово для получения следующих. Т.о., ACK служит в качестве сигнала готовности ПУ.

OBF# (буфер вывода заполнен) – 0 указывает, что процессор записал данные в порт, но ПУ еще не получил их.

INTR (запрос прерывания) – 1 указывает, что ПУ получило самые последние данные и готово для получения следующих. Кроме того, разрешено прерывание для порта. Этот сигнал может быть использован для прерывания работы процессора.

В режиме 1 (вывод) осуществляется запись слова данных из МП в регистры А или В. Во время записи слова, например в порт А МП подает на БИС КР580ВВ55 сигнал WR#, по срезу которого снимается сигнал запроса на прерывание INTRA. По фронту сигнала WR# БИС подает на внешнее устройство сигнал готовности порта к обмену OBFA#, подтверждая, что данные для выдачи записаны в порте А. После получения этого сигнала внешнее устройство принимает данные из порта А и формирует сигнал ACKA#, снимается сигнал OBFA#. Если прерывания от внешнего устройства разрешены, т.е. предварительно программным способом установлен INTEA(C6), то после приема информации внешним устройством (по фронту сигнала ACKA#) БИС формирует для МП сигнал запроса на прерывание OBFA#, МП выполняет соответствующую подпрограмму обслуживания. Программная установка и сброс INTEA и INTEB осуществляется командой установки/сброса разрядов С6 и С2.

Используя режим 1 работы каналов можно реализовать простой программно-управляемый обмен между МП и внешними устройствами. Для организации этой процедуры порт С должен служить регистром состояния внешнего устройства, порты А и В – для передачи данных. Опрос и модификация содержимого порта С может осуществляться с помощью соответствующих команд МП и аппаратным способом со стороны внешнего устройства.

Задание 1

Перевести все порты в режим 0. Назначить порт А портом ввода, порт В – портом вывода, разряды 0-3 порта С – для ввода, разряды 4-7 порта С – для вывода.

MVI A, 10010001b ; P7 – присвоить режимы и направления

OUT RUS ; P6-0, P5-0 – перевести порт А в режим 0

; Р4-1 – назначить РА для ввода

; Р3-0 С4-7 для вывода

; Р2-0 перевести РВ в режим 0

; Р1-0 назначить РВ портом вывода

; Р0-1 назначить РС0-3 для вывода

Задание 2

Перевести порт А в режим 1 (режим работы с рукопожатием), а порт В – в режим 0. Назначить порт А портом вывода, порт В – портом ввода, разряды 0-3 порта С назначить для ввода, а разряды 4-7 порта С для вывода.

MVI A, 10100011b

OUT RUS

В данном случае, когда Р6=0 и Р5=1 порт А работает в режиме 1. Р4=0 назначает порт А портом вывода, а Р1=1 назначает порт В портом ввода. Направление для порта С принимаются только по значению разрядов 0-2 и разрядов 4-5, т.к. разряды 3, 6 и 7 используются для сигналов сигналов «рукопожатия» порта А.

Задание 3

Перевести порты А и В в режим работы 1 (работа с «рукопожатием»), назначить порт А портом ввода, порт В – портом вывода, а разряды 6 и 7 порта С назначить для вывода.

MVI A, 10110100b

OUT RUS

Здесь разряд 4=1 назначает порт А портом ввода; разряд 2=1 переводит порт в режим 1; разряд 1=1 назначает порт В портом ввода. Направление передачи для порта С применяют только для разрядов 6 и 7, т.к. все разряды с 0 по 5 используются для сигналов квитирования.

Задание 4

Ожидать сигнал IBF для порта А и затем прочитать данные из порта А. Записать их в ячейку памяти INDAT. Предполагается, что порт А является портом ввода в режиме 1.

WAITR: IN PORTC ; входные данные доступны?

ANI 00100000b ;

JZ WAITR ; нет, ждать

IN PORTA ; да, прочитать данные

STA INDAT ; сохранить данные в память

Если порт А является портом ввода в режиме работы 1, то сигнал IBF порта А находится в разряде 5 порта С.

Задание 5

Ожидать сигнала «подтверждение» для порта В, а затем послать данные из ячейки памяти OUTDAT в порт В. Предполагается, что порт В я вляется портом ввода в режиме 1.

WAITR: IN PORTC ; ПУ готово?

ANI 00000100b ;

JNZ WAITR ; нет, ждать

LDA OUTDAT ; да, взять данные из памяти

OUT PORTB ; послать данные в порт вывода

Если порт В является портом вывода в режиме работы 1, то сигнал «подтверждение» ACK# для порта В (периферийное устройство готово) находится в разряде 2 порта С.

Задание 6

Установить разряд 5 порта С в 1 без изменения остальных разрядов.

MVI A, 00001011b

OUT RUS

Здесь разряд 7 равный 0, служит для выполнения операции установки или сброса разряда, разряды 3, 2, 1 равный 1012 служат для выбора разряда 5 порта С, а разряд 0=1 – для установки разряда.

Задание 7

Очистить разряд 0 порта С без изменения остальных разрядов

SUB A ; очистить разряд 0 порта С

OUT RUS

Здесь разряды 3, 2, 1 равный 0002 служат для выбора разряда 0 порта С, а разряд 0=1 – очистки разряда

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]