ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР ПРИОРИТЕТНЫХ ПРЕРЫВАНИЙ
Прерывание — переход микропроцессора по внешнему сигналу от выполнения текущей программы к выполнению подпрограммы (обработчик прерываний), записанной в памяти (обычно ПЗУ) по определенному адресу, который называют вектором.
Прерывание микропроцессора осуществляет ИМС, называемая программируемым контроллером приоритетных прерываний (ПКП). Этот контроллер реализует следующие функции:
· принимает сигналы, называемые запросами прерываний;
· вырабатывает сигнал прерывания микропроцессора;
· формирует для микропроцессора команду перехода к подпрограмме обработки запроса (обработчика прерываний).
Подключение ПКП к системным шинам приведено на рис. 2.25. ИМС ПКП содержит:
· двунаправленный буфер данных, сопрягающий ПКП с шиной данных;
· блок управления чтением/записью, принимающий от микропроцессора управляющие сигналы и задающий режим функционирования ПКП;
· схему управления, вырабатывающую сигнал прерывания IRQ и формирующую команду вызова подпрограммы обслуживания прерывания (CALL <адрес подпрограммы обработки прерывания>);
· регистр запроса прерываний;
· схему принятия решений по приоритетам прерываний, идентифицирующую приоритеты запросов и выбирающую запрос с наивысшим приоритетом.
Назначение выводов ИМС ПКП приведено в таблице 2.8
В составе МПС ПКП решает следующие задачи:
· определение запроса прерывания на обслуживание ВУ с наивысшим приоритетом;
Таблица 2.8
Вывод ИМС
| Назначение
| D0...D7
| Линии передачи данных
| ,
| Входы управления чтением и записью
| А0
| Адресный вход
|
| Подтверждение прерывания
| INT
| Сигнал прерывания микропроцессора
| IR0 — IR7
| Входы запросов прерываний от ВУ
|
| Вход выборки ИМС
| | · передача управления микропроцессору, реализующему обслуживание запроса путем выполнения подпрограммы обработки прерывания, соответствующей поступившему запросу.
Названная подпрограмма может находиться в ПЗУ или в ОЗУ. Подпрограммы обработки прерываний, хранящиеся в ОЗУ, обычно называют резидентными.
ПКП позволяет реализовать процесс прерывания двумя способами:
· по запросу от ВУ.
· по опросу запросов на обслуживание ВУ.
Временная диаграмма, отображающая взаимодействие ПКП с микропроцессором при обслуживании прерывания по запросу от ВУ приведена на рис. 2.26. Согласно диаграмме в процессе обслуживания выполняются следующие действия:
· запросы прерываний поступают на входы ПКП IR0...IR7 (см. рис. 2.25);
· ПКП вырабатывает сигнал IRQ, который принимает микропроцессор (см. рис. 2.25 и рис.2.1);
· прием микропроцессором IRQ подтверждается импульсным сигналом , вырабатываемый СКФ (см. п. 2.1);
· после приема первого импульса ПКП формирует на шине данных код операции команды CALL;
· микропроцессор по ШД принимает код операции CALL и выдает еще 2 импульса сигнала INTA, по которым ПКП передает два байта вектора прерывания, причем сначала передается младший байт адреса, а затем старший.
При обслуживании прерывания по опросу микропроцессор программируется таким образом, что периодически обращается к ПКП (опрашивает) и производит считывание по сигналу кода номера запроса с наивысшим приоритетом. При этом ПКП осуществляет прием запросов от ВУ также, как и при обслуживании по запросу.
КОНТРОЛЛЕР ПРЯМОГО ДОСТУПА К ПАМЯТИ
При передаче больших массивов информации между ОЗУ и ВУ для уменьшения вычислительной нагрузки на микропроцессор и повышения тем самым скорости обмена ВУ с оперативной памятью необходима пересылка данных без участия микропроцессора. Такой обмен принято называть прямым доступом к памяти (ПДП). Поскольку чтением и записью информации в ОЗУ управляет микропроцессор, то для реализации ПДП необходимо другое устройство, реализующее эти управляющие функции — контроллер ПДП (КПДП). Таким образом, задача КПДП — замещение микропроцессора в организации циклов чтения и записи данных, пересылаемых между памятью и ВУ.
Пример подключения ИМС КПДП к системным шинам МПС приведен на рис 2.27, где обозначено:
· DD1 — ИМС КПДП;
· DD2 — регистр;
· DD3 — логический инвертор.
ИМС КПДП содержит:
· каналы ПДП, содержащие регистр адреса ячейки памяти, с которой производится обмен и счетчик циклов обмена;
· буфер данных, предназначенный для обмена данными между микропроцессором и КПДП;
· схему управления чтением/записью, адресующую внутренние регистры КПДП;
Таблица 2.9
Вывод ИМС
| Назначение
| HOLD
| Запрос ПДП микропроцессору
| HLDA
| Подтверждение ПДП от микропроцессора
| CLC
| Вход импульсов тактовой частоты, поступающих от ГТИ микропроцессора (см. рис. 2.1)
| READY
| Сигнал готовности
|
| Чтение ввода/вывода — тристабильный вход/выход; входное напряжение L-уровня разрешает чтение информации из КПДП; выходной сигнал L-уровня разрешает чтение из ВУ
|
| Запись ввода/вывода — тристабильный вход/выход; входное напряжение L-уровня разрешает программирование КПДП; выходной сигнал L-уровня разрешает запись в ВУ
|
| Чтение из памяти — тристабильный выход; выходное напряжение L-уровня разрешает чтение из ячейки памяти, адресуемой КПДП
|
| Запись в память — тристабильный выход; выходное напряжение L-уровня разрешает запись в ячейку памяти, адресуемую КПДП
| DRQ0......DRQ3
| Запросы ПДП от внешних устройств
| DACK0.....DACK3
| Подтверждение ПДП внешним устройствам
| TC
| Конец счета — напряжение Н-уровня определяет выполнение последнего цикла передачи блока данных
| RESET
| Вход начальной установки КПДП
| ASTB
| Выход строба записи части адресного кода в регистр DD2
| AEN
| Сигнал разрешения работы системных шин
|
| Вход выборки микросхемы КПДП
| | · блок управления, содержащий регистр режима и состояния КПДП и обеспечивающий последовательность операций, необходимую для организации ПДП;
· блок управления приоритетами, обеспечивающий определенный порядок обслуживания внешних устройств.
Назначение выводов ИМС КПДП приведено в таблице 2.9.
КПДП выполняет следующие основные функции:
· получает сигнал внешнего устройства на начало обмена информации в режиме ПДП и формирует соответствующий запрос центральному процессору;
· отключает ЦП от системных шин и сообщает внешнему устройству о начале обмена;
· формирует адреса ячеек и управляющие сигналы на чтение/запись;
· задает необходимое количество циклов обмена;
· информирует ЦП о завершении цикла обмена и возвращает ему управление системными шинами.
При начальной установке КПДП в регистр режима микропроцессор по команде OUT <номер порта> записывает необходимую информацию. В процессе работы состояние КПДП можно контролировать путем чтения содержимого регистра состояния командой IN <номер порта>.
Работа КПДП осуществляется следующим образом. Запрограммированный на определенный режим работы контроллер ожидает запрос DRQ от ВУ. Если запрос получен, то КПДП вырабатывает для ВУ сигнал подтверждения DACK, а для микропроцессора — HRQ (запрос ПДП) и ожидает выдачи микропроцессором сигнала HLDA (подтверждение ПДП). После получения контроллером подтверждения HLDA начинается цикл обмена данными. В начале обмена КПДП вырабатывает сигнал BUSEN, который запрещает работу ЦП с системными шинами для того, чтобы не произошел конфликт между микропроцессором и КПДП. После этого КПДП вырабатывает код адреса ячейки памяти и сигналы , , , , определяющие направление обмена. Далее КПДП осуществляет необходимое количество циклов обмена данными между памятью и ВУ.
УСТРОЙСТВО ИНДИКАЦИИ
Названное устройство предназначено для вывода на светодиодную матрицу (СДМ) буквенно-цифровой информации. Внешне СДМ представляет собой окно (см. рис. 2.28 а)) с расположенными внутри сегментами a, b, c, d, e, f, g, h, каждый из которых является светодиодом. Семь светодиодов предназначены для формирования цифр или некоторых букв, а один — для отображения точки. Схема электрического соединения диодов матрицы приведена на рис. 2.28 б) .
Согласно схеме, все диоды имеют общий катод. В этой связи для того, чтобы какой-либо светодиод матрицы начал излучать световой поток необходимо на его анод подать напряжение Н-уровня. При отображении СДМ буквенно-цифровой информации необходимо преобразовывать исходный код букв или цифр так, чтобы светились нужные светодиоды. Например, для того, чтобы отобразить цифру числа «3», имеющего 8-разрядный двоичный код 0000 0011, напряжение Н-уровня, соответствующее логической «1», следует подать на аноды диодов «a», «b», «c», «d» и «g.», а на анодах остальных светодиодов установить логический «0». Таким образом, если анод «a» считать младшим разрядом кода СДМ, а «h» — старшим, то двоичному коду числа 3 должен соответствовать код .
Таблица 2.10
Адрес
| Код СДМ
|
| h
| g
| f
| e
| d
| c
| b
| a
| 00h
|
|
|
|
|
|
|
|
| 01h
|
|
|
|
|
|
|
|
| 02h
|
|
|
|
|
|
|
|
| 03h
|
|
|
|
|
|
|
|
| 04h
|
|
|
|
|
|
|
|
| 05h
|
|
|
|
|
|
|
|
| 06h
|
|
|
|
|
|
|
|
| 07h
|
|
|
|
|
|
|
|
| 08h
|
|
|
|
|
|
|
|
| 09h
|
|
|
|
|
|
|
|
|
Схема устройства индикации, осуществляющего вывод на СДМ цифр десятичных чисел от 0 до 9, приведена на рис. 2.29, где обозначено:
· DD1, DD2 — соответственно 4-рязрядный регистр и ПЗУ, имеющие ОК-выходы;
· DD3 — логический элемент ИЛИ.
По сигналу , формируемым элементом ИЛИ, 4-разрядный код числа (от 0 до 9), отображаемого на СДМ, записывается в регистр. Выходы регистра подключены к адресным линиям ПЗУ, выполняющего функцию преобразования двоичного кода числа в код СДМ. Преобразование осуществляется следующим образом: код преобразуемого числа является адресом ячейки ПЗУ, в которой хранится 8-разрядный код СДМ, выдаваемый на линии D0 — D7. Адреса и содержимое ячеек приведены в таблице 2.10 .
а) б)
Рис. 2.28
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|