Сделай Сам Свою Работу на 5

ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР ПРИОРИТЕТНЫХ ПРЕРЫВАНИЙ





 

Прерывание — переход микропроцессора по внешнему сигналу от выполнения текущей программы к выполнению подпрограммы (обработчик прерываний), записанной в памяти (обычно ПЗУ) по определенному адресу, который называют вектором.

Прерывание микропроцессора осуществляет ИМС, называемая программируемым контроллером приоритетных прерываний (ПКП). Этот контроллер реализует следующие функции:

· принимает сигналы, называемые запросами прерываний;

· вырабатывает сигнал прерывания микропроцессора;

· формирует для микропроцессора команду перехода к подпрограмме обработки запроса (обработчика прерываний).

Подключение ПКП к системным шинам приведено на рис. 2.25. ИМС ПКП содержит:

· двунаправленный буфер данных, сопрягающий ПКП с шиной данных;

· блок управления чтением/записью, принимающий от микропроцессора управляющие сигналы и задающий режим функционирования ПКП;

· схему управления, вырабатывающую сигнал прерывания IRQ и формирующую команду вызова подпрограммы обслуживания прерывания (CALL <адрес подпрограммы обработки прерывания>);

· регистр запроса прерываний;

· схему принятия решений по приоритетам прерываний, идентифицирующую приоритеты запросов и выбирающую запрос с наивысшим приоритетом.



Назначение выводов ИМС ПКП приведено в таблице 2.8

В составе МПС ПКП решает следующие задачи:

· определение запроса прерывания на обслуживание ВУ с наивысшим приоритетом;

 

Таблица 2.8

Вывод ИМС Назначение
D0...D7 Линии передачи данных
, Входы управления чтением и записью
А0 Адресный вход
  Подтверждение прерывания
INT Сигнал прерывания микропроцессора
IR0 — IR7 Входы запросов прерываний от ВУ
  Вход выборки ИМС

· передача управления микропроцессору, реализующему обслуживание запроса путем выполнения подпрограммы обработки прерывания, соответствующей поступившему запросу.

Названная подпрограмма может находиться в ПЗУ или в ОЗУ. Подпрограммы обработки прерываний, хранящиеся в ОЗУ, обычно называют резидентными.

ПКП позволяет реализовать процесс прерывания двумя способами:

· по запросу от ВУ.

· по опросу запросов на обслуживание ВУ.



Временная диаграмма, отображающая взаимодействие ПКП с микропроцессором при обслуживании прерывания по запросу от ВУ приведена на рис. 2.26. Согласно диаграмме в процессе обслуживания выполняются следующие действия:

· запросы прерываний поступают на входы ПКП IR0...IR7 (см. рис. 2.25);

  Рис. 2.26

 

  Рис.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.

КПДП выполняет следующие основные функции:

· получает сигнал внешнего устройства на начало обмена информации в режиме ПДП и формирует соответствующий запрос центральному процессору;

· отключает ЦП от системных шин и сообщает внешнему устройству о начале обмена;

  Рис. 2.27  

· формирует адреса ячеек и управляющие сигналы на чтение/запись;

· задает необходимое количество циклов обмена;

· информирует ЦП о завершении цикла обмена и возвращает ему управление системными шинами.

При начальной установке КПДП в регистр режима микропроцессор по команде 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


 

Рис. 2.29

 

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.