Архитектура БИС программируемого контроллера прерываний КР580ВН59


 

БИС программируемого контроллера прерываний (ПКП) представляет собой устройство, реализующее до восьми уровней запросов на прерывание с возможностями программного маскирования и изменения дисциплины обслуживания прерываний. За счет каскадного включения БИС КР580ВН59 число уров­ней прерывания может быть расширено до 64 [8, 9].

Упрощенная структурная схема ПКП приведена на рис. 2.17,а.. В состав БИС входят: двунаправленный 8-разрядный буфер данных (BD), предназначенный для сопряжения ПКП с системной информационной шиной; блок управления записью чтением (RWCU), принимающий управляющие сигналы от МП и задающий режим функционирования ПКП: схема каскадного буфера-компаратора (CMP), используемая для включения в систему нескольких ПКП; схема управления (СU) вырабатывающая сигнал прерывания и формирующая трехбайтную команду CALL для выдачи на шину данных; регистр запросов прерываний (RGI), используемый для хранения всех уровней прерываний, на которые поступают запросы; схема принятия решений по приоритетам (PRB), идентифицирующая приоритеты запросов и выбирающая запрос с наивысшим приоритетом; регистр обслуживаемых прерываний (1SR). сохраняющий уровни запросов прерыва­ний, находящихся на обслуживании ПКП; регистр маскирования прерываний (RGM). обеспечивающий запрещение одной или нескольких линий запросов прерывания

Сопряжение БИС КР580ВН59 со стандартной системой шиной показано на рис. 2.17.б.

ПКП позволяет реализовать процесс прерывания по запросам от внешних устройств или по опросу микропроцессором запросов на обслуживание внешних устройств.

 

 

рис. 2.17

При обслуживании прерываний по запросу от внешних устройств выполняется следующая последовательность операций: запросы прерываний поступают на входы IR0 — IR7 и устанавливают соответствующие разряды RGI; ПКП принимает запросы, оценивает их приоритеты и формирует сигнал прерывания INT; МП принимает сигнал INT. если прерывания разрешены, и подтверждает прием выдачей сигнала INTA; после получения сигнала INTА ПКП устанавливает разряд регистра ISR, соответствующий запросу с наивысшим приоритетом, сбрасывает соответствующий разряд и выдает на шину данных D(7 — 0) код команды CALL: МП выдает еще два сигнала INTА. которые позволяют ПКП передать на шину данных 16-разрядный адрес подпрограммы обслуживания прерывания, причем младший байт адреса пере­дается по первому сигналу INTА. а старший — по второму.

При обслуживании прерываний по опросу микропроцессор производит считывание кода номера запроса с высшим уровнем приоритета, но сигналу RD. Прием запросов, маскирование и анализ приоритета выполняются так же, как и при обслуживании прерываний по запросу.

Для увеличения числа уровней прерывания ПКП могут быть объединены в систему, состоящую из ведущего ПКП и нескольких ведомых ПКП (рис. 2.17,в). При обслуживании запроса, поступившего на вход ведомого ПКП. ведущий ПКП по сигналу 1NTA выдает на шину данных код команды CALL, а на шины СAS0 — CAS2 — код номера ведомою ПКП. С приходом второго и третьего сигналов INTA адрес подпрограммы обслуживания па шину данных выдает выбранный по коду на шинах CASO — CAS2 ведомый ПКП.

Установка ПКП в исходное состояние и настройка его на определенный режим обслуживания прерываний программируется двумя типами команд: командами инициализации (ICW) и командами управления операциями (OCW). Для инициализации в ПКП последовательно вводятся команды ICW1 и ICW2. В микропроцессорной системе, состоящей из нескольких ПКП, для каждого из них после двух первых команд инициализации вводится команда ICW3. задающая режим взаимодействия контроллеров.

 

 

Рис. 2.18

 

Таблица 2.18. Младший байт адресов команды CALL

Вход запроса Адресный интервал 4 байт Адресный интервал 8 байт
D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0
IR7 А7 А6 А5 A7 A6
IR6 А7 А6 А5 A7 A6
IR5 А7 А6 А5 A7 A6
IR4 А7 А6 А5 A7 A6
1R3 А7 А6 А5 A7 A6
IR2 А7 А6 А5 A7 A6
IR1 А7 А6 А5 A7 A6
IRO А7 А6 А5 A7 A6

 

Форматы команд инициализации приведены на рис. 2.18. Команда ICW1 (рис. 2.18,а) сбрасывает регистры RGI. RGM и присваивает низший приоритет входу IR7. Разряд S этой команды определяет наличие одного или нескольких ПКП в системе, а разряд F (формат) - адресный интервал в 4 или 8 байт между начальными адресами подпрограмм обслуживания прерываний. Разряды A7 - А5 команды ICW1 используются для формирования младшего байта адресов подпрограмм обслуживания прерываний в соответствии с табл. 2.18. Команда ICW2 (рис. 2.18.б) представляет собой старший байт адреса подпрограмм обслуживания прерываний, выдаваемый ПКП на шину данных в качестве третьего байта команды CALL. В команде ICW3 для ведущего ПКП (рис. 2.18, в) наличие 1 в одном из разрядов указывает на подключение к соответствующему входу запроса прерывания выхода INT ведомого ПКП. В команде ICW3 для ведомого ПКП (рис. 2.18,г) задается код его номера в системе.

