Разделы презентаций


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

Содержание

Система прерываний DSP TMS320F2812 Прерывания выполняются в 4-х основных фазах: Прием запроса прерывания. Принятие прерывания к исполнению. Если прерывание – маскируемое, то условия, которые вызывают прерывания, дополнительно перепроверяются и подтверждаются процессором.

Слайды и текст этой презентации

Слайд 1Система прерываний DSP TMS320F2812

Прерывания – это программно- или аппаратно-управляемые

сигналы, которые заставляют CPU приостанавливать текущее выполнение программы и переходить

к выполнению подпрограммы. Прерывания вырабатываются периферией или внешними устройствами (например, АЦП, ЦАП, или внешними процессорами), а также внутренними устройствами (например, таймерами после завершения счета). Для процессоров C28x прерывания могут быть инициированы программно (инструкции INTR, OR IFR, TRAP) или аппаратно (внешние выводы, внешняя периферия). Если несколько аппаратных прерываний были инициированы одновременно, обслуживание производится в соответствии с установленным приоритетом.
DSP TMS320F2812 содержит аппаратный контроллер расширения прерываний (PIE), который мультиплексирует многочисленные прерывания от периферии в одно CPU-прерывание. С точки зрения CPU, все прерывания подразделяются на 2 категории:
- маскируемые прерывания (могут быть программно разрешены либо запрещены);
- немаскируемые прерывания (не могут быть программно запрещены) – C28x будет немедленно реагировать на данный тип прерываний и переходить к подпрограмме обработки прерывания; к этой категории относятся прерывание NMI, сигнал сброса RS и программно инициируемые прерывания INTR и TRAP-??.
Система прерываний DSP TMS320F2812 	Прерывания – это программно- или аппаратно-управляемые сигналы, которые заставляют CPU приостанавливать текущее выполнение

Слайд 2Система прерываний DSP TMS320F2812

Прерывания выполняются в 4-х основных фазах:

Прием запроса прерывания.
Принятие прерывания к исполнению. Если прерывание –

маскируемое, то условия, которые вызывают прерывания, дополнительно перепроверяются и подтверждаются процессором. Для немаскируемых и программных прерываний принятие к выполнению происходит сразу.
Подготовка к подпрограмме обслуживания прерывания и сохранение значений регистров:
- оканчивается выполнение текущей инструкции и снимаются с конвейера все инструкции, которые не достигли фазы D2;
- автоматически сохраняется большая часть текущего состояния программы путем сохранения в стеке содержимого регистров ST0, T, AL, AH, PL, PH, AR0, AR1, DP, ST1, DBGSTAT, PC, IER;
- извлекается вектор прерывания и загружается в программный счетчик (PC).
4. Выполнение подпрограммы обслуживания прерывания (ОП). DSP семейства C28x обрабатывает прерывания путем выполнения соответствующих подпрограмм обработки. Вектора прерываний (начальные адреса подпрограмм обработки) находятся в предопределенной области памяти программ BootROM – BROM vectors.
Система прерываний DSP TMS320F2812 	Прерывания выполняются в 4-х основных фазах: Прием запроса прерывания. Принятие прерывания к исполнению.

Слайд 3Система прерываний DSP TMS320F2812

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

Слайд 4Система прерываний DSP TMS320F2812

Процессорное ядро DSP F2812 принимает сигналы

по 16 линиям прерываний:

Система прерываний DSP TMS320F2812 Процессорное ядро DSP F2812 принимает сигналы по 16 линиям прерываний:

Слайд 5Система прерываний DSP TMS320F2812

Источники прерываний в DSP F2812:

Система прерываний DSP TMS320F2812 	Источники прерываний в DSP F2812:

Слайд 632-битные таймеры ядра ЦСП TMS320F28x

Сигналы прерываний, формируемые CPU-таймерами, связаны

с прерываниями ядра следующим образом:

32-битные таймеры ядра ЦСП TMS320F28x 	Сигналы прерываний, формируемые CPU-таймерами, связаны с прерываниями ядра следующим образом:

Слайд 7Система прерываний DSP TMS320F2812

DSP F2812 поддерживает 32 вектора CPU-прерываний,

в том числе вектор начального сброса. Каждый вектор – это

22-битный начальный адрес подпрограммы ОП, который сохраняется в двух последовательных ячейках памяти программ области BROM vectors (16 бит в ячейке с младшим адресом и 6 бит в ячейке со старшим адресом).
Система прерываний DSP TMS320F2812 		DSP F2812 поддерживает 32 вектора CPU-прерываний, в том числе вектор начального сброса. Каждый

