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

4.7. Распознавание Прерываний

Пять внешних источников могут прерывать 8XC196KC/KD. Детектор Перехода производит выборку входов прерывания в течение Фазы 1 ( CLKOUT низкого уровня )

и защелкивает прерывание, когда происходит переход от низкого к высокому уровню. Для того, чтобы гарантировать распознавание, вход прерывания должен удерживаться на высоком уровне больше чем одно время состояния. Если ширина импульса - точно одно время состояния или меньше,существует статистическая возможность того,что прерывание может быть пропущено.

Так как прерывания запускаемы фронтом сигнала, то если вход удерживается в высоком состоянии, генерируется только одно прерывание. ( Если бы устройство использовало переключаемые уровнем,а не фронтом входы, то генерировались бы многократные прерывания. )

Обратите Внимание

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

не активны, должны находиться в низком состоянии.

4.8. Время Ожидания Прерывания

Время ожидания Прерывания - общая задержка между временем когда генерируется прерывание ( не подтверждается ) и временем,когда устройство начинает выполнять программу обработки прерывания или PTS цикл. Задержка происходит между временем, когда прерывание обнаружено и временем, когда оно подтверждается. Прерывание подтверждается, когда текущая команда заканчивает выполнение. Если прерывание происходит позже чем за четыре времени состояния перед концом текущей команды, оно может быть не подтверждено, пока не закончится следующая команда . Такая дополнительная задержка происходит из-за механизма предвыборки команд. Таким образом, максимальная задержка между порождением прерываний и их подтверждением - четыре времени состояния плюс время выполнения следующей команды.

Когда подтверждается стандартное прерывание, аппаратные средства очищают бит захвата прерывания и побужда-

ют обращение к адресу, содержащемуся в соответствующем векторе прерывания после завершения текущей команды. Процедура, которая получает вектор и побуждает обращение требует 11 тактов. Если стек находится во внешней оперативной памяти, обращение требует дополнительно еще двa такта для перевода шины в третье состояние.

Когда подтверждается PTS прерывание, обращение к PTSCB идет немедленно и начинает выполняться цикл PTS.

Выполнение любого из следующих условий откладывает подтверждение прерывания до окончания выполнения следующей команды :

* Знаковый Префиксный код операции (FE) для двухбайтово-

го,знакового умножения и команд деления

* Прерывание по Невыполняемому Коду Операции

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

* Любая из следующих защищенных команд: DI, EI, DPTS,

EPTS, POPA, POPF, PUSHA, PUSHF

Время ожидания(для самого длительного случая) состоит из следующих элементов :

* Время для окончания выполнения текущей команды ( 4 такта )

* Если это - защищенная команда,то команда, которая следует за ней, должна выполниться раньше, чем прерывание может быть подтверждено. Поэтому следует добавить еще и время выполнения команды, которая следует за защищенной командой.

* Время выполнения следующей команды. ( Самая длинная команда, NORML,занимает 39 тактов.)

* Только для стандартных прерываний - время взятия вектора и обращения к подпрограмме( 11 тактов для внутреннего стека или 13 для внешнего).

Максимальная задержка для стандартного прерывания - 56 тактов ( 4 +39+ 13 ). Это время задержки не включает время необходимое для выполнения первой команды в программе обработки прерывания.

Максимальная задержка для прерывания PTS - 43 такта ( 4 + 39 ). Это время задержки не включает дополнительную задержку при отключении PTS (PSW.2 = 0 ) или при обслуживании PTS c более высоким приоритетом.

Соседние файлы в папке Лабораторные работы по МПС