
- •Глава 1.
- •1 .1. Понятия организации и архитектуры
- •1.2. Архитектура типовой микросистемы
- •1.3. Структура типовой микросистемы
- •1.4. Регистры микропроцессора
- •1.5. Адресация данных
- •Глава 2.
- •2 .1. Вводные замечания
- •2.2. Архитектура вм80
- •2.3. Система команд вм80
- •2.4. Структурная схема вм80
- •2.5. Базовый комплект бис серии кр580
- •2.6. Центральный процессор на базе бис серии кр580
- •2.7. Организация вм85а
- •Глава 3.
- •3.1. Организация программно-управляемого обмена
- •3.2. Периферийные бис
- •3.3. Средства параллельного ввода-вывода
- •3.4. Средства последовательного ввода-вывода
- •3.5. Система прерываний
- •3.6. Программируемый контроллер прерываний вн59
- •3.7. Средства счета времени
- •Глава 4.
- •4 .1. Вводные замечания
- •4.2. Базовая организация ве48
- •4.3. Набор регистров ве48
- •4.4. Организация памяти ве48
- •4.5. Система ввода-вывода и служба реального времени ве48
- •4.6. Система команд ве48
- •4.7. Физический интерфейс ве48
- •4.8. Расширение внутренних ресурсов ве48
- •4.9. Универсальный периферийный адаптер
- •4.10. Базовая организация ве51
- •4.11. Периферийные средства ве51
- •4.12. Система команд ве51
- •4.13. Функциональное описание ве51
- •Глава 5.
- •5 .1. Одноплатный микроконтроллер мМс1204
- •5.2. Средства ввода-вывода и поддержки режима реального времени
- •5.3. Программирование системы ввода-вывода
- •5.4. Программирование средств поддержки режима реального времени
- •Глава 6.
- •6 .1. Вводные замечания
- •6.2. Организация регистров вм86
- •6.3. Организация памяти вм86
- •6.4. Формат команд вм86
- •6.5. Система команд вм86
- •6.6. Структурная схема вм86
- •6.7. Структурные отличия вм88
- •Глава 7.
- •7 .1. Принцип построения
- •7.2. Генератор тактовых импульсов гф84
- •7.3. Системный контроллер вг88
- •7.4. Центральный процессор на базе бис серии к1810
- •7.5. Программируемый контроллер прерываний вн59а
- •7.6. Одноплатный микроконтроллер мМс1212
- •Глава 1. Организация микросистем ……………………………………………………………………………………..
- •Глава 2. Микропроцессоры кр580вм80/к1821вм85а ………………………………………………………………
- •Глава 3. Подсистема ввода-вывода ………………………………………………………………………………………
- •Глава 4. Организация однокристальных микроконтроллеров ……………………………………………………..
- •Глава 5. Организация одноплатных микроконтроллеров на базе кр580вм80 ………………………………
- •Глава 6. Микропроцессор к1810вм86 …………………………………………………………………………………
- •Глава 7. Организация одноплатных микроконтроллеров на базе к1810вм86 ………………………………
7.5. Программируемый контроллер прерываний вн59а
В настоящее время разработан новый контроллер прерываний К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 не генерируется.