Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикладное программирование 2014 / TMS320F28335-система прерываний.pptx
Скачиваний:
58
Добавлен:
21.03.2016
Размер:
713.54 Кб
Скачать

СИСТЕМА

ПРЕРЫВАНИЙ

TMS320F28335

ВЫПОЛНИЛ: БОЧАРОВ А.Н. ГРУППА 5163

ЧТО ТАКОЕ ПРЕРЫВАНИЕ?

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

Запрос на прерывание - сигнал, сообщающий процессору о наступлении какого-либо события.

При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания, который

реагирует на событие и обслуживает его, после чего

возвращает управление в прерванный код.

2

В ЗАВИСИМОСТИ ОТ ИСТОЧНИКА ВОЗНИКНОВЕНИЯ СИГНАЛА ПРЕРЫВАНИЯ

Асинхронные,ДЕЛЯТСЯ НА:или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание.

Синхронные, или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение стека, обращение к недопустимым адресам памяти или недопустимый код операции.

Программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются3 для обращения к функциям встроенного программного обеспечения.

В ЗАВИСИМОСТИ ОТ ВОЗМОЖНОСТИ ЗАПРЕТА ПРЕРЫВАНИЯ ДЕЛЯТСЯ НА:

маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний;

немаскируемые — обрабатываются всегда, независимо от запретов на другие прерывания.

4

ОБРАБОТЧИК ПРЕРЫВАНИЯ

В цифровом сигнальном контроллере TMS320F28335 содержится много периферийных блоков и каждый из них способен генерировать одно или несколько прерываний в ответ на внешние события. Число таких прерываний превышает возможности их обработки на уровне процессорного ядра, поэтому в процессоре создан блок расширения прерываний.

5

БЛОК РАСШИРЕНИЯ ПЕРИФЕРИЙНЫХ ПРЕРЫВАНИЙ

Блок расширения периферийных прерываний (PIE) служит для мультиплексирования до 96 источников периферийных прерываний к небольшому числу входов микропроцессорного ядра.

Эти прерывания объединяются в группы по 8 и выход каждой из групп подключается к одному из 12 входов INT1…INT12 прерываний CPU.

Каждое из 96 прерываний поддерживается собственным вектором, вектора прерываний хранятся в выделенном блоке памяти (PIE Vector – RAM). Вектора прерываний – это адреса, по которых хранятся подпрограммы6 обслуживания прерываний.

БЛОК РАСШИРЕНИЯ ПЕРИФЕРИЙНЫХ ПРЕРЫВАНИЙ В TMS320F28335

Внешние

На сохранение текущей информации и вызов процедуры обработки прерывания затрачивается 9 процессорных циклов.

Внутренние

БЛОК-СХЕМА ОБРАБОТКИ МУЛЬТИПЛЕКСИРУЕМЫХ ПРЕРЫВАНИЙ

8

РАБОТА ПРЕРЫВАНИЯ НА УРОВНЕ ПЕРИФЕРИИ

При возникновении необходимости прерывания, бит флага (IF) соответствующего прерывания устанавливается в регистре в выделенное для этого периферийного устройства место. Если соответствующее прерывание активировано (IE), то периферийное устройство генерирует запрос прерывания дальше в PIE.

9

РАБОТА ПРЕРЫВАНИЯ НА УРОВНЕ (PIE)

Если соответствующее прерывание активировано (IE), проверяется соответствующий данной группе из 8 бит в регистре PIEACKx, чтобы убедиться, что CPU готов работать с этой группой прерываний. Если да, то PIE генерирует запрос прерывания уже в CPU, если нет, то PIE ждет готовности CPU.

10

Соседние файлы в папке Прикладное программирование 2014