Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek2013 / Lek10_FPGA.docx
Скачиваний:
79
Добавлен:
31.05.2015
Размер:
1.97 Mб
Скачать

Прерывания

Прерывание (англ.interrupt)— сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.

В ядре PicoBlaze сигнал прерывания поступает на вход Interrupt. Когда прерывание начнет обрабатываться на выходе подтверждения прерывания Interrupt_ACK появиться логическая 1.

При возникновении прерывания сохраняется значение счетчика команд, и в него записывается значение 0х3FF.

По этому адресу находится команда безусловного перехода на подпрограмму обработки прерывания.

Пример: пусть есть периодический сигнал с частотой 1Гц. Требуется подсчитывать число секунд.

LOAD s0, 00

ENABLE INTERRUPT

start:

OUTPUT s0, 33

JUMP start

OneSek:

ADD s0, 01

RETURNI ENABLE

ADDRESS 3FF

JUMP OneSek

Коддляэмулятора:

DSOUT $33

LOAD s0, 0

EINT

start:

OUT s0, $33

JUMP start

OneSek:

ADD s0, 1

RETI ENABLE

ORG $3FF

JUMP OneSek

11

Соседние файлы в папке Lek2013