Скачиваний:
30
Добавлен:
03.06.2014
Размер:
7.32 Mб
Скачать

4.9. Специальные Прерывания

8XC196KC/KD поддерживает три специальных прерывания: Невыполняемый Код Операции(Unimplemented Opcode),Программная Ловушка(TRAP) и NMI. На эти прерывания не воздействует бит разрешения прерывания(I) (PSW.1), и они не могут маскироваться. Все эти прерывания обслуживаются Контроллером Прерывания; они не могут быть назначены к PTS.

Из этих трех, только NMI идет через Детектор Перехода и Приоритетный шифратор,а другие два специальных прерывания идут непосредственно для обслуживания в Контроллер Прерывания .

4.9.1. Прерывание по Невыполняемому Коду

Операции

Если CPU пытается выполнить невыполняемый код операции,происходит косвенное обращение по вектору в ячейке 2012H . Это предотвращает произвольное выполнение программ во время отказов программного обеспечения и аппаратных средств.

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

4.9.2. Прерывание по Ловушке Программного

Обеспечения

Команда TRAP ( код операции 0F7H ) выполняет вызов прерывания по вектору в ячейке 2010H. Команда TRAP выполняет прерывание одиночной команды, которое используется при отладке программного обеспечения или при генерации программных прерываний. Команда TRAP запрещает подтверждение других прерываний, пока не выполнится следующая команда .

4.9.3. Немаскируемое Прерывание

Внешний вывод NMI генерирует Немаскируемое Прерывание для реализации критических подпрограмм прерывания.

NMI имеет самый высокий приоритет относительно всех располагаемых по приоритетам прерываний. Оно идет непосредственно от Детектора Перехода к Приоритетному шифратору и оттуда к программе по вектору в ячейке 203EH.

Прерывание NMI генерируется в течение Фазы 1 ( CLKOUT =0 ) и внутренне зещелкивается. Если вывод удерживается в высоком состоянии, многократные прерывания не будут происходить. Если ваша система не использует NMI прерывание,

для предотвращения ложных прерываний присоедините NMI штырек к земле . Хотя в регистре INT_MASK1 существует бит

маскирования NMI, однако, он не выполняет никакой функции; NMI разрешен и при установленом и при сброшеном бите NMI в INT_MASK1. Чтобы гарантировать совместимость с будущими изделиями(программами), всегда сбрасывайте в нуль бит маскирования NMI.

4.10. Программирование Прерываний

В табл.2 приведены программируемые регистры, которые воздействуют на работу и функции Контроллера Прерывания и PTS.

Табл.2 Регистры состояния и управления Прерываниями и PTS

Мнемоника Название и описание регистра

INT_MASK Маска Прерывания.Эти регистры разрешают/ за INT_MASK1 прещают любое маскируемое прерывание

INT_PEND Захват прерывания. Биты в этих регистрах уста INT_PEND1 навливаются аппаратными средствами и показы- вают, какое поступило прерывание

IOC1 Управление вводом/выводом.Этот регистр выби рает источник INT00, INT02, и INT07 прерыва- ний.

IOS1 Состояние ввода/вывода.Этот регистр содержит флажки, которые указывают, какое событие вы звало прерывание.

PSW Слово Состояния Процессора.Этот регистр со держит один бит, который глобально разрешает или запрещает обслуживание всех маскируемых прерываний и другой, который разрешает или запрещает PTS.

PTSRV Обслуживание PTS. Биты этого регистра устана вливаются аппаратными средствами при требо вании конца PTS прерывания.

PTSSEL Выбор PTS.Этот регистр выбирает или цикл PTS или стандартную программу обслуживания пре рывания для каждого из пятнадцати маскируе мых запросов прерывания.

Регистр PTSSEL(05H/04H,HWindow1)состоит из двух байтов. Установка бита выбирает PTS цикл, очистка - стандартную подпрограмму обработки прерывания.

После сброса PTSSEL = 0000 0000 0000 0000 B

Соседние файлы в папке lab96