Слайд 8Система прерываний DSP TMS320F2812

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

Слайд 9Система прерываний DSP TMS320F2812

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

Слайд 10Система прерываний DSP TMS320F2812

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

Слайд 11Система прерываний DSP TMS320F2812

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

Слайд 12Система прерываний DSP TMS320F2812

Общая структура обработки маскируемых прерываний

ядра:
INTM=1: глобальное разрешение прерываний
INTM=0: глобальный запрет прерываний

Система прерываний DSP TMS320F2812 	 Общая структура обработки маскируемых прерываний ядра:INTM=1: глобальное разрешение прерыванийINTM=0: глобальный запрет прерываний

Слайд 13Система прерываний DSP TMS320F2812

INT1… INT14 – 14 основных

прерываний. Прерывания DLOGINT и RTOSINT используются при эмуляции.
C28x имеет

три регистра, выделенных для управления прерываниями:
− регистр флагов прерываний (IFR);
− регистр разрешения прерываний (IER);
− регистр разрешения отладки прерываний (DBGIER).
16-битный регистр IFR содержит биты флагов для маскируемых прерываний (которые можно разрешать и запрещать программно).
Система прерываний DSP TMS320F2812 	 INT1… INT14 – 14 основных прерываний. Прерывания DLOGINT и RTOSINT используются при

Слайд 14Система прерываний DSP TMS320F2812

Когда определенный флаг регистра IFR устанавливается,

это означает, что соответствующее прерывание будет перепроверяться и подтверждаться процессором.

Входы CPU INT1…INT14 опрашиваются в каждом машинном цикле, при обнаружении прерывания соответствующий бит регистра IFR защелкивается в единичном состоянии, а после обслуживания прерывания – сбрасывается.

В регистре IER индивидуально разрешается или запрещается соответствующим битом определенное прерывание. Установка в 1 – разрешение прерывания, сброс в 0 – запрет.

Когда аппаратное прерывание обслужено, или когда выполнена инструкция INTR, соответствующий бит IER сбрасывается.

Система прерываний DSP TMS320F2812 		Когда определенный флаг регистра IFR устанавливается, это означает, что соответствующее прерывание будет перепроверяться

Слайд 15Система прерываний DSP TMS320F2812

Регистр DBGIER устанавливает разрешение/запрет прерывания, в

то время как CPU остановлен в режиме эмуляции реального времени.

Прерывание, разрешенное в DBGIER, называется «критичное ко времени прерывание». Если CPU запущен в режиме эмуляции реального времени, используется стандартная процедура обслуживания прерывания и регистр DBGIER не используется. Так же, как и в случае с регистром IER, установка бита в DBGIER разрешает соответствующее прерывание, сброс – запрещает.
Система прерываний DSP TMS320F2812 		Регистр DBGIER устанавливает разрешение/запрет прерывания, в то время как CPU остановлен в режиме

Слайд 16Система прерываний DSP TMS320F2812

Стандартная процедура выполнения маскируемого прерывания:

Система прерываний DSP TMS320F2812 	Стандартная процедура выполнения маскируемого прерывания:

Слайд 17Система прерываний DSP TMS320F2812

В случае использования PIE-контроллера, таблица адресов

векторов прерываний расширяется. PIE-контроллер может поддерживать 96 прерываний, которые сгруппированы

в 12 групп по 8 прерываний.
Система прерываний DSP TMS320F2812 		В случае использования PIE-контроллера, таблица адресов векторов прерываний расширяется. PIE-контроллер может поддерживать 96

Слайд 18Система прерываний DSP TMS320F2812

Таблица источников прерываний в PIE-контроллере:
Приоритет

Система прерываний DSP TMS320F2812 Таблица источников прерываний в PIE-контроллере:Приоритет

Слайд 19Система прерываний DSP TMS320F2812

Каждая группа (строка из 8 элементов)

мультиплексируется в одно из прерываний ядра INT1…INT12:

Система прерываний DSP TMS320F2812 Каждая группа (строка из 8 элементов) мультиплексируется в одно из прерываний ядра INT1…INT12:

Слайд 20Система прерываний DSP TMS320F2812

Каждое из 96 прерываний поддерживается единственным

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

PIE Vectors.
Система прерываний DSP TMS320F2812 	Каждое из 96 прерываний поддерживается единственным вектором прерывания, размещенном в специально предназначенной области

