Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Евстифеев А.В. -> "Микроконтроллеры семейства" -> 30

Микроконтроллеры семейства - Евстифеев А.В.

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 24 25 26 27 28 29 < 30 > 31 32 33 34 35 36 .. 100 >> Следующая


Для обслуживаемых PEC запросов на прерывание, связанные с ними номера PEC-каналов извлекаются из ILVL (LSB) и GLVL (на рисунке ниже). Поэтому при программировании источников на 15 уровень (ILVL=1111B) выбирается 7... 4 группа PEC-каналов, при программировании источников на 14 уровень (ILVL=1110B) выбирается 3. 0 группа PEC каналов. Номер PEC-канала определяется в соответствии со значением в поле уровня группового приоритета GLVL.

6-10 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

Рисунок 5-1

Уровни приоритетов и РЕС-каналы

Одновременные запросы для PEC-каналов расставляются по приоритетам согласно номеру PEC-канала, причем канал 0 имеет наименьший, а канал 8 - максимальный уровень приоритета.

Примечание: Все источники, запрашивающие PEC-обслуживание, должны быть запрограммированы на различные PEC-каналы. В противном случае может быть активирован неправильный PEC-канал.

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

6-11 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

Уровень приоритета Тип обслуживания
ILVL GLVL COUNT = 00+ COUNT z 00H
1111 11 прерывание ЦПУ 15 уровень, групповой приоритет 3 PEC-обслуживание канал 7
1111 10 прерывание ЦПУ 15 уровень, групповой приоритет 2 PEC-обслуживание канал 6
1110 10 прерывание ЦПУ 14 уровень, групповой приоритет 2 PEC-обслуживание канал 2
1101 10 прерывание ЦПУ 13 уровень, групповой приоритет 2 прерывание ЦПУ 13 уровень, групповой приоритет 2
0001 11 прерывание ЦПУ 1 уровень, групповой приоритет 3 прерывание ЦПУ 1 уровень, групповой приоритет 3
0001 00 прерывание ЦПУ 1 уровень, групповой приоритет 0 прерывание ЦПУ 1 уровень, групповой приоритет 0
0000 XX Нет обслуживания!!! Нет обслуживания!!!

Примечание: Все запросы на уровнях 13... 1 не могут использоваться в качестве запроса на PEC-передачу. Они всегда обслуживаются при помощи подпрограмм прерываний. При этом не используется регистр PECC и не проверяется значение поля COUNT.

Функции управления прерываниями регистра PSW.

Слово состояния процессора (PSW) функционально делится на две части: нижняя часть слова в основном представляет арифметическое состояние ЦПУ, верхняя часть слова PSW управляет системой прерываний С167 и механизмом управления интерфейсом внешней шины.

Примечание: При включении/выключении разрешения на запрос на прерывание с помощью изменения состояния регистра PSW, необходимо учитывать конвейерные эффекты. (смотри раздел «Блок ЦПУ»).

Полностью регистр PSW описан в разделе «Блок ЦПУ».

Рассмотрим поподробнее поле ILVL. Это поле обозначает текущий уровень операций в ЦПУ. Оно отражает текущий уровень приоритета исполняемой программы. При входе в подпрограмму прерывания значение этого поля битов изменяется на значение уровня приоритета обслуживаемого прерывания. Перед этим в стеке сохраняется старое значение. Уровень ЦПУ определяет минимальный уровень прерывания, которое может быть

6-12 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

обслужено. Любое прерывание с таким же уровнем или ниже останется без ответа.

Для того чтобы управлять минимальным уровнем прерывания на который может быть разрешено обслуживание, текущий уровень приоритета ЦПУ может быть программно изменен.

PEC-передача данных не является в полной мере прерыванием ЦПУ, так как «крадется» только один такт, поэтому PEC-обслуживание не оказывает влияния на поле ILVL регистра PSW.

Аппаратные ловушки переключают уровень ЦПУ на максимальный уровень (т.е. на 15-ый), поэтому никакие прерывания или PEC-запросы не будут обслуживаться, пока выполняется подпрограмма обслуживания ловушек.

Примечание: Команда TRAP не изменяет уровень ЦПУ, поэтому программно вызванная подпрограмма обслуживания ловушек может быть прервана запросом с более высоким приоритетом.

5.2 Операции с РЕС-каналами

Периферийный контроллер событий микроконтроллера С167 имеет 8 каналов обслуживания PEC, которые перемещают одиночный байт или слово между двумя адресами в сегменте 0 (страницы данных 0. 3). Это самый быстрый возможный ответ на прерывание, и во многих случаях достаточный, чтобы обслужить необходимый запрос (такой как параллельные каналы, АЦП и т.д.). Каждый канал управляется с помощью специально предназначенного регистра счетчика/управления PEC канала (PECCx) и парой указателей для источника (SRCPx) и точки назначения (DSTPx) передачи данных.

PECC регистры управляют действием, совершаемым данным PEC-каналом.

6-13 Infineon

4ееКггоІодїе&

МЭИ, Центр Промышленной Электроники Фирмы Infineon

Система прерываний и ловушек/С167

SFR

PECCx (FECyH/6zH см. таблицу) Значение после RESET: OOOOh

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

- - - - - INC BWT COUNT

rw rw rw

Бит Функция
COUNT Отсчет PEC-передач Отсчитывает PEC-передачи и влияет действия канала
Предыдущая << 1 .. 24 25 26 27 28 29 < 30 > 31 32 33 34 35 36 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100