Обработка прерываний.ppt
- Количество слайдов: 14
Презентация. Обработка прерываний ПЛАН • Системный сброс • Watch. Dog Timer • Обработка прерываний Выполнил студент группы 2 ИБАС 211 Кузнецов Илья. 1
RESET (СБРОС) ARM 7 • Режим работы – Supervisor (сохранение регистров R 13 -R 14) • Адрес вектора прерывания 0 х0000 Источники сброса: • RESET пин контроллера • Watchdog Reset • Power-On Reset (POR) • Brown-Out-Detector (BOD) Reset 2
РЕГИСТР ИДЕНТИФИКАЦИИ ИСТОЧНИКОВ СБРОСА Reset Source Identification Register (RSIR) В Keil - RSID D 4 -D 7 D 3 D 2 D 1 D 0 - BODTR WDTR EXTR POR Сброс по BOD Сброс по Watchdog Если EXTR=1, сброс по RESET Если POR=1, сброс выполнен по POWER-ON 3
Внешний сброс Особенности: • Триггер Шмидта во входной цепи • Фильтр импульсных помех • Минимальная длительность внешнего сброса 10 м. С при включении питания и 300 н. С в остальных режимах • Совместно с P 0. 14 используется для включения внутрисхемного программирования 4
Watch. Dog Timer (WDT) Особенности: • Выполняет сброс контроллера если WDT не перезагружается при помощи feed последовательности (например, при зависании программы). • Режим отладки • Некорректная feed последовательность вызывает сброс или прерывание, если оно разрешено. • Устанавливается WDTR флаг при сбросе от WDT • В основе - программируемый 32 -разрядный таймер с внутренним предварительным делителем. 5
Диаграмма функционирования Watch. Dog таймера Минимальный интервал = TPCLK x 256 x 4 Максимальный интервал = TPCLK x 232 x 4 6
РЕГИСТР КОНФИГУРАЦИИ СТОРОЖЕВОГО ТАЙМЕРА Watchdog Mode register (WDMOD) D 4 -D 7 D 3 D 2 D 1 D 0 - WDINT WDTOF WDRESET WDEN Флаг прерывания Сброс выполнен Если WDRESET=1, разрешен сброс Если WDEN=1, разрешена работа WDT Пример: WDMOD=0 x 03 ; // Разрешить работу и сброс по WDT 7
Регистры Watch. Dog Timer WDMOD Регистр режима WDT. Содержит биты статуса и управления режимом. WDTC Регистр константы таймера. Определяет время переполнения таймера. WDFEED WDTV Регистр последовательности отключения. (Сначала 0 x 55, затем 0 x. AA) Регистр значения таймера. Определяет текущее время таймера. 8
Прерывания Особенности: • • ARM Prime. Cell векторный контроллер прерываний 32 источника прерывания 16 векторов IRQ прерывания. 16 уровней приоритета прерываний с возможностью динамического переназначения Режимы: • Быстрое прерывание FIQ • Невекторное прерывание IRQ • Векторное прерывание IRQ 9
Прерывание от внешнего источника Особенности: • FIQ или IRQ прерывание • Входы EINT 0 -EINT 1 подключены к P 0, P 1 • Прерывание по фронту, срезу или уровню внешнего источника • При возврате из прерывания соответствующий бит регистра EXTINT должен быть очищен 10
Регистры прерывания от внешнего источника EXTINT Регистр флагов внешнего прерывания. При записи лог. 1 – сбрасывает флаг. INTWAKE Регистр разрешения пробуждения контроллера при прерывании. EXTMODE Регистр режима прерывания. Лог. 0 – по уровню, Лог. 1 – по фронту или срезу. EXTPOLAR Регистр полярности внешнего сигнала. Лог. 0 – прерывание по срезу или по низкому уровню, в зависимости от EXTMODE; Лог. 1 – по фронту или высокому уровню. . 11
РЕГИСТР ФЛАГОВ ВНЕШНЕГО ПРЕРЫВАНИЯ (EXTINT) D 4 -D 7 D 3 D 2 D 1 D 0 - EINT 3 EINT 2 EINT 1 EINT 0 Флаг прерывания от внешнего входа INT 0 • При чтении флага определяется источник прерывания • При записи лог. 1 флаг сбрасывается Пример: EXTINT=0 x 01 ; // Сбросить внешнее прерывание 0 12
Структура регистров управления прерываниями 13
Быстрое прерывание FIQ Особенности: • Режим работы – FIQ (сохранение R 7 -R 14) • Адрес вектора прерывания 0 х0000001 C • Приоритет прерывания – 3 • Устанавливает флаг F регистра CPSR • Рекомендуется только один источник 14
Обработка прерываний.ppt