Intel 8XC196Kx, 8XC196Jx, 87C196CA

Intel 80296SASiemens SAB 80515, SAB 80C515

Siemens C167Intel 8XC196Kx, 8XC196Jx, 87C196CAСистема прерываний состоит из двух компонент: программируемый контроллер прерываний и сервер периферийных транзакций (PTS).
Программируемый контроллер прерываний имеет аппаратную схему приоритетов, которая может быть программно изменена. Вектора прерываний храня тся в специальной области памяти. Имеется 15 источников прерываний, которые могут обрабатываться PTS. Еще 3 источника не могут быть обработаны PTS: NMI (немаскируемое прерывние) имеет наивысший приоритет, softw are trap и прерывание по нереализованому опкоду не имеют приори тета, они направляются напрямую контроллеру пр ерывний. PTS прерывания имеют промежуточные приоритеты между NMI и стандартными прерываниями. Контроллер выбирает запрос с наивысшим приоритетом и соответствующий вектор, который содержит стартовый адрес процедуры обработчика прерывания.
Всего имеется 30 уро вней приоритетов. Программно изменять схему приоритетов можно контролируя регистры масок прерываний. В нем устанавливаются маски тех прерываний (т.е. прерывания разрешаются), кот орые могут п рерывать выполнение задачи или процедуры обработчика прерывания. Т.о. устанавливаются приоритеты запросов. Эти регистры зано сятся в стек командой PUSHA и автоматически очищаются, что запрещает все прерывания. Командой POPA они восстанавливаются. Есть в озможность запрещать все маскируемые прерывания (EI, DI). Чтобы программно сгенерировать прерывание достаточно установить соответствующий бит в специальном регистре запроса.
Микроконтроллер имеет три специальных источника прерываний, которые всегда разрешены: нереализован
ный опкод, software trap и NMI. Они напрямую обрабатываются контроллером прерываний и не могут бать назначены PTS. Из этих трех только NMI проходит тест на приоритет.
Сервер периферийных транзакций (PTS) - аппаратно запрограммированный процессор прерываний, обеспечивающий высокоскоростную обработку прерываний. Обработка запроса не изменяет стек или PSW. Почти все прерывания могут быть назначены на обработку PTS вместо контроллера прерываний. По адресу вектора прерывания PTS находится адрес управля
ущего блока PTS (PTSCB). Собственно PTSCB должен находиться в регистровой памяти на границе учетверенного слова. Содержимое PTSCB определяется выбранной процедурой обработки прерывания. Имеется 15 векторов PTS прерываний.
PTS поддерживает 5 специально микрокодированных процедур, выполняющих специфические задачи, намного быстрее, чем эквивалентная процедура обработчика стандартного прерывания.

Режимы работы PTS:

Режим единичной передачи.(Single Transfer Mode).
Заданное число раз пересылает байт или слово между указанными позициями. Указатели на источник и приемник данных могут изменяться (или оставаться постоянными) независимо друг от друга.

Режим передачи блока.(Block Transfer Mode).
Заданно е число раз пересылает блок данных между указанными позициями. Указатели на источник и приемник данных могут изменяться (или оставаться постоянными) независимо друг от друга как в течение передачи блока так и между передачами блоков.

A/D Scan Mode

PWM Toggle Mode и PWM Remap Mode
Эти режимы разработаны для использования event processor array (EPA) для генерирования pulse-width modulated (PWM) выходных сигналов.

При обнулении PTS счетчика вырабатывается прерывание end-of-PTS.
У микроконтроллера имеется контакт - "Внешнее прерывание".

Скрытое состояние прерывания.
Распознавание прерывания произойдет только после завершения текущей инструкции. Если до конца инструкции <5 тактов, распознавание произойдет после выполнения следующей инструкции. В случае стандартн ого прерывания необходимо еще 11 тактов для загрузки вектора прерывания.

Наши рекомендации