Биты HP определяют, запрос на прерывание от какого модуля будет иметь самый высокий приоритет при обработке его контроллером прерывания. Значения этих битов могут динамически меняться во время работы. Обычно самым приоритетным устанавливают запрос с вектором прерывания, равным 11111 (IF), от линии 15 порта С. Для этого в биты HP записывают код 11111.
Биты VBA определяют в контроллере МС68360 базовый адрес векторов прерывания. Этот адрес суммируется с 5 младшими битами номера вектора прерывания и образует полный вектор прерывания для выбранного модуля. Если пользователь не определил значение этих битов, то по умолчанию оно принимается равным 0x0F для всех модулей коммуникационного процессора.
2.2.6.1. Регистры событий.
При работе в канале связи каждого канала ввода/вывода происходит достаточно много различных событий, каждое из которых может требовать прерывания и вмешательства центрального процессора для анализа сложившейся ситуации. Так, в МРС860 в каналах связи регистрируется до 13 событий (рис. 5), которые могут требовать выставления запросов на прерывание. Набор событий в канале связи зависит от типа протокола, с которым работает SCC-контроллер. Для регистрации этих событий каждый SCC-канал имеет собственный регистр событий SCCE. При регистрации некоторого события в SCC-канале происходит установка бита в регистре SCCE, соответствующего данному событию.
Установка хотя бы одного бита события в этом регистре приводит к немедленной установке бита прерывания от данного SCC-канала в регистре регистрации прерываний IPR. Прерывание от SCC-канала не регистрируется, если содержимое регистра SCCE равно 0. Следует помнить, что прерывание от SCC-канала в регистре IPR будет обнаружено контроллером прерываний, только если оно разрешено в регистре маски IMR.
Обработка регистров событий всех каналов производится независимо друг от друга. При обработке прерывания от SCC-канала следует сразу же сбрасывать соответствующий бит события в регистре SCCE, чтобы контроллер прерывания мог зарегистрировать и обработать запросы на прерывания от других событий, или чтобы SCC-контроллер был готов снова зарегистрировать это событие. Сброс бита события в регистре SCCE производится записью в этот бит 1. Для сброса бита в регистре событий не рекомендуется использовать команды битовой обработки, типa BSET, т. к. это может привести к сбросу других битов, еще не обработанных событий.
При желании пользователь может замаскировать регистрацию тех или иных событий в SCC-канале. Для этого он должен сбросить в 0 бит, соответствующий выбранному событию, в регистре маскирования событий SCCM. Расположение битов событий в регистрах SCCE и SCCM аналогично. При включении питания регистр регистрации событий SCCE равен 0 и все прерывания от событий, происходящих в SCC-канале, замаскированы.
Регистры событий SCCE используются для регистрации событий в SCC-каналах связи и генерации запросов на прерывания при возникновении тех или иных событий. Формат регистра событий зависит от типа коммуникационного протокола, с которым работает SCC-контроллер. При регистрации событий контроллер в регистре SCCE устанавливает бит, соответствующий этому событию. Прерывание от любого события может быть замаскировано в регистре маски SCCM. Расположение битов событий в регистрах SCCE и SCCM аналогично. Сброс бита события в регистре SCCE производится записью в него "1". При системном сбросе содержимое регистра событий обнуляется.
Изменение состояния сигнала на линии CTS регистрируется в бите CTS. Но для того, чтобы узнать новое состояние CTS -сигнала, пользователь должен прочитать содержимое регистра статуса SCCS.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.