Скачиваний:
19
Добавлен:
01.05.2014
Размер:
3.33 Mб
Скачать

1.Основные сведения .

1.1 Обработка прерывания

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

8XC196KC обеспечивает два варианта обслуживания прерывания:

1) программой обработки программного прерывания через контроллер прерывания;

2) микропрограммой обработки аппаратного прерывания через периферийную станцию транзакции (Peripheral Transaction Server - PTS).

Вы можете выбрать любой вариант обслуживания для любого из маскируемых прерываний. ( См. "Выбор - PTS или стандартное обслуживание прерываний". ) Немаскируемые прерывания ( NMI, ловушка программного обеспечения (TRAP), и неcуществующий код операции (Unimplemented Opcode) ) всегда обслуживаются программами обработки прерывания. На рис.@.1 представлена последовательность обработки прерываний.

Transition Detected - поступление прерывания

Set Int.Pending Bit - установка бита захвата прерывания

NMI Pending Bit - бит захвата немаскируемого прерывания

Int.Mask Bit - бит маскирования прерывания

PTS Select Bit - бит выбора PTS

Global Int/PTS Enable - глобальное разрешение прерываний

Priority Encoder - приоритетный шифратор

NMI - немаскируемое прерывание (Non-Maskable Interrupt)

Any PTS Request - любой запрос PTS прерывания

Highest Priority - наивысший приоритет

Vector Table - таблица векторов

Interrupt Service Routine - подпрограмма обслуживания пре рывания; PTS Control Block - блок управления PTS

Рис.@.1 Блок-схема обработки стандартных и PTS Прерываний микроконтроллером 8XC196KC

1.2. Описание работы контроллера прерывания

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

1.3. Описание работы периферийной станции транзакций (pts)

Периферийная станция транзакции (PTS) - микропрограммный драйвер аппаратного прерывания. Она может использоваться вместо стандартной программы обработки прерывания для каждого из маскируемых прерываний. PTS обслуживает прерывания с меньшим количеством непроизводительных затрат; она не изменяет стек и PSW, что позволяет не останавливать выполнение основной программы.По этим причинам, PTS может обслуживать прерывание за время, требуемое для выполнения одной команды.

PTS функционирует в пяти специальных микропрограммных режимах, которые дают возможность PTS выполнять специфические задачи за еще меньшее время, чем использование программ обработки прерываний. Каждое PTS прерывание требует блока данных, называемого управляющим блоком PTS (PTS Control Block - PTSCB). Когда происходит PTS прерывание, приоритетный шифратор выбирает соответствующий вектор и выбирает управляющий блок PTS (PTSCB).

PTSCB определяет режим, общее число передач ( если необходимо ), общее число циклов, которые будут выполнены перед тем, как PTS прерывание будет обслужено, и источник и/или адресат передачи данных ( если необходимо). Каждое PTS прерывание генерирует один PTS цикл.

На рис.@.2 приведён алгоритм PTS цикла .

Соседние файлы в папке Лабораторные работы по МПС