русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Программируемый контроллер прерываний ВН59А


Дата добавления: 2015-08-14; просмотров: 1294; Нарушение авторских прав


В настоящее время разработан новый контроллер прерываний К1810ВН59А (ВН59А), совместимый на уровне как интерфейса, так и управляющих кодов со своим предшественником ВН59 (см. § 3.6). Последний может быть заменен прибором ВН59А без внесения изменений в схему и ПО. Новый ПКП выполняет ряд функций, недоступных приборам ВН59. Важнейшая среди них—это обслуживание системы прерываний МП ВМ86/ВМ88.

Микросхема ВН59А выполнена по n-МОП-технологии, размещается в 28-выводном корпусе 2121.28 с двурядным вертикальным расположением выводов, совместима по выходам с ТТЛ-схемами. Для ее работы требуется источник питания +5 В.

Схема ПКП ВН59А аналогична схеме на рис. 3.41, за исключением вывода . Этот вывод выполняет двойную функцию ( / ) и реализован в виде двунаправленной линии. В первом случае он используется как вход для программирования ведущего/ведомого прибора. Во втором случае он выполняет роль выходной линии , указывающей направление передачи данных в/из прибора и необходимой для управления внешними двунаправленными шинными формирователями. Условное графическое обозначение ВН59А совпадает с ВН59 (см. рис. 3.41, б).

Перед началом работы прибор ВН59А, подобно ВН59, должен быть инициализирован в соответствии с процедурой на рис. 7.11. Данная процедура отличается от инициализации ВН59 (рис. 3.45) наличием четвертого слова ICW4, которое ранее отсутствовало. Необходимость в ICW4 программируется битом IС4 в ICW0, который для ВН59 был всегда в состоянии 0. Отсутствие ICW4 эквивалентно его принятию со всеми флажками, установленными в 0. Как будет видно далее, этот случай полностью соответствует режиму работы ВН59. Единственное исключение составляет дополнительно появившийся флажок LTIM в ICW0, программирующий тип входов IR7—IR0. Новый прибор поддерживает два типа запросов на прерывание: по переходу из 0 в 1 в соответствии с ВН59 (LTIM = 0) и по высокому уровню напряжения (LTIM = 1). Потенциальный вариант входов IR7—IR0 предполагает удержание 1 на линии запроса до окончания первого строба и установку на ней 0 к моменту разрешения прерывания. В противном случае произойдет повторный захват того же самого сигнала прерывания.



Рис. 7.11. Последовательность инициализации ВН59А

Новое слово ICW4 обеспечивает программное управление рядом функций, отсутствовавших в ВН59. Главнейшей среди них является совместимость с МП типа ВМ86/ВМ88. Перевод ВН59А для работы в режим ВМ86 осуществляется установкой флажка ICW4. МРМ в 1. В данном режиме общее функционирование прибора не изменяется, за исключением фазы ответа на стробы . В отличие от ВМ80/ВМ85А микропроцессоры ВМ86/ВМ88 генерируют два строба (см. § 6.6). Отвечая на первый строб контроллер прерываний устанавливает в 1 соответствующий бит в ISR, одновременно устанавливая его в 0 в регистре IRR, и в случае каскадного соединения выставляет идентифицирующий код ведомого контроллера на линиях CAS2—CAS0 (рис. 7.12). Никакие данные в этом цикле на шину данных не выводятся. Во время второго цикла автономный или один из ведомых контроллеров выдает на шину данных 8-разрядный вектор прерывания в формате, представленном на рис. 7.13. Микропроцессор ВМ86/ВМ88 использует эту информацию для вычисления адреса входа в таблицу векторов прерываний. Кроме того, в режиме ВМ86 функция ADI (управления адресным интервалом) подавляется. Состояние поля А7—А5 в ICW1, а также А10—А8 в ICW2 игнорируется. В остальном работа ВН59А подобна работе ВН59.

Рис. 7.12. Временные диаграммы работы

ВН59А в режиме ВМ86

Рис. 7.13. Формат вектора прерываний Рис. 7.14. Форматы OCW1—OCW3 ВН59А

Следующее расширение ВН59А состоит в возможности автоматического выполнения операции конца прерывания ЕOI (ICW4.AEOI = 1). В данном режиме ВН59А отрабатывает неспециальную команду ЕOI сразу же по окончании последнего строба : второго в режиме ВМ86 и третьего в режиме ВМ80. В результате отпадает необходимость в генерации команды ЕOI. Режим АЕOI может быть применен, если не требуется строгого упорядочения приоритетов в рамках отдельного контроллера.

Чтобы добиться автоматического циклического сдвига при АЕOI в ВН59А предусмотрен специальный триггер. Он устанавливается в 1 словом OCW2 (рис. 7.14) при R = 1, SL = 0, ЕOI = 0, а в 0 при R = 0, SL = 0, ЕOI = 1. В BH59 (см. рис. 3.47) эти комбинации не использовались. В остальном функции OCW1—OCW3 обоих приборов совпадают.

В больших системах может потребоваться дополнительный буфер, согласующий интерфейс ВН59А с системной магистралью. Возникает проблема управления этим буфером, решаемая с помощью линии / . Режим буферизации программируется установкой флажка BUF в 1 в слове ICW4. В данном режиме линия / становится выходной и на ней устанавливается низкий уровень напряжения всякий раз, когда контроллер ВН59А выдает информацию на шину данных.

Подобная модификация линии / заставляет пересмотреть правила программирования ведомых и ведущих контроллеров. Теперь для этой цели используется специальный флажок /S в слове ICW4. Выходы / всех приборов объединяются по схеме «монтажное ИЛИ», образуя единую линию управления буфером данных.

В приборе ВН59А осуществляется специальный режим строгого упорядочения приоритетов, программируемого флажком SFNM в слове ICW4. Установка флажка SFNM в 1 снимает требование строгого упорядочения приоритетов и разрешает прием новых запросов с линии, только что принятой к обслуживанию. Обычно этот режим используется в ведущем контроллере, в то время, как ведомые контроллеры продолжают работать в рамках системы с обычным строгим упорядочением приоритетов. В результате при получении очередного запроса от ведомого контроллера последний не блокируется, как это было ранее, и может генерировать новые запросы с более высоким приоритетом.

По окончании процедуры обслуживания прерывания программа должна проверить, было ли обслуженное прерывание единственным, исходящим от ведомого ВН59А. Это делается путем выдачи в ведомый прибор неспециальной команды ЕOI с последующей проверкой состояния регистра ISR. Если ISR пуст, неспециальная команда ЕOI посылается в ведущий контромер, в противном случае команда ЕOI не генерируется.



<== предыдущая лекция | следующая лекция ==>
Центральный процессор на базе БИС серии К1810 | Одноплатный микроконтроллер мМС1212


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.