В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > ARM
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


2.4.5.2. Улучшенные режимы обработки прерывания

Помимо высокого быстродействия обработки одного прерывания, КВВП также характеризуется эффективной обработкой нескольких прерываний, что важно для высокобыстродействующих систем реального времени. Для этого у КВВП поддерживается несколько оригинальных методов, позволяющие обрабатывать несколько запросов прерываний с минимальными задержками между прерываниями и с гарантированием приоритетности обработки прерываний.

2.4.5.2.1. Приостановка прерываний

КВВП имеет возможность приостановки находящегося на обработке прерывания, если возникает прерывание с более высоким приоритетом. В этом случае, обработка активного прерывания прекращается, в течение последующих 12 циклов выполняется сохранение в стек нового набора данных и запускается обработка высокоприоритетного прерывания. По завершении его обработки, содержимое стека автоматически извлекается и обработка низкоприоритетного прерывания возобновляется.

2.4.5.2.2. Непрерывная обработка прерываний с исключением внутренних операций над стеком

Если на обработке находится высокоприоритетное прерывание и, при этом, возникает низкоприоритетное, КВВП Cortex использует метод непрерывной обработки с исключением внутренних операций над стеком, который гарантирует минимальность задержки при переходе к обработке следующего прерывания.

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

Если возникает два прерывания, первым со стандартной задержкой в 12 циклов обслуживается прерывание с более высоким приоритетом. Однако, по окончании его обработки, ЦПУ Cortex не возвращается к выполнению фоновой программы и содержимое стека не извлекается. Вместо этого, осуществляется выборка адреса процедуры обработки следующего прерывания с учетом приоритета. Таким образом, задержка перехода к обработке следующего прерывания составит всего лишь 6 циклов. По завершении обработки последнего прерывания извлекается содержимое стека и выполняется выборка адреса возврата. Таким образом, через 12 циклов возобновляется выполнение фоновой программы. Если же во время выхода из активного прерывания возникает еще одно низкоприоритетное прерывание, то операция извлечения из стека прекращается и указатель стека вернется к своему исходному значению, а выполнение обработки нового прерывания начнется через 6 дополнительных циклов. В итоге, задержка вызова процедуры обработки нового прерывания будет в пределах 7-18 циклов.

Переход к обработке низкоприоритетного прерывания, которое возникает при выходе из текущего прерывания, выполняется с задержкой 7-18 циклов
Переход к обработке низкоприоритетного прерывания, которое возникает при выходе из текущего прерывания, выполняется с задержкой 7-18 циклов

2.4.5.2.3. Обработка опоздавшего высокоприоритетного прерывания

В системах реального времени часто возникают ситуации, когда во время перехода к обработке низкоприоритетного прерывания возникает еще одно прерывание с более высоким приоритетом. Если такая ситуация возникнет еще на фазе загрузки стека, то по его завершении КВВП инициирует переход к обработке высокоприоритетного прерывания. Загрузка стека будет продолжаться еще минимум 6 циклов с момента возникновения высокоприоритетного прерывания, после чего будет выполнена выборка нового адреса процедуры обработки прерывания.

Высокоприоритетное прерывание будет обработано первым
Высокоприоритетное прерывание будет обработано первым, даже если оно возникнет уже на фазе перехода к обработке низкоприоритетного прерывания, при этом, дополнительные операции над стеком будут исключены

Отложенное низкоприоритетное прерывание будет обработано сразу по завершении обработки высокоприоритетного прерывания с задержкой 6 циклов.



<--Предыдущая страница Оглавление Следующая страница -->