Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программируемый контроллер прерываний



Рассмотрение функций контроллера 82380 продолжим с помощью Рис. 9.3. Функционально программируемый контроллер прерываний идентичен своим пред­шествующим моделям 8259А и 82С59А, за исключением программирования векто­ров прерываний. В контроллере 82380 объединены ресурсы трех контроллеров типа 82(С)59А. Каскадируя пятнадцать входов запросов прерываний контроллеров 82С59А, имеющихся в распоряжении программиста, можно организовать до 120 каналов запросов внешних прерываний. Хотя контроллеры могут работать в режиме ведущего устройства, приоритет отдается каскадному режиму.

В контроллере прерываний 82380 имеются более широкие возможности по ис­пользованию механизма векторов прерываний, поскольку каждый вход запроса пре­рываний может отдельно программироваться. Это значит, что каждому запросу пре­рываний может быть предписан свой собственный вектор прерывания; кроме того, системные программы по умолчанию могут присвоить контроллеру прерываний 82380 определенный вектор. Этот вектор используется в цикле подтверждения не­запрашиваемых прерываний или прерываний, вызванных ошибочным запросом, с целью предупреждения системы о ложных прерываниях. С помощью прерывания система также информируется о том, что предпринята попытка запрограммировать векторы контроллера 82380 по методу контроллера 82С59А. Эта особенность гаран­тирует совместимость существующих программных продуктов с программным обес­печением, написанным для 82380. К другим усовершенствованиям контроллера пре­рываний 82380 относится возможность каскадного подключения внешних контрол­леров прерываний, а также то, что квитирование установления связи между веду­щим и ведомым устройствами вынесено из специализированных каскадных линий на шину данных.

На рис. 11.3 показаны пять основных блоков контроллера прерываний:

· регистр запросов прерываний (IRR);

· блок разрешения приоритетов (PR);

· служебный регистр (ISR);

· регистр маски (IMR);

· регистр векторов (VR).

Всеми прерываниями управляют каскадно включенные регистры запроса преры­ваний IRR и служебный регистр ISR. В регистре IRR фиксируются уровни всех прерываний, требующих обработки, а в регистре ISR — уровни всех прерываний, проходящих обработку. Во время цикла подтверждения прерывания с помощью блока разрешения приоритетов определяются приоритеты запросов по содержимому регистра IRR, а для прерываний с высшим приоритетом в регистре ISR помечаются соответствующие разряды. Регистр маски прерываний IMR используется совместно с регистром IRR и хранит код, по которому будут маскироваться определенные ли­нии прерываний. Маскирование входов с более высоким приоритетом не влияет на линии запросов прерываний с низшим приоритетом. Номера предварительно за­программированных векторов прерываний записываются в набор векторных регист­ров VR, для каждой линии запроса прерывания определен свой векторный регистр. Во время цикла подтверждения прерывания контроллера 82380 номер вектора, со­ответствующий выбранному прерыванию, выставляется на шину данных.

Рис. 9.3. Структурная схема контроллера прерываний

Программируемые интервальные таймеры

На структурной схеме Рис. 9.4показаны четыре 16-разрядных программируемых таймера контроллера 82380. По функционированию все таймеры идентичны своему предшественнику 82С54. Каждый таймер может работать в любом из шести различ­ных режимов несмотря на то, что для всех четырех таймеров используется один об­щий тактовый вход. Этот вход может быть не зависящим от системной тактовой ча­стоты. Микропроцессор 80386 может устанавливать и считывать текущее содержимое счетчика таймера в любой момент времени независимо от режима работы таймера. Выходы таймеров могут быть подключены к каким-нибудь системным функциональ­ным устройствам, что в целом может способствовать упрощению структуры системы.

 
 

Таймер 0 занимает особое положение. Он обычно служит для формирования прерываний по времени, и его выход заводится непосредственно на вход контрол­лера прерываний. Этот таймер не имеет выхода из контроллера 82380. С помощью таймера 1 ведется отсчет времени для формирования цикла регенерации.

Рис. 9.4. Структура программируемых интервальных таймеров

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


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-13; Просмотров: 509; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь