Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты....сенькин....doc
Скачиваний:
4
Добавлен:
01.09.2019
Размер:
579.07 Кб
Скачать

56. Коммутация запросов прерываний

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

58.-59 Чувств к уровню контроллера прерываний , чувств. К перепаду контроллера прерываний Обратите внимание, что при использовании прерывания по уровню для пробуждения микроконтроллера из режима выключения (Power-down), только после удержания изменившегося уровня в течение определенного времени генерируется прерывание. Это делает микроконтроллер менее чувствительным к шумам. Оценка изменения состояния уровня выполняется по двум его выборкам с интервалом равным периоду сторожевого таймера, который равен 1 мкс (номинальное значение) при 5.0В и 25?C. Частота сторожевого таймера зависит от напряжения (см. “Электрические характеристики”). Пробуждение микроконтроллера наступает, если на входе присутствует требуемый уровень в процессе выборок или если он удерживается до окончания задержки при запуске синхронизации (возникает при выходе из режимов сна). Время запуска определяется конфигурационными битами SUT (см. “ Источники синхронизации и их распределение”). Если дважды выполнена выборка уровня с синхронизацией сторожевым таймером, но по истечении времени запуска этот уровень исчез, то пробуждение микроконтроллера наступит, но прерывание не будет сгенерировано. Для того чтобы активизировать прерывание по уровню необходимо, чтобы этот уровень удерживался в течение достаточного для пробуждения микроконтроллера времени.

Переход из низкого в высокий уровень является сигналом для контроллера прерываний на формирование запроса прерывания к процессору. Устройство должно удерживать высокий уровень запроса до тех пор, пока к нему не обратится программа-обработчик прерывания, что будет означать не только обнаружение, но и правильную идентификацию источника запроса прерывания. Если запрос снят преждевременно, идентификация будет некорректной. Способ подачи сигнала прерывания, принятый в ISA, — чувствительность к уровню, причем к высокому, — имеет меньшую помехозащищенность, чем срабатывание по отрицательному перепаду, и отрезает путь к нормальному разделению (совместному использованию) линий запросов. Линия IOСНК# позволяет вызывать немаскируемое прерывание (NMI), на которое процессор реагирует вне зависимости от каких-либо флагов. Это прерывание принято использовать для сообщения о серьезных ошибках, требующих реакции системы, но не для регулярной работы. Вызов NMI от данной линии разрешается установкой бита 3 (EIC) системного порта 061h, а признаком того, что прерывание NMI вызвано сигналом IOСНК#, является единичное значение бита 6 (IOCHK) того же порта.