- •Содержание
- •2.2 Обработка прерываний
- •1. Задание на проектирование
- •Общие сведения
- •Техническое задание на проектирование
- •Варианты заданий
- •Организация подсистемы прерываний
- •Выбор элементной базы
- •Формирование управляющего воздействия y2
- •Формирование управляющего воздействия y3
- •Светодиодная индикация
- •1.3.7 Реализуемый алгоритм
- •Требования к оформлению
- •2. Основные этапы разработки
- •2.1 Разработка микропроцессорного модуля
- •2.1.1 Описание элементной базы мпм
- •2.1.1.1 Микропроцессор i82386sx
- •2.1.1.2 Реализация системного контроллера
- •2.1.1.3 Шинные формирователи шин адреса и данных
- •2.1.1.4 Генератор тактовых импульсов и схема сброса
- •2.2 Реализация подсистемы прерываний
- •2.3 Разработка модуля ввода-вывода
- •2.3.1 Параллельно-программируемый адаптер кр580вв55
- •2.4 Разработка модуля таймера
- •2.6 Распределение адресного пространства ввода/вывода
- •2.7 Разработка по
- •Номер студента в групповом журнале _______________
2.2 Реализация подсистемы прерываний
Выполнение функций КП прерываний в МПС могут быть возложены на различные аппаратные средства, в частности - на схему, приведенную на рисунке 12. Первый триггер служит для предотвращения "дребезга" контакта кнопки SA2, второй – для выдачи запроса прерывания IRQ0…IRQ7, подаваемый на один из входов программируемого контроллера прерываний (ПКП), который в свою очередь формирует сигнал INT, поступающий на МП. После поступления от микропроцессора первого сигнала подтверждения запроса на прерывание INTA сигналы IRQ и INT сбрасывается. По второму сигналу INTA на шину данных МПС ПКП выдается номер n адреса-вектора прерывания, соответствующий варианту технического задания.
|
|
|
Рисунок 12 – Вариант реализации схемы обработки прерываний (вместо BF- КПП) |
Система векторных прерываний может быть построена различными способами, однако в настоящее время наиболее часто она реализуется с помощью БИС ПКП I8259A . Микросхема выполнена по n-МОП технологии и размещается в 28-выводном корпусе с вертикальным расположением выводов. Она совместима с ТТЛ-схемами. Для работы БИС требуется единственный источник питания +5В.
На основе одного ПКП I8259A формируется 8-уровневая приоритетная система векторных прерываний для МП типа I82386SX. Несколько контроллеров могут соединяться каскадно для расширения числа прерывания до 64. ПКП обеспечивает работу в нескольких режимах, позволяя оптимизировать логику работы системы прерываний согласно требованиям, предъявляемым к МПС. УГО ПКП приведено на рисунке 13.

Рисунок 13 – УГО программируемого контроллера прерываний I8259A
Назначение выводов микросхемы I8259A приведено в таблице 7.
Таблица 7- Назначение выводов микросхемы I8259A
|
Вывод |
Обозначение |
Тип вывода |
Функциональное назначение вывода |
|
11,10,9,8,7,6,5,4 |
D0-D7 |
Входы-выходы |
Канал данных |
|
27 |
A0 |
Вход |
Адрес 0-го разряда |
|
18-25 |
IRQ0- IRQ7 |
Вход |
Запрос прерывания |
|
1 |
CS |
Вход |
Выбор микросхемы |
|
2 |
WR |
Вход |
Запись информации |
|
3 |
RD |
Вход |
Чтение информации |
|
26 |
INTA |
Вход |
Подтверждение прерывания |
|
16 |
MS/SV |
Вход |
Выбор ведомой микросхемы |
|
12,13,15 |
CAS0-CAS2 |
Входы-выходы |
Шина каскадирования |
|
17 |
INT |
Выход |
Прерывание |
|
14 |
GND |
- |
Общий |
|
28 |
UCC |
- |
Напряжение питания |
Работа микросхемы в автономном (без каскадирования) режиме происходит следующим образом. Один или несколько запросов на прерывание (переход из 0 в 1) подаются на входы IRQ0-IRQ7 и запоминаются в регистре запросов IRR (Interrupt Request Register).Регистр обслуживания ISR(In Service Register) содержит все запросы, которые в данное время находятся в стадии обработки. Регистр маски IMR(Interrupt Mask Register) используется для маскирования отдельных уровней. Запрет некоторого уровня соответствует единице в соответствующем разряде IMR.
Приоритетная логика выбирает разрешённый запрос на прерывание с наивысшим приоритетом из числа поступивших и сравнивает его с текущим приоритетом запросов, находящихся на обслуживании. При превышении последнего ПКП генерирует сигнал INT. Микропроцессор подтверждает приём запроса INT (при разрешённом восприятии прерываний) генерацией кода шинного цикла подтверждения прерывания на выходах М/Ю#, D/C#, W/R#, в результате чего СК вырабатывает сигнал подтверждения прерывания INTA#, поступающий на ПКП. Под воздействием сигнала запрос с высшим приоритетом из IRR фиксируется в соответствующем разряде ISR. Принятый к обслуживанию IRR-бит сбрасывается, и приём нового запроса разрешается.
При работе совместно с процессором I82386SX ПКП должен выдавать на процессор номер вектора прерывания n, для чего на него подаётся ещё один сигнал INTA#, по которому МП считывает с шины данных значение вектора прерывания n.
Отличительной особенностью БИС типа I8259A является её программируемость. Программирование осуществляется двумя типами управляющих слов: командами инициализации ICW(Initialization Command Word) и управления OCW(Operation Command Word). Четыре команды инициализации ICW1-ICW4 загружаются перед началом работы и служат для установки БИС в исходное состояние. Для программирования одиночного ПКП достаточно только две команды инициализации ICW1 и ICW2. Команды управления OCW1-OCW3 могут быть переданы в ПКП в любое время после выполнения инициализации. Они предназначены для оперативного управления работой контроллера и в рамках данного курсового проекта не рассматриваются.
При значениях разряда А0=0 ША и четвертого разряда ШД D4=1 входной байт интерпретируется как ICW1 (см. рисунок 14). Разряд S определяет наличие одного или нескольких ПКП в системе. Остальные разряды при работе в МПС с процессорами начиная с i8086 могут принимать любые значения.

Рисунок 14 – Формат управляющего слова ICW1
Формат управляющего слова ICW2 приведен на рисунке 15. При работе с процессорами начиная с i8086 и выше разряды D7-D3 определяют старшие биты номера прерывания n для каждого входа IRQ ПКП. Младшие 3 бита номера прерывания определяются номером входа IRQ, на который поступил запрос прерываний.

Рисунок 15 – Формат управляющего слова ICW2
Запрос прерывания будет происходить после нажатия кнопки КН2. Для предотвращения дребезга контактов кнопки необходимо применить схему, показанную на рисунке 3.5.

Рисунок 3.5 – Схема подавления дребезга контактов и снятия сигнала IRQ после формирования сигнала INTA#
При нажатой кнопке S2 на прямом выходе триггера формируется высокий уровень сигнала IRQi. второй – для выдачи запроса прерывания IRQ0…IRQ7, подаваемый на один из входов программируемого контроллера прерываний (ПКП), который в свою очередь формирует сигнал INT, поступающий на МП. После поступления от микропроцессора первого сигнала подтверждения запроса на прерывание INTA сигналы IRQ и INT сбрасывается. По второму сигналу INTA на шину данных МПС ПКП выдается номер n адреса-вектора прерывания, соответствующий варианту технического задания.

