Модуль прерываний МК
Обработка прерываний в МК происходит в соответствии с общими принципами обработки прерываний в МПС. Модуль прерываний принимает запросы прерывания и организует переход к выполнению определенной прерывающей программы. Запросы прерывания могут поступать как от внешних источников, так и от источников, расположенных в различных внутренних модулях МК.
В качестве входов для приема запросов от внешних источников чаще всего используются выводы параллельных портов ввода/вывода, для которых эта функция является альтернативной. Источниками запросов внешних прерываний также могут быть любые изменения внешних сигналов на некоторых специально выделенных линиях портов ввода/вывода.
Источниками внутренних запросов прерываний могут служить следующие события:
• переполнение таймеров/счетчиков;
• сигналы от каналов входного захвата и выходного сравнения тайме
ров/счетчиков или от процессора событий;
• готовность памяти ЕЕРRОМ;
• сигналы прерывания от дополнительных модулей МК, включая завершение передачи или приема информации по одному из последовательных портов и другие.
Любой запрос прерывания поступает на обработку, если прерывания в МК разрешены и разрешено прерывание по данному запросу. Адрес, который загружается в программный счетчик при переходе к обработке прерывания, называется «вектор прерывания». В зависимости от организации модуля прерываний конкретного МК различные источники прерываний могут иметь разные векторы или использовать некоторые из них совместно. Использование различными прерываниями одного век-гора обычно не вызывает проблем при разработке программного обеспечения, так как аппаратная часть МК фиксирована, а контроллер чаще всего выполняет одну-единственную программу.
Вопрос о приоритетах при одновременном поступлении нескольких опросов на прерывание решается в различных МК по-разному. Есть МК с одноуровневой системой приоритетов (все запросы равноценны), многоуровневой системой с фиксированными приоритетами и многоуровневой программируемой системой приоритетов.
Отдельно необходимо описать аппаратные прерывания, связанные с включением питания, подачей сигнала «сброс» и переполнением сторожевого таймера. Они имеют немаскируемый характер и чаще всего разделяют один общий вектор прерывания. Это вполне логично, поскольку результатом каждого из событий является начальный сброс МК.
Контрольные вопросы
ЛЕКЦИЯ № 9
1. Какое значение сигнала считывается при вводе данных с порта микроконтроллера?
q содержимое триггера данных
q содержимое триггера регистра управления
q логическое "И" над содержимым триггера данных и значением сигнала на внешнем выводе МК
q значение сигнала на внешнем выводе МК
2. При каких условиях триггер переполнения таймера/счетчика генерирует запрос на прерывание микроконтроллера?
q при переполнении таймера/счетчика
q при сбросе таймера/счетчика
q при сбросе запроса на прерывания
q при переполнении таймера/счетчика, если прерывания от таймера разрешены
3. Для чего в первую очередь предназначен модуль выходного сравнения микроконтроллера?
q для формирования временных интервалов заданной длительности
q для сравнения информации на двух портах МК
q для измерения интервалов между событиями на выходах МК
q для выдачи импульсов фиксированной частоты
4. Какой тип логической функции позволяет реализовать объединение «квазидвунаправленных» выходов микроконтроллера?
q сложение по модулю 2
q логическое "И"
q логическое "ИЛИ"
q константа"1"
5. Для чего в первую очередь предназначен модуль входного захвата микроконтроллера?
q для отслеживания изменений сигнала на входе МК для подсчета количества событий на входе МК
q для измерения временных интервалов между событиями на входах МК
q для выдачи импульсов фиксированной продолжительности
6. Какой параметр выходного сигнала изменяется при широтно-импульсной модуляции?
q частота
q уровень логического "О"
q скважность
q уровень логической "1"
7. Какова типичная разрядность таймера/счетчика в составе микроконтроллера?
q 32
q 64
q 8 или 16
8. Какие ошибки измерения позволяют исключить использование
режима входного захвата таймера/счетчика микроконтроллера?
q ошибки, связанные с временем перехода к подпрограмме обработки прерывания
q потери времени на перезагрузку таймера/счетчика
q потери времени при фиксации события захвата
q потери времени при чтении содержимого регистра входного захвата
9. Что называется «вектором прерывания» микроконтроллера?
q уровень приоритета данного типа прерывания
q состояние линии приема запросов на прерывание
q адрес перехода к подпрограмме обработки прерывания
q состояние бита разрешения прерываний МК
Дата добавления: 2015-08-26; просмотров: 1084;