Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Переферийные устройства / Лекции по ПУ_2.doc
Скачиваний:
31
Добавлен:
02.05.2014
Размер:
2.81 Mб
Скачать

6.3. Четыре способа организации обмена информацией между ву и магистралью.

Различают несколько способов обмена между ВУ и магистралью:

  1. Программно управляемый обмен;

  2. Обмен по прерыванию, с опросом регистра готовности;

  3. Обмен с прерыванием, по адресу подпрограммы обслуживания;

  4. Обмен с прямым доступом к памяти (ПДП).

Каждый из этих элементов реализуется своей схемой контроллера.

6.3.1. Программно управляемый обмен.

Обмен осуществляется только по инициативе ЦП. При наличии в системе нескольких ВУ, их сигналы готовности/сброса объединяются в регистры с общим адресом: RGсостояния иRGуправления. Первый используется только для чтения, а второй - для записи.

Блок-схема программы работы:

Периодичность опроса RGсостояний, так же как и порядок опроса ВУ, задается программно.

Старшие разряды шины адреса используются для подключения адресного селектора, а младшие - для выбора одного из регистров контроллера.

Схема контроллера:

Обмен байтом данных между ВУ и ЦП осуществляется за несколько шагов:

  1. На шину адреса выставляется адрес регистра состояний и подается сигнал чтения;

  2. Программно проверяется готовность всех подключенных ВУ;

  3. Если регистр состояний не содержит ни одной «1», т.е. нет готовых ВУ, то производится возврат к основной программе;

  4. Если ГТi=1, то выполняется подпрограмма обслуживанияi-го ВУ (прием или выдача байта);

  5. Устанавливается адрес регистра управления и формируется байт данных в котором i-й разряд равен «0». Устанавливается адрес регистра управления и формируется байт данных в которомi-й разряд равен «1». Таким образом формируется импульс сброса готовностиi-го ВУ.

Достоинство - простота.

Недостаток - большие затраты времени на периодический опрос регистра готовности.

6.3.2. Обмен по прерыванию с опросом.

Реализация этого режима обмена осуществляется с использованием сигналов INTиINTA, что позволяет начать обмен по инициативе ВУ.

Если ВУ готово к обмену оно выставляет сигнал ГТ=INT=1.

Если в системе используется несколько ВУ, то INT=ГТ1ГТ2...ГТk.

Выбор подпрограммы обслуживания производится программно после считывания RGсостояний. Первой командой п/п обслуживания обычно используется «Запрет прерываний», а последней - «Разрешение прерываний».

Блок-схема программы работы:

По сигналу INTпроцессор запоминает параметры передаваемой программы и приступает по сигналуINTAк выполнению п/п обслуживания.

Сигнал INTне воспринимается ЦП при работе в режиме ПДП (HOLDA=1), «Ожидание» илиINTA=1.

Сигнал INTA- формируется внутренним триггером, состояние которого можно устанавливать с помощью команд «Запрет прерывания», «Разрешение прерывания». ПриINTA=0 сигналыINTне воспринимаются.

Схема контроллера:

Этот режим обмена позволяет сократить время затрачиваемое на излишние циклы опроса RGсостояний программой. В схеме используются регистры с третьим состоянием (отключен).

6.3.3. Обмен с прерыванием по адресу.

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

Блок-схема программы обмена:

Т.к. контроллер прерываний и ВУ не имеют доступа к шине адреса, то в микропроцессорных наборах используют следующий прием: адрес подпрограммы обслуживания формируется контроллером прерываний и подается на шину данных, откуда перенаправляется ЦП на шину адреса, по команде RSTилиCALL.

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

  • используют только младший байт адреса, а старший фиксируется (команда RST);

  • используют команду CALL, по которой за два шага черезDBна ЦП передается два байта адреса.

В этой схеме контроллера приоритетных прерываний (КПП) по сигналу INTAформируют на выходе одно или двухбайтный адрес п/п обслуживания ВУ с высшим приоритетом.

Использование команды RST.

КПП КР589ИК14 формирует команды RST-7. Приоритеты подключенных ВУ фиксированы. Чем больше номер - тем выше приоритет.

команда\DB

7

6

5

4

3

2

1

0

RST0

1

1

1

0

0

0

1

1

RST1

1

1

1

0

0

1

1

1

RST2

1

1

1

0

1

0

1

1

RST3

1

1

1

0

1

1

1

1

RST4

1

1

1

1

0

0

1

1

RST5

1

1

