Маскирование прерываний

Все прерывания могут быть разрешены и запрещены глобальным битом разрешения прерываний IRPREN (бит 12 в MODE1). Для глобального разрешения прерываний он должен быть установлен. Все прерывания, за исключением прерывания сброса, могут быть замаскированы. Биты регистра управления маскирования прерываний IMASK соответствуют битам регистра защелки прерываний IRPTL. Если бит = 1, соответствующее прерывание не замаскировано, то есть разрешено. Регистр IMASK препятствует только обработке прерываний, но не их защелкиванию в регистре IRPTL.

Обработка внешних и программных прерываний

Каждое из четырех внешних прерываний IRQ3-0 может защелкиваться или по уровню, или по фронту. Прерывание по уровню считается действительным, если при проверке соответствующего входа определяется состояние "активно" (низкий уровень). Прерывание по уровню должно быть деактивировано прежде, чем произойдет возврат из обслуживающей подпрограммы, в противном случае процессор будет трактовать активный уровень как новый запрос.

Прерывание по фронту считается действительным, если в одном цикле фиксируется высокий уровень, а в другом – низкий. Для прерываний по фронту нет необходимости снимать запрос.

Режим чувствительности для каждого входа IRQ3-0 определяется соответствующим битом в регистре MODE2.

Инициирование программного (пользовательского) прерывания выполняется установкой одного из битов 24-31 в регистре IRPTL. ADSP-21000 обслуживает это прерывание аналогично другим видам прерываний.

Отличия работы процессора при разрешенных и запрещенных вложенных прерываниях.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: