Особенности применения внешнего контроллера прерываний Vectored Iterrupt Controller в Nios Altera

Особенности применения внешнего контроллера прерываний Vectored Iterrupt Controller в Nios Altera Продолжая тему прерываний в Nios Altera рассмотрим вариант системы на Nios с применением внешнего контроллера прерываний - Vectored Interrupt Controller. Для подключения к системе на Nios внешнего контроллера прерываний первое, что необходимо сделать это выбрать процессор F если в системе стоит другой. Далее откроется панель позволяющая подкючить к процессору и в систему VIC как показано на картинках.

Nios 2F

Внешние прерывания Nios

Важный момент. При подключении в ситему с Nios внешнего контроллера прерываний (VIC), вместе с ним обязательно устанавливаются так называемые теневые регистры - окно под названием 'Number of shadow register sets'. Что касается их количества - оно должно быть не меньше чем общее число источников прерываний в системе. Далее все как обычно - в систему включается сам компонент VIC.

Соединение VIC с Nios

VIC Nios

Выход intrrrupt_controller_out VIC (Vectored Interrupt Controller) подключается к interrupt_controller_in CPU (Nios 2 Processor). Что касается программы инициализации внешних прерываний и обработчика то ничего не меняется.

Теперь ближе к делу. В чем интерес VIC? Ответ на этот вопрос появится после сравнения скоростей входа в обработчик с внутренним и внешним контроллером прерываний для самого критичного прерывания Nios - внешнего прерывания. Чтобы провести такое сравнение на цифровом осциллографе фиксировалась скорость входа в обработчик внешнего прерывания для систем с Nios+внутренний контроллер прерываний и Nios+VIC(внешний контроллер прерываний).

Результат сравнения представлен на картинках.

Время входа в обработчик прерываний - внутренний

VIC время входа в обработчик прерываний

На первой и второй картинках показано минимальное и максимальное время входа в обработчик внешнего прерывания в системе где кроме него работает по прерываниям на прием и передачу еще и UART. Первая картинка - система с внутренним обработчиком прерываний, вторая с внешним (VIC). Явно система с внешним контроллером прерываний выигрывает. Время входа в обработчик внешнего прерывания чуть более 1 мкс, в то время как время входа в обработчик внешнего прерывания в системе с внутренним контроллером прерываний ~3...6 мкс.

Top.Mail.Ru