Дослідження пристроїв перетворення сигналів мікроконтролера MSP 430

курсовая работа

1.4 Скидання системи

При виникненні запиту переривання від периферійного пристрою, якщо встановлені біт дозволу переривання від цього пристрою і біт загального дозволу переривань GIE, викликається процедура обробки переривання. Для виклику обробника немаскованого переривання досить встановленого індивідуального біта дозволу конкретного переривання.

Затримка обробки переривання, тобто час з моменту прийняття запиту переривання до початку виконання першої команди процедури обробки переривання (рисунок 2), становить 6 тактів CPU.

Рисунок 2 - Обробка запиту на переривання

Обробка запиту на переривання проводиться в такій послідовності:

1. Очікується завершення команди, що виконується в даний момент.

2. Вміст лічильника команд PC, що вказує на наступну команду, поміщається в стек.

3. Вміст регістра стану SR поміщається в стек.

4. Якщо за час виконання останньої команди було сформовано кілька запитів на переривання, то вибирається переривання з найбільшим пріоритетом.

5. Якщо переривання має одне джерело, то прапорець переривання автоматично скидається. Якщо переривання може генеруватися кількома джерелами то прапорці переривання залишаються встановленими для подальшої обробки в програмі.

6. Регістр стану SR очищається. У результаті процесор переходить з режиму зниженого споживання в активний режим. Оскільки біт GIE скидається, наступні переривання забороняються.

7. Вміст вектора переривання завантажується в лічильник команд PC і починається виконання процедури обробки переривання, розташованої за цією адресою.

Процедура обробки переривання завжди завершується командою: RETI (повернення з процедури обробки переривання) Для повернення з переривання потрібно 5 (MSP430) тактів CPU, необхідних для виконання таких дій (рис.3):

1. Відновлення вмісту регістра SR зі стека. У результаті вступають в дію всі попередні установки бітів GIE, CPUOFF тощо, незалежно від їх установок, що використовувалися в процедурі обробки переривання.

2. Вміст лічильника команд PC витягується зі стека, і виконання програми продовжується з того місця, де вона була перервана.

Рисунок 3 - Повернення з переривання

Вкладені переривання дозволяються установкою біта GIE у процедурі обробки переривання. При цьому будь-яке переривання, що виникло під час виконання процедури обробки переривання, перерве її виконання, незалежно від пріоритетів переривання, що обслуговується та нового переривання.

Делись добром ;)