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

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

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

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

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

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

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

На уровне CPUпри поступлении запроса на прерывание устанавливается соответствующий флагIFRи при установке ядром соответствующего разрешенияIERи отсутствии глобальной маски прерыванийINTMCPUприступает к подготовке обслуживания прерывания. При этом сохраняются переменные прерываемой программы, очищается конвейер, сохраняется адрес последней операции для возврата. Далее из таблицы векторов прерываний извлекается адрес соответствующей подпрограммы обслуживания прерывания и начинается ее исполнение, флаги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. Аналого-цифровой преобразователь. Устройство, программирование функций»