Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикладное программирование -Конспект лекций -...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.48 Mб
Скачать

3.6 Система прерываний

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

Блок расширения периферийных прерываний (PIE) служит для мультиплексирования до 96 источников периферийных прерываний к небольшому числу входов микропроцессорного ядра. 58 прерываний из 96 используются периферией процессора. 96 мультиплексируемых прерываний объединяются в группы по 8 и выход каждой из групп подключается к одному из 12 входов INT1…INT12 прерываний CPU. Каждое из 96 прерываний поддерживается собственным вектором, вектора прерываний хранятся в выделенном блоке памяти (PIE Vector – RAM). Вектора прерываний – это адреса, по которых хранятся подпрограммы обслуживания прерываний. На сохранение текущей информации и вызов процедуры обработки прерывания затрачивается 9 процессорных циклов.

На рис. 3.6 приведена блок-схема обработки мультиплексируемых прерываний.

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

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

На уровне CPU при поступлении запроса на прерывание устанавливается соответствующий флаг IFR и при установке ядром соответствующего разрешения IER и отсутствии глобальной маски прерываний INTM CPU приступает к подготовке обслуживания прерывания. При этом сохраняются переменные прерываемой программы, очищается конвейер, сохраняется адрес последней операции для возврата. Далее из таблицы векторов прерываний извлекается адрес соответствующей подпрограммы обслуживания прерывания и начинается ее исполнение, флаги PIEFRx автоматически сбрасываются.

Рис.3.6. Блок-схема обработки мультиплексируемых прерываний

3.6.2 Внешние прерывания – поддерживаются 8 маскируемых внешних прерываний (XINT1 – XINT7, XNMI). Параметры сигналов запроса прерываний (фронт, спад) настраиваются индивидуально. XINT1, XINT2, XNMI имеют собственный 16-разрядный счетчик, который позволяет делать точную отметку времени прерывания. Внешние прерывания не имеют однозначной привязки к определенным выводам микросхем,

XINT1, XINT2, XNMI могут быть запрограммированы на выводы, соответствующие GPIO0 …. GPIO31, XINT3 – XINT7 могут быть запрограммированы на выводы, соответствующие GPIO32 …. GPIO63.

Лекция №4 «Цифровой сигнальный контроллер TMS320F28335. Периферийные устройства для систем управления ePWM, eCAP, eQEP. Аналого-цифровой преобразователь. Устройство, программирование функций»