1

1

0

1

1

1

RST6

1

1

1

1

1

0

1

1

RST7

1

1

1

1

1

1

1

1

Старшие разряды АBА7-А15 имеют единичное значение. Начальные адреса п/п обслуживания ВУ располагаются в фиксированных ячейках памяти с интервалом в 4 байта. Если для п/п требуется больше адресов, то используют команду безусловного перехода.

Схема включения КПП с внешним RG.

Использовании команды CALL.

КПП КР580ВН59 может быть запрограммирован на работу в следующих режимах:

  1. Режим опроса регистра состояний.

  2. Режим фиксированных приоритетов.

  3. Режим циклических приоритетов (обслуженному ВУ назначается низший приоритет).

  4. Режим маскирования запросов от ВУ.

В отличие от КР589ИК14, КПП КР580ВН59 позволяет формировать адрес подпрограммы обслуживания в любой области памяти.

Команда CALLвыполняется за 3 шага, в соответствии с временной диаграммой:

На функциональной схемах КПП изображают следующим образом:

Структура КПП.

Состав КПП:

  1. Буферная схема данных с тремя состояниями.

  2. Схема управления.

  3. Регистр запросов, хранит поступившие запросы Гт0-Гт7.

  4. Регистр обслуживания запросов, хранит адрес п/п с высшим приоритетом.

  5. Регистр маски.

  6. Регистр состояний.

Программирование КПП производится с помощью двух типов команд:

  1. Команды инициализации (ICW).

  2. Рабочие команды (OCW).

Команды ICW.

Команды инициализации ICW1 иICW2 используются для указания адреса подпрограммы обслуживания.

Формат команд:

  • ICW=1 A=0

    7

    6

    5

    4

    3

    2

    1

    0

    A7

    A6

    A5

    1

    X

    X

    младшие разряды адреса

    интервал 4,8 байт

    один ли КПП

  • ICW=1 A=0

7

6

5

4

3

2

1

0

A7

А8

старший байт адреса

После ICW2 КПП будет работать в режиме фиксированных приоритетов какRSTпри формировании младших байтов адреса.

Команды OCW.

Данные команды используются для программирования КПП на работу в других режимах. Эти команды можно подавать в любое время после ICW.

Режим маскирования запросов OCW1.

Формат команды:

  • OCW1 A0=1

M7

M6

M5

M0

Используется для маскирования соответствующих разрядов готовности.

Режим кругового (циклического или перемещаемого) приоритета задается командой OCW2. После завершения п/п обслуживания ВУiс максимальным приоритетом, ему назначается самый низший (обслуженный встает в конец очереди).

Формат команды:

  • OCW1 A0=0

7

6

5

4

3

2

1

0

Х

X

L2

L1

L0

цикли-ческий приори-тет

исполь-зуются ли поля L0-L2

сбро-сить бит ГТi

номер входа ГТi

Варианты использования OCW2

Шина данных

OCW2

7

6

5

4

3

2

1

0

Содержание

Неадресуемый конец прерывания

0

0

1

0

0

0

0

0

Сбросить бит готовности с максимальным приоритетом

Адресуемый конец прерывания

0

1

1

0

0

L2

L1

L0

Сбросить бит готовности ВУ с номером L2,L1,L0

Установка приоритетов

1

1

0

0

0

L2

L1

L0

Назначить ВУ с номером L2,L1,L0 низший приоритет

Неадресуемый автоцикл

1

0

1

0

0

0

0

0

Сбросить бит готовности ВУ с максимальным приоритетом и назначить ему низший приоритет

Адресуемый автоцикл

1

1

1

0

0

L2

L1

L0

Сбросить бит готовности ВУ с номером L2,L1,L0 и назначить ему низший приоритет

Режим считываемых прерываний, а так же сброс и установка маскирования задаются командой OCW3. Установка режима инициируется записью в разрядD2 единицы. После приемаOCW3 БИС не воспринимает сигнал подтверждение прерываний (INTA).

Формат команды:

  • OCW1 A0=1

7

6

5

4

3

2

1

0

Х

Х

X

1

10 - маску сбросить

11 - маску установить

считать регистр

10 - запросов

11 - обслуживания запросов

После OCW3 должна следовать команда чтения регистров.

Формат регистра обслуживания запросов:

7

6

5

4

3

2

1

0

Х

Х

Х

X

наличие сигнала ГТi

номер ВУ с максимальным приоритетом

Соседние файлы в папке Переферийные устройства