Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Немаскируемые прерывания (NMI)Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Немаскируемые прерывания (NMI) полностью реализованы на аппаратном уровне. Не предусмотрена возможность выбора, какое прерывание относится к NMI, а какое будет обычным. Перед тем как использовать немаскируемые прерывания, их необходимо разрешить. Какие именно NMI поддерживаются микроконтроллером, необходимо уточнить в документации. Немаскируемое прерывание исполняется, независимо от установки бита I, и не изменяет его состояние. Ни одно из других прерываний не может прервать обработку NMI-прерывания. При одновременном поступлении запросов на обработку нескольких NMI-прерываний, они будет обработаны с учетом их приоритета, который определяется по значениям адресов векторов прерываний: чем меньше адрес, тем выше приоритет прерывания. Задержка реагирования на прерывание Задержка реагирования на прерывание для всех разрешенных прерываний составляет не менее 5 циклов синхронизации ЦПУ. В течение этих 5 циклов синхронизации выполняется помещение счетчика программы в стек. После завершения этих 5 циклов синхронизации, выполняется процедура обработки прерывания, на переход к которой с вектора прерывания необходимо еще три цикла синхронизации. Если прерывание возникает в момент исполнения многоцикловой инструкции, то сначала завершается выполнение этой инструкции, а уже затем обслуживается прерывание. Если прерывание возникает, когда МК находится в экономичном режиме работы, то задержка реагирования на прерывание увеличивается еще на 5 циклов синхронизации. Кроме того, к этому времени также нужно прибавить время, необходимое микроконтроллеру для выхода из выбранного экономичного режима работы. Выход из процедуры обработки прерывания требует пять циклов синхронизации. В течение этих пяти циклов синхронизации, из стека извлекается адрес возврата в счетчик программы и инкрементируется указатель стека. Уровень прерывания Для каждого из источников прерываний можно раздельно задать уровень прерывания. Во время получения запроса на прерывание PMIC-контроллер также принимает информацию о его уровне. Уровни прерываний и соответствующие им значения бит приведены в таблице 12.1. Таблица 12.1. Уровни прерываний
Уровень прерывания запроса на прерывание сравнивается с текущими уровнем и статусом в контроллере прерывания. Если поступивший запрос на прерывание имеет более высокий приоритет, чем тот, что обрабатывается в данный момент, то обработка низкоприоритетного прерывания будет прервана. По завершении обработки прерывания с более высоким приоритетом, будет продолжено выполнение процедуры обработки более низкоприоритетного прерывания.
Приоритет прерывания Все прерывания, помимо уровня, также имеют приоритет. При одновременном поступлении запросов от нескольких источников прерываний, очередность их обработки будет определяться с учетом их уровня и приоритета. Приоритезация прерываний может быть статической или динамической (карусельной, round-robin). Приоритезация прерываний высокого и среднего уровней, а также немаскируемых прерываний является только статической, а приоритезация низкоуровневых прерываний может быть как статической, так и динамической (задается пользователем). Статическая приоритезация Векторы прерываний имеют фиксированные адреса. Когда применяется статическая приоритезация, очередность обработки прерываний одного и того же уровня будет зависеть от значения адреса вектора прерывания: чем меньше адрес, тем выше приоритет прерывания. Таблицу векторов прерываний с указанием базовых адресов для всех встроенных модулей и УВВ, которые поддерживают генерацию прерываний, можно найти в документации на МК. Кроме того, в конце каждого раздела этого руководства, посвященного описанию того или иного модуля и УВВ, приводится обзор прерываний и их смещения адреса по отношению к базовому адресу прерывания модуля или УВВ. Рисунок 12.1. Статическая приоритезация Динамическая приоритезация В применениях с частой генерацией низкоуровневых прерываний статическая приоритезация может привести к ситуации, когда одни прерывания обрабатываются часто, а до других - очередь просто не доходит. Для исключения таких ситуаций предусмотрена опциональная динамическая приоритезация низкоуровневых прерываний. Когда она разрешается, в момент поступления запросов от одного или нескольких источников низкоприоритетных прерываний, наименьший приоритет будет иметь то прерывание, которое обрабатывалось последним.
Рисунок 12.2. Динамическая приоритезация
|
||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 597; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.193.150 (0.011 с.) |