Interrupt Channel

Отправка прерывания на процессор с оборудования

  • Библиотека:
  • SoC Blockset/Память

  • Interrupt Channel block

Описание

Блок Interrupt Channel получает запросы на прерывание от логики FPGA или блока Memory Channel, арбитрирует запросы и запускает управляемую событиями программную задачу к блоку Task Manager. Вы можете подключить до 16 устройств к контроллеру прерывания с одним прерыванием на устройство. Блок состоит из этих трех частей:

  • Контроллер прерывания - эта часть принимает запросы прерывания (IRQs) и арбитрирует их в соответствии с заданным пользователем приоритетом. Когда существуют параллельные запросы к контроллеру прерывания, запросы с более высоким приоритетом обрабатываются перед запросами с более низким приоритетом.

  • Ядро Interrupt Service Routine (ISR) - Эта часть получает запрос перерыва от Контроллера Перерыва, служит перерыву и посылает признать сигнал назад в Контроллер Перерыва, так, чтобы это могло обработать следующий IRQ.

  • Драйвер IPCore (по одному на прерывание) - Эта часть получает запрос от Kernel ISR и запускает событийно-управляемую задачу в процессоре.

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

Это изображение показывает концептуальное представление блока Interrupt Channel, который принимает запросы на прерывание от алгоритма FPGA. После арбитража ядро обслуживает запрос и запускает событие в алгоритм процессора.

Interrupt Channel Structure

Порты

Вход

расширить все

Каждому прерыванию присваивается пара портов: один входной порт и один выходной порт. По умолчанию N-й порт прерывания называется прерыванием N. Вы можете изменить имена прерываний, нажав Edit в параметре Interrupts.

Подключите этот порт к логическому сигналу от логики FPGA или событию от Memory Channel или Event Source блока.

Зависимости

Количество входа портов зависит от количества прерываний в таблице прерываний.

Типы данных: rteEvent | Boolean

Выход

расширить все

Каждому прерыванию присваивается пара портов: один входной порт и один выходной порт. По умолчанию N-й порт прерывания называется прерыванием N. Вы можете изменить имена прерываний, нажав Edit в параметре Interrupts.

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

Зависимости

Количество выхода портов зависит от количества прерываний в таблице прерываний.

Типы данных: rteEvent

Параметры

расширить все

Этот параметр включает таблицу, где каждая из его линий соответствует прерыванию в блоке Interrupt Channel. Измените таблицу, чтобы добавить или изменить прерывание. Канал прерывания может иметь до 16 прерываний.

Для каждого прерывания можно отредактировать эти значения.

  • Interrupt Name - Задайте имя прерывания. Это значение изменяет имена входа и выхода портов для этого прерывания.

  • Trigger Type - выберите тип триггера для прерывания путем выбора любой из этих опций.

    • Rising edge - Когда прерывание начинается в логике FPGA

    • SoC event - Когда прерывание начинается в блоке Memory Channel или Event Source блоке

  • Priority - в столбце Priority устанавливается приоритет для каждого прерывания. Это значение остается статическим. Верхняя строка представляет самое высокое прерывание. Щелкните Move Up, чтобы увеличить приоритет прерывания. Щелкните Move Down, чтобы уменьшить приоритет прерывания.

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

Задайте время вычислений путем ввода числа в секундах.

Расширенные возможности

Преобразование с фиксированной точкой
Разрабатывайте и моделируйте системы с фиксированной точкой с помощью Fixed-Point Designer™.

См. также

Блоки

Введенный в R2020b