Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
367
Добавлен:
21.05.2015
Размер:
7.55 Mб
Скачать
    1. Настройка параметров контроля входа

Функция контроля входа необходима для обнаружения заданных фронтов или уровней на входных линиях в/в. На каждой линии в/в можно раздельно задать следующие параметры функции контроля входа: обнаружение нарастающего фронта, падающего фронта, обоих фронтов или низкого логического уровня. При условии активизации функции инвертирования входа, возможно и обнаружение высокого уровня. Функция контроля входа может использоваться для генерации запросов на перывание (IREQ). Запросы на прерывание могут также генерироваться при изменении состояния на линии в/в.

Контроль входа линии в/в может быть синхронным или асинхронным. Синхронный контроль требует участия синхронизации УВВ, а для асинхронного контроля какие-либо сигналы синхронизации не нужны.

Рисунок 13.9. Контроль входа

    1. Прерывания порта

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

Когда используется синхронный контроль, доступны для выбора все варианты контролируемых условий. Для генерации прерывания по обнаружению фронта необходимо, чтобы в течение цикла синхронизации УВВ была выполнена одна выборка изменившегося уровня линии.

Когда же используется асинхронный контроль, полная поддержка всех контролируемых условий предусмотрена только на линии 2 каждого порта. Это означает, что линия 2 способна обнаружить фронт входного сигнала и сгенерировать запрос на прерывание. Возможности других линий по обнаружению контролируемых условий в асинхронном режиме являются ограниченными. Ограничения проявляются в том, что для обнаружения фронта необходимо, чтобы измененное состояние линии сохранилось до момента возобновления работы МК и восстановления его синхронизации. Если же во время запуска МК состояние линии вернется к исходному, то процедура возобновления работы МК продолжится, но запрос на прерывание генерироваться не будет.

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

В табл. 13.1…13.3 подытожена информация о том, по каким условиям могут генерироваться прерывания при различных настройках функции контроля входа.

Табл. 13.1. Поддержка условий генерации прерываний при синхронном контроле входа

Контролируемое условие

Поддержка

Описание прерывания

Нарастающий фронт

Есть

Всегда запускается при обнаружении условия

Падающий фронт

Есть

Всегда запускается при обнаружении условия

Оба фронта

Есть

Всегда запускается при обнаружении условия

Низкий уровень

Есть

Запускается, только если низкий уровень сохраняется неизменным

Табл. 13.2. Поддержка условий генерации прерываний при полнофункциональном асинхронном контроле входа

Контролируемое условие

Поддержка

Описание прерывания

Нарастающий фронт

Есть

Всегда запускается при обнаружении условия

Падающий фронт

Есть

Всегда запускается при обнаружении условия

Оба фронта

Есть

Всегда запускается при обнаружении условия

Низкий уровень

Есть

Запускается, только если низкий уровень сохраняется неизменным

Табл. 13.3. Поддержка условий генерации прерываний при ограниченном по функциональности асинхронном контроле входа

Контролируемое условие

Поддержка

Описание прерывания

Нарастающий фронт

Нет

-

Падающий фронт

Нет

-

Оба фронта

Есть

Запускается, только если измененный уровень сохраняется неизменным

Низкий уровень

Есть

Запускается, только если низкий уровень сохраняется неизменным

Соседние файлы в папке Архитектура ЭВМ