Команды инициализации загружаются в ПКП из микропроцессора по команде Oс учетом определенного значения младшего разряда адреса AO (рис. 2.13). После записи команд инициализации ПКП подготовлен к приему запросов на прерывания и может работать в режиме с фиксированными приоритетами запросов. В этом режиме запросы упорядочены по приоритетам и вход IR0 имеет выс­ший приоритет, a IR7 — низший. Для за­дания других режимов функционирования ПКП необходимо использовать команды OCW, которые загружаются после команд инициализации в любой текущий момент времени.

Команда управления операциями ОСW1 (рис. 2.19,а) осуществляет установку или сброс разрядов регистра RGM. Установка некоторого разряда регистра маскирования приводит к запрету прерывания по соответствующему входу.

 

 

 

Рис.2.19

Таблица 2.19. Варианты команды

Разряд команды Выполняемая функция
D7 (R) D6 (SEOI) D5 (EOI) D4 D3 D2 D1 DO
X X X Фиксированный приоритет
X X X Циклический сдвиг приоритета — присвоение обслуженному запросу низшего приоритета
L2 L1 L0 Фиксированный приоритет; L2 — L1 — номер сбрасываемого разряда регистра ISR
L2 L1 L0 Циклический сдвиг приоритета; L2 – L1 — номер сбрасываемого разряда регистра ISR (присвоение ему низшего приоритета)
L2 L1 L0 Циклический сдвиг приоритета без завершения прерывания: L2 — LO — номер входа IR с низшим приоритетом
Примечание: X - произвольное состояние разряда (Х ? [0;1])

 

 

Команда управления операциями OCW2 (рис. 2.19.б) осуществляет сброс разряда регистра ISR и циклический сдвиг приоритета запроса. Возможные варианты команды OCW2 и выполняемые ею функции показаны в табл. 2.19. Если обслуживание запроса прерывания необходимо закончить сбросом разряда регистра 1SR с высшим приоритетом, то используется команда OCW2 со значениями EOI = 1 и SEOI = 0. При EOI = 1 и SEOI=1 предназначенный для сброса уровень обслуживаемого прерывания указывается в команде разрядами D2(L2) DO(L0). Циклический сдвиг при­оритетов задается в команде ОСW'2 раз­рядом D7(R). В циклическом режиме ис­пользуется круговой порядок назначения приоритетов. Последнему обслуженному запросу присваивается низший приори­тет, следующему по кругу — высший. Приоритеты остальных запросов цикли­чески смещаются по шкале приоритетов. При R = l и SEOI = 0 команда OCW2 присваивает низший приоритет запросу с вы­сшим приоритетом, а при R = 1 и SEOI = 1 низший приоритет присваивается запро­су, номер которого указывается разряда­ми D2(L2) - DO(L0). Команда OCW2 обы­чно записывается в ПКП в конце подпро­граммы обслуживания прерывания перед командой возврата RET.

Команда управления операциями OCW3 (рис. 2.19,в) позволяет задать ре­жим специального маскирования (раз­ряды D6, D5), режим опроса (разряд D2) и произвести считывание состояния ПКП (разряды Dl, D0).

Режим специального маскирования дает возможность на некотором участке программы выборочно управлять запро­сами с различными приоритетами и раз­решать прерывания выполняемой про­граммы даже от входов с меньшими приоритетами. Режим специального ма­скирования задается командой OCW3 при ESMM = 1 и SMM = 1 и воздейству­ет до сброса по команде с ESMM = 1 и SMM = 0.

Режим опроса устанавливается по команде OCW3 при Р = 1. В этом режиме ПКП принимает запросы и формирует слово-состояние опроса, содержащее но­мер запроса с наивысшим приоритетом (разряды D2 — D0 слова-состояния). Обслу­живание запроса происходит по требова­нию программы, осуществляющей с по­мощью команды ввода IN (AO = 0, RD = 0) чтение слова-состояния, программное де­кодирование его и переход к соответ­ствующей подпрограмме обслуживания прерывания.

Считывание содержимого регистров RGI и ISR производится после загрузки в ПКП команды OCW3 соответствующи­ми значениями ERIS и RIS (рис. 2.19,в) с последующим выполнением команды ввода IN (A0 =1, RD = 0). Считывание со­держимого регистра RGM производится без предварительной загрузки OCW3 по команде IN (A0=l, RD = 0).

 



Дата добавления: 2017-06-13; просмотров: 1553;


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

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

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

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