Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методика программирования контроллера прерываний

После включения питания БИОС выполняет инициализацию ПКП.

При инициализации:

- Устанавливается режим работы ПКП.

- Номера типов прерываний.

- Определяется ПКП1-ведущий, ПКП2-ведомый.

6.13 Программирование ПКП в процессе обслуживания ВУ и работы системы.

По окончании инициализации IMR обнуляется, следовательно, разрешаются ЗП на всех входах.

Для программирования ПКП в работе системы используется 3 слова рабочих приказов:

- Operation Command Word (OCW).

1. OCW1 – разрешение или запрет отдельных входов ЗП.

OCW1 использует нечетный адрес.

Регистр масок всегда доступен ЦП для чтения и для записи.

               
IM 7 IM 6 IM 5 IM 4 IM 3 IM 2 IM 1 IM 0
LPT 1 HTMD LPT 2 COM 1 COM 2 Каскадир. Клавиатура Таймер
               

Слова рабочих приказов OCW 2 и OCW 3 используются для управления текущим режимом работы ПКП. Оба слова передаются по четному адресу.

Для отличия OCW 2 от OCW 3 и ICW 1(Initialization Command Word) используются два бита с номерами 4 и 3:

D4 D3
  X – ICW1
  0 – OCW2
  1 – OCW3

 

2. OCW2 используется при завершении процедуры обработки прерывания или смены текущего режима работы ПКП.

Формат OCW2:

                OCW 2 подается по четному адресу, для первого контроллера = 20 h.
MODE     L2 L1 L0
OCW2

Если MODE =00100000 = 20h, устанавливается режим вложенных прерываний и сбрасывается бит в ISR, в соответствии с последним обслуживаемым запросом.

Пример: поступил ЗП на вход IR5. ЦП начал обслуживание, бит IS5 =1, затем пришел ЗП на вход IR4, устанавливается IS4 =1. Режим вложенных прерываний сохраняется. Пришел ЗП на IR3, устанавливается IS3 =1.

Если поступает команда Port[$20]:=$20;, бит IS3 сбросится в 0, если еще раз поступает эта же команда, то сбросится бит IS4 =0, следующая аналогичная команда сбросит бит IS5 =0.

Если установить режим MODE=10100000 = A0h, устанавливается режим циклических приоритетов, сбрасывается бит с максимальным приоритетом, входу присваивается самый низкий приоритет.

Если установить MODE = 11000L2L1L0 режим адресуемых приоритетов, номеру входа, определяемого полем L2L1L0, присваивается низший приоритет.

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

Формат OCW 3:

                OCW2 подается по четному адресу, для первого контроллера = 20 h.
  SMM     p RRC
Признак OSW3

SMM может принять только 2 значения (остальные не действуют).

SMM = 01101000 = 68h – незамаскированные запросы обслуживаются в порядке их поступления.

SMM = 01001000 = 48h – восстанавливается приоритет упорядоченных запросов.

RRC = 00001010 = Ah – разрешение чтения регистра IRR.

RRC = 00001011 = Bh – разрешение чтения регистра ISR.

После выполнения команды разрешения чтения регистра, чтение указанных регистров можно выполнять произвольное число раз до момента изменения OCW3. Чтение выполняется из того же адреса.

P=1→00001100 = Ch – разрешение чтения незамаскированного запроса с максимальным приоритетом.

Следующая операция чтения из регистра с четным адресом приводит к установке бита ISk с максимальным приоритетом, как будто получен сигнал INTA и передача ЦП в байта следующего формата I0000W2W1W0, где I показывает наличие ЗП (I =1, есть ЗП), а W2W1W0 показывают номер входа с наивысшим приоритетом.

Пример №1.

Port[$21]: = Port[$21] or 2; OCW1, адрес нечетный. IMi=1 – запрет клавиатуры.
Port[$21]: = Port[$21] and not 2; IMi =0 – разрешение работы клавиатуры.

Пример №2.

Port[$20]: = Port[$20]; Сброс бита с самым высоким приоритетом ISi. Завершение обслуживания прерывания, соответствующего последнему запросу.

Пример №3.

Port[$20]:=$A; Разрешение чтения регистра IRR.
Writeln(‘содержимое регистра IRR=’), port[$20]; Чтение регистра IRR

6.14 Методика программирования обмена данными с прерыванием программы.

Содержит две части:

- Подготовка к обмену с прерываниями выполняется в фоновой программе.

- Обслуживание ВУ в режиме прерывания фоновой программы.

Подготовка к обмену с прерываниями включает:

1. Резервирование памяти для совместного использования фоновой и оперативной программ:

- Память для хранения данных. Оперативная программа использует её для ввода данных в ВУ или вывода данных из ВУ. Фоновая программа – для подготовки данных ВУ или обработки данных.

- Программный счетчик. Содержит текущее количество слов, переданное между фоновой и оперативной программами в том или ином направлении. Оперативная программа модифицирует программный счетчик в каждом цикле обмена. Фоновая – использует программный счетчик для проверки завершения обмена.

- Указатель длины массива данных. Оперативная программа в этой переменной указывает общее количество слов, предназначенных для передачи. Фоновая программа должна запретить прерывание при передаче установленного объема данных.

2. Установка ВП на оперативную программу. В

3. Разрешение прерывания ВУ. Определяет момент начала совместной работы фоновой и оперативной программ.

Обслуживание ВУ в режиме прерываний (вторая часть) выполняется оперативной программой, она в каждом цикле обмена данными должна выполнять следующие действия:

1. Сохранение регистров процессора, которые будут модифицированы.

2. Инкремент (декремент) программного счетчика.

3. Обмен данными с памятью.

4. Сброс ЗП в интерфейсе ВУ, если он не сбрасывается аппаратными средствами.

5. Восстановление регистров ЦП: СК, РСП.

6. При передаче установленного фоновой программой обмена данных оперативная программа должна запретить прерывание ВУ.

Для ЭВМ семейства IBM PC:

В регистре флагов IF =1, чтобы восстановить режим вложенных прерываний и разрешить прерывание от устройств с большими приоритетами. Оперативная программа должна сбрасывать бит ISi =0, чтобы разрешить прерывание от данного устройства и устройств с меньшими приоритетами.

6.15 Реализация методики обмена данными с прерыванием программы между в ЭВМ в автоматизированных системах на основе ЭВМ семейства IBM PC в среде Borland Pascal.

<== предыдущая лекция | следующая лекция ==>
Реализация многоуровневых ВП в ЭВМ семейства IBM | Установка ВП
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 354; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.