Прерывания таймера

Когда значение TCOUNT достигает нуля, таймер генерирует два прерывания, одно с

более высоким приоритетом, другое с более низким приоритетом. После сброса процессора оба маскируются. Необходимо демаскировать только то прерывание по таймеру, которое имеет нужный вам приоритет, а другое оставить маскированным.

Бит IRPTL Имя прерывания Адрес вектора Функция

4 TMZHI 0x10 Таймер = 0 (высокий приоритет)

23 TMZLI 0x5C Таймер = 0 (низкий приоритет)

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

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

Ни на TCOUNT, ни на TPERIOD сброс не действует, поэтому после сброса,

перед включением таймера, необходимо инициализировать оба регистра.

Программные прерывания. Внешние прерывания.

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

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

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

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


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



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