Слайд 21Система прерываний DSP TMS320F2812

CPU, обслуживая прерывание, автоматически извлекает из

памяти соответствующий вектор. За 9 машинных циклов CPU происходит извлечение

вектора и сохранение содержимого CPU-регистров. Приоритет прерываний контролируется аппаратно и программно, каждое прерывание может быть индивидуально и программно разрешено или запрещено PIE-контроллером. При обслуживании мультиплексированных прерываний PIE-контроллер для каждой группы прерываний содержит соответствующий флаг-бит (регистры PIEIFR1… PIEIFR12, индицируют активное прерывание) и бит разрешения (регистр PIEIER1… PIEIER12, устанавливают разрешение или запрет прерывания). Формат этих регистров следующий:
Система прерываний DSP TMS320F2812 	CPU, обслуживая прерывание, автоматически извлекает из памяти соответствующий вектор. За 9 машинных циклов

Слайд 22Система прерываний DSP TMS320F2812

Соответствующий бит в регистре подтверждения PIEACK

(активный уровень - 0) определяет номер активного прерывания для CPU

внутри группы. Формат регистра PIEACK (бит 0 соответствует прерыванию INT1, и т.д., бит 11 соответствует прерыванию INT12):

Формат регистра управления PIECTRL:

PIEVECT – эти биты показывают адрес в пределах таблицы векторов PIE vectors, из которой был извлечен вектор. Младший значащий бит игнорируется и показываются биты адреса от 1 до 15, что позволяет при чтении из регистра определить, какое прерывание генерировалось.
ENPIE – бит разрешения извлечения векторов из таблицы PIE-контроллера. Если ENPIE=1, все вектора извлекаются из таблицы векторов PIE (адреса 0x000D00… 0x000DFF). Если ENPIE=0, PIE-контролер запрещен, и вектора извлекаются из таблицы CPU-векторов (BootRom, адреса 0x3F FFC0… 0x3F FFFF).

Система прерываний DSP TMS320F2812 	Соответствующий бит в регистре подтверждения PIEACK (активный уровень - 0) определяет номер активного

Слайд 23Система прерываний DSP TMS320F2812

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

Слайд 24Система прерываний DSP TMS320F2812

Полная процедура обработки прерываний при ENPIE=1:


шаг 1 – генерация прерывания от периферии;
шаг 2 –

установка флага PIEIFRx.y = 1;
шаг 3а – проверка одновременного наличия двух условий: PIEIERx.y = 1 и PIEACKx=0;
шаг 3б – установка в «1» бита PIEACKx для подтверждения прерывания от группы x;
шаг 4 – формирование импульса прерывания по линии INTx на ядро (PIEACKx продолжает оставаться в единичном состоянии и требует программного сброса для возможности приема прерывания ядром по линии INTx в дальнейшем);
шаг 5 – установка флага IFRx = 1;
шаг 6 – проверка условия IERx = 1;
шаг 7 – проверка условия INTM = 1, подготовка адреса возврата и данных к сохранению в стеке;
шаг 8 – процессор определяет адрес вектора прерывания в области PIE Vector Mapping (адреса с 0x00 0D02 по 0x00 0D1C);
шаг 9 – процессор определяет адрес вектора прерывания в области PIE Vector Mapping с учетом текущего значения регистров PIEIER и PIEIFR (адреса с 0x00 0D40 по 0x00 0DFE).
Номер шага равен номеру машинного цикла.
Система прерываний DSP TMS320F2812 	Полная процедура обработки прерываний при ENPIE=1:  шаг 1 – генерация прерывания от

Слайд 25Система прерываний DSP TMS320F2812

Таблица векторов PIE-контроллера используется для хранения

начальных адресов подпрограмм ОП (векторов) для каждого прерывания, причем существует

единственный вектор на прерывание, включая все мультиплексируемые и немультиплексируемые прерывания. Таблица векторов PIE-контроллера представляет собой блок размером 256 слов в области SARAM, которая имеет неопределенные значения после начального сброса DSP.

0x00 0D00

0x00 0DFF

Система прерываний DSP TMS320F2812 	Таблица векторов PIE-контроллера используется для хранения начальных адресов подпрограмм ОП (векторов) для каждого

Слайд 26Система прерываний DSP TMS320F2812

Таблица векторов PIE-контроллера при ENPIE=1:

Система прерываний DSP TMS320F2812 	Таблица векторов PIE-контроллера при ENPIE=1:

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика