
- •Модуль 4: Подсистема прерывания C28x
- •Прерывания ядра C28x
- •Источники сброса C28x
- •Значение регистров после сброса
- •Сброс – Первоначальный загрузчик
- •Опции загрузчика
- •Последовательность выполнения
- •Источники прерываний
- •Обработка маскируемых прерываний
- •Регистр флагов прерываний (IFR)
- •Регистр разрешение прерываний
- •Бит глобального
- •Расширение периферийных
- •PIE Регистры
- •Первичная таблица векторов прерываний после сброса
- •Таблица прерываний PIE для
- •Отображение таблицы векторов в устройстве - заключение
- •Реакция на прерывание
- •Латентность прерывания
- •СБРОС
- •Подсистема прерывания таймера
- •Регистры таймера C28x
- •Регистру управления таймерам C28x

Модуль 4: Подсистема прерывания C28x
Цифровой сигнальный контроллер TMS320F2812
Texas Instruments Incorporated

Прерывания ядра C28x
Ядро
C28x
RS NMI
INT1
INT2
INT3
INT4
INT5
INT6
INT7
INT8
INT9
INT10
INT11
INT12
INT13
INT14
2 не маскируемых прерывания
(RS, “выбираемое” NMI)
14 маскируемых прерываний (INT1 – INT14)
4 - 2

Источники сброса C28x
Сторожевой |
Ядро C28x |
||||||||||
|
|
|
|||||||||
таймер |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
RS |
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
к RS выводу
4 - 3

Значение регистров после сброса
Значение бит регистров после сброса |
|||||
|
PC |
0x3F FFC0 |
PC содержит |
вектор сброса |
|
ACC |
0x0000 0000 |
Аккумулятор очищен |
|||
XAR0 - XAR7 |
0x0000 0000 |
Вспомогательные регистры |
|||
DP |
0x0000 |
|
Указатель страниц данных ра |
||
P |
0x0000 0000 |
P регистр очищен |
|||
XT |
0x0000 0000 |
XT регистр очищен |
|||
SP |
0x0400 |
|
Указатель стека равен 0400 |
||
RPC |
0x00 0000 |
Программный счетчик возврата очи |
|||
IFR |
0x0000 |
|
Регистр флага прерывания оч |
||
IER |
0x0000 |
|
Маскируемые прерывания зап |
||
DBGIER |
0x0000 |
Прерывания отладки з |
4 - 4

|
|
Значение управляющих бит после |
||||
Регистр статуса 0 (ST0) |
сброса |
|
|
|||
|
|
|
|
|
|
|
SXM = 0 |
расширение знака выключено |
|||||
OVM = 0 |
режим переполнения выключен |
|||||
TC = 0 |
флаг управления/тестирования |
|
||||
C = 0 |
бит переноса N = 0 |
флаг отрицания |
||||
Z = 0 |
флаг нуля |
V = 0 |
бит переполнения |
|||
Регистр статуса 1 (ST1) |
PM = 000 |
установка левого сдвига н |
||||
|
|
|
|
OVC = 00 0000 |
счетчик переполнен |
|
INTM=1 |
|
|||||
глобальное запрещение всех маскируемых рерывани |
||||||
DBGM=1 |
запрещение эмуляции доступа/событий |
|||||
PAGE0=0 |
разрешение адресации стека / запрещение прямой |
|||||
адресации |
размещение таблицы векторов по адресу |
|||||
VMAP=1 |
||||||
SPA=0 |
0x3F FFC0 – 0x3F FFFF |
|
|
|||
бит статуса выравнивания указателя стека по четным |
||||||
адресам |
бит статуса циклических инструкций |
|||||
LOOP=0 |
||||||
EALLOW=0 |
бит разрешения эмуляции доступа |
|
||||
IDLESTAT=0 |
бит статуса инструкций холостого хода |
|||||
AMODE=0 |
режим адресации C27x/C28x |
|
||||
OBJMODE=0 режим объекта C27x |
|
|
||||
M0M1MAP=1бит режима отображения |
|
|
||||
XF = 0 |
бит статуса XF |
|
4 - 5 |
|||
|
|
|
|
|
|

Сброс – Первоначальный загрузчик
|
|
|
|
XMPNMC=1 |
|
Сброс |
|
|
|
||
|
|
|
(режим микропроцессора) |
||
|
|
|
Вектор сброса |
||
OBJMODE=0 |
AMODE=0 |
|
|
из XINTF зона 7 |
|
|
|
||||
ENPIE=0 |
VMAP=1 |
|
|
0x3F FFC0 |
|
M0M1MAP=1 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
XMPNMC=0 |
|
|
||
(режим микрокомпьютера) |
|
|
||
Вектор сброса |
|
|
Загрузка определяется |
|
из загрузочного ПЗУ |
|
|
по состоянию |
|
|
|
|
||
0x3F FFC0 |
|
|
выводов GPIO |
|
|
|
|
|
|
Замечания:: |
|
|
|
|
|||
F2810 XMPNMC связан в устройстве с |
Точка входа |
Процедуры |
|
||||
исполнения |
загрузки |
|
|||||
низким уровнем |
|
||||||
XMPNMC соотносится с входным сигналом |
FLASH |
SPI |
|
||||
MP/MC – бит статуса из регистра |
H0 SARAM |
SCI-A |
|
||||
|
|
/ |
|
|
|
|
|
XINTFCNF2 |
OTP |
Параллел. |
|
||||
|
I |
|
|
|
|
||
XMPNMC используется только после |
|
|
|
||||
|
|
|
|||||
сброса |
|
4 - 6 |
|||||
|
|
|
|
|
|

Опции загрузчика
выводы GPIO |
|
|
|
|
|
||
F4 |
F12 |
F3 |
F2 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
x |
x |
x |
переход в FLASH по адресу 0x3F 7FF6 |
* |
|
|
0 |
0 |
1 |
0 |
переход в H0 SARAM по адресу 0x3F 8000 |
* |
|
|
0 |
0 |
0 |
1 |
переход в OTP по адресу 0x3D 7800 |
* |
|
|
|
|
|
|
|
|||
0 |
1 |
x |
x загрузка кода с внешней EEPROM в память через SPI пор |
||||
0 |
0 |
1 |
1 |
загрузка кода в память через SCI-A порт |
|
|
|
0 |
0 |
0 |
0 |
загрузка кода в память через GPIO port B (параллельно) |
|||
|
|
|
|
|
|
|
|
*Программа загрузки из ПЗУ конфигурирует устройство
врежим C28x перед переходом
4 - 7

Последовательность выполнения
кода после сброса
|
0x3D 7800 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OTP (2K) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
0x3D 8000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FLASH (128K) |
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
0x3F 8000 |
|
|
|
|
|
|
|
|
|
|
|
0x3F 7FF6 |
|
|
|
|
|
|
|
||||||||||||
|
H0 SARAM (8K) |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0x3F F000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Переход на точку, |
||
|
Загруз. ПЗУ (4K) |
|||||||||||||||||||||||||||||||
|
|
|
|
|
определенную |
|
||||||||||||||||||||||||||
|
|
Код загрузчика |
|
|
|
|
выводами GPIO |
|
||||||||||||||||||||||||
|
|
0x3F FC00 |
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
0x3F FFC0 |
Вектор. ПЗУ(32) |
|
|
|
|
|
|
|
|||||||||||||||||||||||
СБРОС |
|
|
|
|
0x3F FC00 |
|
|
|
|
|
|
Процедуры |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
загрузки |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(SPI, SCI-A, |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I, I |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Параллельная |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
загрузка) |
4 - 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Источники прерываний
Внутренние
источники
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EVM, АЦП, SPI, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
SCI, |
|
|
|
|
|
|
|
|
|
PIE |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
McBSP, CAN |
|
|
|
|
|
|
|
|
(Расширение |
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
периф. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Внешние |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
прерываний) |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
источники |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 - 9

Обработка маскируемых прерываний
Обзор концепции ядра
Действительный сигнал соответствующего прерывания захватывается для отображения в виде “1” в соответствующем битовом поле регистра IFR
Если индивидуальный (IER) и глобальный (INTM) переключатели включены, то прерывание достигнет
ядра ЦП 4 - 10