Разветвленная схема прерываний C166 с 64 уровнями (16 уровней и на каждом уровне группа из 4 прерываний) обеспечивает гибкое и быстрое

задание приоритетов и обслуживание запросов прерываний (рисунок 3.4). В контроллере прерываний предусмотрены аппаратные ловушки (Hardware-Traps) и программные ловушки (Software-Traps), позволяющие обрабатывать ошибки, возникающие при неверном исполнении команд, нарушении границ стека, а также отслеживать немаскируемое прерывание NMI, программный и аппаратный сброс. Приоритеты прерываний от аппаратных и программных ловушек самые высокие.

Контроллер прерываний обеспечивает малое время отклика на запрос прерывания: минимальное время составляет 250 нс @20 МГц, а максимальное - 600 нс. Чтобы уменьшить время отклика при выполнении сложных команд умножения и деления, занимающих 5 и 10 циклов соответственно, также предусмотрено прерывание. Обработка прерываний осуществляется в течение малых временных интервалов. Это очень важно для высокоуровневых приложений, таких как управление приводами, когда решаются задачи цифровой обработки сигналов и весьма нежелательны флуктуации входных и выходных переменных. Таким образом, достигается высокая производительность в реальном масштабе времени.

Механизм обработки прерываний работает следующим образом. Для каждого прерывания имеется собственный регистр управления Interrupt Control Register (xxIC). При установке одного или нескольких флагов запроса прерывания Interrupt Request (IR) в регистрах управления xxIC производится сравнение их приоритетов с текущим приоритетом выполняемой программы, который содержится в регистре состояния процессора. После проверки номера в группе в регистре прерывания с наибольшим номером уровня и группы очищается флаг IR, и контроллер приступает к обработке этого прерывания. При этом в стеке автоматически сохраняется содержимое регистра состояния процессора PSW, указателя команд IP и в сегментированном режиме указателя сегмента CSP и загружаются новые значения этих регистров согласно

процедуре обработки прерывания.

система прерываний

Рисунок 3.4 – Схема прерываний

Регистрация внешних прерываний может осуществляться в альтернативном режиме по внешним входам, например, по входам Capture. Кроме того, имеется немаскируемое прерывание NMI. Часть внешних прерываний регистрируются каждые 0,5 цикла, т.е. каждые 50 нс @ 20 МГц.

Изменение уровня приоритета прерывания во время исполнения программы является достаточно типичной задачей для ряда приложений. Например, уровень приоритета может зависеть от значения сигнала на внешнем входе. В этом случае после проверки состояния входа процедура обслуживания прерывания переключает уровень прерывания на более низкий, изменяя содержимое регистра ILVL. После понижения уровня выполняемого прерывания могут поступить запросы на прерывание с более высоким приоритетом. Такая ситуация может привести к определенным проблемам. Пусть, например, выполняется прерывание A на уровне 10 и поступает запрос от прерывания B с уровнем 12, которое и поступает на выполнение. Если теперь уровень прерывания B будет снижен до значения меньшего, чем 10, прерывание A не сможет стать активным пока не закончится выполнение B. Возможен еще более плохой вариант, если прерывание B снизит свой уровень до значения 5, и теперь даже прерывание C с уровнем 7 сможет его прервать. Такие ситуации

удлиняют время исполнения прерывания A, что не соответствует его новому приоритету. Поэтому для понижения уровня приоритета текущего прерывания всегда следует закончить текущую задачу, и начать новую с более низким приоритетом. Это можно осуществить при установке бита IR в каком-либо незадействованном регистре управления xxIC.

Контроллер периферийных событий - Peripheral Events Controller (PEC) освобождает ЦПУ от простых, но частых обслуживаний прерываний, осуществляя перенос данных в любую позицию нулевого сегмента без переключения задачи. Процесс переноса данных практически не затрагивает работу контроллера и не зависит от выполняемой программы - контроллер только приостанавливает выполнение текущей программы на один цикл (100 нс), даже не сохраняя свое состояние в стеке. Время отклика контроллера для обслуживания PEC составляет от 150 до 450 нс при цикле ЦПУ 100 нс. Для контроллера PEC отведены два верхних уровня приоритета, что позволяет обслуживать одновременно 8 каналов PEC. Каждый канал управляется собственным регистром PEC, который позволяет программировать передачу байта или слова данных с инкрементом адреса или без него с однократным, многократным или бесконечным числом пересылок. Обработка прерываний PEC выполняется в соответствии с приведенной диаграммой ( рисунок 3.5).

Страницы: 1 2

Процесс расширения
Степень последующего расширения: Принимаем . Тогда Проверяем правильность ранее принятой температуры остаточных газов ( принята 900 К). (допустимое значение ). Индикаторные параметры рабочего цикла дизеля: Принимаем коэффициент полноты индикаторной диаграммы . Тогда среднее индикаторное давление ци ...

Требования к помещениям для хранения автомобилей
Помещения для хранения автомобилей не должны непосредственно сообщаться с другими производственными и вспомогательными помещениями, где постоянно находятся работающие. При необходимости такое сообщение должно осуществляться через тамбур-шлюз. Температура в помещениях не должна быть ниже +5 °С. Высо ...

Характеристика маршрута №106
Пригородный маршрут №106 был открыт 01.05.1981 года решением исполкома № 171-07 от 23.04.1981 г., последний раз утверждался 22.03.2007 года. Протяженность маршрута составляет 39,1 км. (схема маршрута движения представлена на рисунке 2.1), время оборотного рейса 160 минут, интервал движения с 605 до ...