Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_kuznetsov_1.doc
Скачиваний:
7
Добавлен:
26.11.2019
Размер:
945.15 Кб
Скачать

8 Программируемый контроллер прерывания (пкп) вн 59

МП имеет 1 вход запроса прерываний. А внешних устройств много и прерывания возникают в разные моменты времени. ПКП формирует адрес подпрограммы обработки прерывания и код команды CALL.

Позволяет обслуживать до 8 запросов на прерывание. При соединении в каскадную схему – до 64 запросов на прерывание.

БШД – буфер шины данных. 8 разрядов

А0 – младший разряд ША. Задает режим функционирования ПКП

ВДН – сигнал ведущий – ведомый

УСИ – управляющее слово инициализации УСО – управляющее слово обмена

Формирование кода команды САLL и сигнала прерывания происходит схемой управления

РЗПР – регистр запроса прерывания. Фиксация прерываний

РМЗПР – регистр маски запроса прерывания и логика управления приоритетами. Обеспечивает запрещение одной или нескольких линий запросов прерывания.

РОЗПР – регистр обслуживания запроса на прерывание.

ПР – сигнал прерывания – к внешнему устройству

ППР – подтверждение прерывания от внешнего устройства

Физический адрес должен быть четным (0 – УСИ, 1 - УСО)

Режимы работы ПКП: (зависят от приоритетов)

  1. Векторное прерывание с установленным типом приоритета – наивысший приоритет имеет 0-й запрос на прерывание. Наименьший – у 7-го.

  2. Векторное прерывание с циклическим типом приоритета – запрос, который обслужился, встает в конец очереди, очередь продвигается – для равномерного обслуживания запросов.

  3. Векторное прерывание с адресуемым типом приоритета – программным путем можно выставить любой запрос к конец очереди. Очередь продвинется.

  4. Векторное прерывание по опросу – очередь выставляется по мере появления запросов

При обслуживании прерываний по запросу от внешних устройств выполняется следующая последовательность операций:

    1. Запросы прерывания поступают на входы ЗПР0 – ЗПР7 и устанавливают соответствующие разряды РЗПР

    2. ПКП принимает запросы, оценивают их приоритеты и формирует сигнал прерывания INT

    3. МП принимает сигнал INT, если прерывания разрешены, и подтверждает прием выдачей сигнала INTA

    4. После получения сигнала INTA ПКП устанавливает разряд регистра РОЗПР, соответствующий запросу с наивысшим приоритетом, сбрасывает соответствующий разряд и выдает на ШД код команды CALL

    5. МП выдает еще два сигнала INTA, которые позволяют ПКП передать на шину данных 16-разрядный адрес подпрограммы обслуживания прерывания, причем младший байт адреса передается по первому сигналу INTA, а старший – по второму.

При обслуживании прерываний по опросу МП производит считывание кода номера запроса с высшим уровнем приоритета по сигналу Чт

Управляющее слово инициализации (УСИ)

A0

D7

D6

D5

D4

D3

D2

D1

D0

УСИ 1

0

A7

A6

A5

1

0

Ф

Е

0

Е = 1 – 1 ПКП в системе Е = 0 – много ПКП в системе

Ф – формат – для каждого запрета прерывания отводится 4 или 8 байт, в которые записываются команды передачи управления. Ф = 1 – интервал 4 байта Ф = 0 – 8 байт

А7…А5 – разряды младшего байта адреса команды CALL

A0

D7

D6

D5

D4

D3

D2

D1

D0

УСИ 2

1

А15

А14

А13

А12

А11

А10

А9

А8

Старший байт начального адреса команды CALL.

Адреса находятся путем сдвига на 4 или 8 байт базового адреса ЗПР 0.

УСИ 3 – используется для каскадного включения

A0

D7

D6

D5

D4

D3

D2

D1

D0

УСИ 3а

1

V7

V6

V5

V4

V3

V2

V1

V0

Для ведущего контроллера. Если разряд установлен в 1 – имеет ведомые контроллеры на соответствующем порте.

A0

D7

D6

D5

D4

D3

D2

D1

D0

УСИ 3б

1

A7

A6

A5

1

0

Ф

Е

0

Для ведомого контроллера. D2…D0 задается двоично-десятичный код ведомого ПКП в системе. Может иметь номер от 0 до 7.

Управляющее слово обмена (УСО) подается в программе

A0

D7

D6

D5

D4

D3

D2

D1

D0

УСО 1

1

М7

М6

М5

М4

М3

М2

М1

М0

Задание маски. Если 1 поставлен в соответствующий разряд, то сигнал маскируется. Запросы с низкими приоритетами обслуживаются, но только те, которые попадают в РОЗПР.

Наложением и сбросом маски можно управлять запросами программным путем.

A0

D7

D6

D5

D4

D3

D2

D1

D0

УСО 2

0

Ц

СКП

КП

0

0

АР2

АР1

АР0

УСО 2 заканчивает программу обслуживания прерывания.

АР2…АР0 – адрес сбрасываемого разряда ПКП в РОЗПР.

КП – конец прерывания. Сброс разряда РОЗПР с максимальным приоритетом.

СКП – специальный конец прерывания. Если 1, то используется поле младших разрядов.

Ц – циклический приоритет.

A0

D7

D6

D5

D4

D3

D2

D1

D0

УСО 3

0

Х

СМУ

СМ

0

1

ОП

ЧТР

ОЗПР

D6 и D5 управляют специальным маскированием.

D6

D5

0

Х

- специальное маскирование не разрешено

1

1

- установить специальную маску

1

0

- сбросить специальную маску

D2 – ОП – режим опроса. 0 – нет опроса.

D1 и D0 – управляют чтением регистра (ЧТР) и обслуживанием запроса прерывания (ОЗПР)

D1

D0

0

Х

- запрет чтения регистра

1

1

- считывается РОЗПР

1

0

- считывается РЗПР

Схема каскадирования (3 контроллера – 22 прерывания) 8 * 3 = 24 – 2 (ЗПР6 и ЗПР7)

ВДН – сигнал ведущий – ведомый.

КАС – шина каскадирования

ШД – шина данных

ЗПР – запрос прерывания

ПР - прерывание

Если ЗПР поступают на ведущий, то каскадная схема работает как одиночный ПКП

Если ЗПР поступает на ведомый контроллер, ведущий по сигналу INTA выдает на ШД код команды CALL, а на шины КАС0-КАС7 – код номера ведомого ПКП. С приходом сторого и третьего сигналов INTA адрес подпрограммы обслуживания на шину данных выдает выбранный по коду на шинах КАС0-КАС2 ведомый ПКП.

По сигналу подтверждения прерывания (на ведущий) на шину каскадирования он выставляем номер ведомого обратившегося контроллера. Ведомый выставляем младший байт адреса, а затем и старший.

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