вход Вход Регистрация



Микросхема КР580ВН59 - программируемый контроллер прерываний (ПКП), обслуживает до восьми запросов на прерывание микропроцессора, поступающих от внешних устройств.

Микросхема позволяет сократить средства программного обеспечения и реальные затраты времени при выполнении прерываний в системах с приоритетами многих уровней. Алгоритм задания приоритета устанавливается программным путем. Приоритеты, закрепленные за внешними устройствами, могут быть изменены в процессе выполнения программ.

В микросхеме предусмотрена возможность расширения числа обслуживаемых запросов до 64 путем каскадного соединения микросхем ПКП.

Условное графическое обозначение микросхемы приведено на рис. 1.17, назначение выводов - в таблице 1.9, структурная схема показана на рис. 1.18.

Рисунок 1.17 - Условное графическое обозначение КР580ВН59

 

Таблица 1.9

Номер
ячейки
Обозначение
вывода
Тип
вывода
Назначение выводов
1 CS Вход Выбор микросхемы
2 WR Вход Запись
3 RD Вход Чтение
4-11 D7-D0 Вход/выход Канал данных (двунаправленный трёхстабильный)
12, 13, 15 CAS2-CAS0 Вход/выход Шина каскадирования (двунаправленная трёхстабильная)
14 GND - Общий
16 SP Вход Выбор ведомой микросхемы
17 INT Выход Прерывание
18-25 IRQ7-IRQ0 Вход Запрос прерывания
26 INTA Вход Подтверждение прерывания
27 A0 Вход Адресный вход
28 Ucc - Напряжение питания

 

Регистр запросов прерывания (РЗПР) предназначен для записи и хранения запросов прерываний (IRQ).

Запись в соответствующий разряд РЗПР происходит при изменении на соответствующем входе микросхемы напряжения от низкого уровня до высокого IRQ7 - IRQ0 - индивидуальные асинхронные входы. Напряжение высокого уровня должно удерживаться до получения первого импульса . Разряд РЗПР, соответствующий обслуживаемому запросу, при поступлении второго импульса возвращается в исходное состояние. Содержимое РЗПР может быть считано на шину данных.

Регистр обслуженных запросов (РОЗПР) предназначен для хранения сигналов, поступающих с выходов схемы маскирования запросов прерывания соответствующего сигнала запроса, обслуживаемого в данный момент. Соответствующий разряд РОЗПР устанавливается в 1 после поступления второго импульса (одновременно соответствующий разряд РЗПР устанавливается в исходное состояние). Этот разряд сохраняет свое состояние до получения команды «Конец прерывания» микросхемой ПКП. Содержимое РОЗПР может быть считано на шину данных.

Схема маскирования запросов прерывания и анализа их по приоритету (МЗПР) связана с РЗПР, РОЗПР. Схема маскирования разрешает или запрещает прохождение сигналов с выхода РЗПР на входы схемы анализа по уровню приоритета. Код маски записывается в микросхему с помощью команды СКО1 и хранится там до записи нового кода либо до установки микросхемы в исходное состояние.

Сигналы, прошедшие через схему маскирования, анализируются по уровню приоритета. Запросы с более высоким приоритетом, занесенные в РОЗПР по мере их обслуживания, запрещают прохождение через МЗПР равных или низших по уровню приоритета запросов. Для разрешения прохождения этих запросов необходимо подать на микросхему команду «Конец прерывания», либо команду специального маскирования (СКОЗ).

На вход логической схемы чтения (записи) ЛЧТ/ЗП подаются сигналы А0, WR и RD. Сочетания этих сигналов позволяют записать команды в различные регистры микросхемы, а также считать содержимое регистров ПКП на шину данных.

Напряжение низкого уровня на входе WR микросхемы позволяет записывать управляющие слова команд инициализации (СКИ) и слова команд операций (СКО) в микросхему ПКП.

Напряжение низкого уровня на входе микросхемы ПКП позволяет считать содержимое РЗПР, РОЗПР либо двоично-десятичный код запроса прерывания на шину данных.

Устройство управления (УУ) предназначено для выдачи сигнала INT после поступления одного или нескольких запросов на выходы IRQ7 - IRQ0. Оно выдает также управляющие сигналы для формирования команды CALL, причем характер работы УУ в процессе выработки команды CALL различен при различных включениях микросхемы ПКП. Так, если микросхема ПКП только одна, УУ выдает управляющие сигналы, разрешающие выдачу всех трех байтов команды CALL. При использовании нескольких микросхем ПКП эта команда формируется следующим образом. Первый байт команды CALL (т.е. код команды) вырабатывается ведущим ПКП. Второй и третий байты формируются той микросхемой, сигнал IRQ которой вызывает прерывание.

Рисунок 1.18 - Структурная схема КР580ВН59

 

В ПКП предусмотрена возможность расширения числа входов обслуживаемых запросов до 64 путем каскадного соединения нескольких микросхем ПКП в системе с помощью буферной схемы каскадирования. В этом случае один ПКП включается как ведущая микросхема (на входе напряжение высокого уровня), а остальные - как ведомые (на входе напряжение низкого уровня), причем каждой ведомой микросхеме присваивается номер, который устанавливается программным путем перед началом работы.

Двоично-десятичный код номера ведомой микросхемы выдается ведущей микросхемой на шину CAS2 - CAS0 по нарастанию первого импульса и хранится до появления нарастания третьего импульса .

Буферная схема шины данных (БД) - 8-разрядная двунаправленная с тремя состояниями, соединяет микросхему с системной шиной данных посредством выводов D7 - D0. При программировании ПКП через БД в микросхему записываются управляющие слова, а на системную шину данных считывается содержимое РЗПР, РОЗПР и двоично-десятичный код запроса, выработавшего сигнал INT.

В режиме прерывания по запросу в процессе подтверждения (поступления трех импульсов ) через БД в системную шину данных выдается трехбайтовая команда CALL. В остальное время выход БД находится в высокоомном состоянии.

При осуществлении передачи данных с прерыванием программы обычно реализуется такая последовательность действий:

- периферийное устройство запрашивает прерывание;

- по завершении выполнения текущей команды процессором последний выдает сигнал подтверждения прерывания;

- запоминается содержимое счетчика команд и осуществляется переход по адресу подпрограммы обслуживания прерывания;

- запоминается при необходимости содержимое внутренних регистров (рабочих и регистров состояния) и выполняется передача данных под управлением специальной программы (подпрограммы);

- после выполнения подпрограммы осуществляется возврат к продолжению выполнения прерванной программы.

Рисунок 1.19 - Схема каскадного соединения микросхем КР580ВН59

 

В микропроцессорной системе могут использоваться два метода реализации приведенной последовательности действий прерывание с опросом и прерывание по вектору. В первом случае осуществляется опрос каждого периферийного устройства, пока не обнаружится то, которое запрашивает прерывание. Далее осуществляется переход на соответствующую подпрограмму обслуживания прерывания, которая и выполняет обмен данными. При этом методе приоритет устройства определяется его местом в последовательности опроса. В отличие от данного метода в случае прерывания по вектору при получении запроса от устройства управление передается непосредственно на соответствующую программу обслуживания, т.е. устройство распознается сразу же после поступления сигнала подтверждения прерывания.

Микросхема ПКП КР580ВН59 реализует оба метода прерывания программ путем программной установки в соответствующий режим работы, причем режим работы, соответствующий методу прерывания с опросом, называется обслуживанием по результатам опроса, а методу прерывания по вектору - обслуживанием по запросу.

В режиме обслуживания по запросу ПКП, получая запросы от периферийного устройства, запоминает их, выделяет запрос с высшим уровнем приоритета, сравнивает его по уровню приоритета с обслуженными запросами, зарегистрированными в РОЗПР, и, если уровень приоритета выделенного запроса оказывается выше, чем у зарегистрированных, выдает сигнал INT для микропроцессора. После получения со стороны микропроцессора сигнала подтверждения прерывания ПКП вырабатывает вектор прерывания, т.е. начальный адрес подпрограммы обслуживания того устройства, которое вызвало выдачу INT Это осуществляется путем посылки в микропроцессор трехбайтовой команды CALL. Происходит это следующим образом. При получении сигнала КР580ВН59 посылает кодовую комби­нацию 11001101 (т.е. код команды CALL в микропроцессорном комплекте серии КР580) на 8-разрядную шину данных. Этот код команды CALL инициирует еще два сигнала , которые должны поступить на ПКП со стороны процессора. Последние два сигнала позволяют микросхеме КР580ВН59 по­слать сформированный адрес подпрограммы на шину данных: сначала младшие восемь раз­рядов адреса, а затем старшие восемь разря­дов адреса. Так завершается выдача трехбай­товой команды CALL на шину данных си­стемы.

Путем соединения аналогичных микросхем с помощью специальной шины CAS2 - CAS0 можно увеличить число обслу­живаемых запросов до 64. При этом в зави­симости от подачи соответствующих сигналов на выводы микросхем одна из них вы­ступает в качестве ведущей, а остальные - в качестве ведомых. Предварительно каждой ведомой микросхеме присваивается ее номер (путем записи в нее соответствующего команд­ного слова), который должен быть равен но­меру входа IRQ ведущей микросхемы, с ко­торым соединен вывод INT ведомой микро­схемы.

Если сигнал INT, поступивший на процес­сор, выработан сигналом IRQ, поступившим на вход ведущей микросхемы, то формирова­ние трехбайтовой команды CALL осуществля­ется этой же микросхемой. Если же прерыва­ние процессора происходит от сигнала IRQ, по­ступившего на вход ведомой микросхемы, то формирование команды CALL происходит следующим образом. При поступлении перво­го сигнала ведущая микросхема выдает на шину данных код команды CALL, а на ши­ну CAS2 – CAS0 - код номера ведомой ми­кросхемы. Поэтому с приходом остальных сиг­налов код адреса подпрограммы обслуживания вырабатывается на шину данных той ведомой микросхемой, запрограммированный номер которой совпал с кодом на шине CAS2 - CAS0. Получая запросы от периферий­ных устройств, ПКП определяет, какое из них обладает наивысшим приоритетом. При этом уровни приоритетов входов IRQ7 - IRQ0 ми­кросхемы заранее заданы и находятся всегда в строго определенном соотношении друг с другом. Наивысшим уровнем приоритета обла­дает вход IRQ0 приоритетного кольца, с са­мым низким - вход IRQ7, называемый дном приоритетного кольца. Таким образом, задавая положение дна, можно однозначно определить уровень приоритета каждого входа микро­схемы. Все возможные варианты статусов при­ведены в табл. 1.10. Микросхема имеет не­сколько программных способов задания дна кольца, применяемых в зависимости от си­стемных требований.

После выработки сигнала INТ и получения последовательности сигналов блокирует­ся обслуживание всех запросов, имеющих оди­наковый или более низкий по сравнению с об­служенным уровень приоритета. Запретить об­служивание запросов можно применением мас­кирования, что позволяет заблокировать лю­бой из входов микросхемы, на который посту­пает сигнал IRQ. С другой стороны, устранить блокирующее влияние обслуженного запроса на обслуживание остальных запросов можно, используя специальное маскирование. Это до­стигается также путем записи в микросхему ПКП слова команды конца прерывания.

 

Таблица 1.10

Вход микросхемы Статусы уровней приоритета
IRQ0 7 6 5 4 3 2 1 0
IRQ1 0 7 6 5 4 3 2 1
IRQ2 1 0 7 6 5 4 3 2
IRQ3 2 1 0 7 6 5 4 3
IRQ4 3 2 1 0 7 6 5 4
IRQ5 4 3 2 1 0 7 6 5
IRQ6 5 4 3 2 1 0 7 6
IRQ7 6 5 4 3 2 1 0 7
Примечание: 7 - дно приоритетного кольца

 

При обслуживании прерываний по опросу микропроцессор блокирует свой вход INT, так как инициатором обслуживания является он сам. В этом случае по каждому сигналу RD, поступающему после подачи команды «Обслуживание по результатам опроса», при наличии запросов считывается код номера за­проса, имеющий наивысший в данный момент уровень приоритета.

Установка микросхемы в исходное состоя­ние и установка алгоритма обслуживания пре­рываний осуществляется с помощью двух ти­пов слов команд, записываемых в ПКП: СКИ и СКО.

Микросхема может выполнять следующий набор операций:

1. Операция маскирования: индивидуальное маскирование запросов; специальное маскиро­вание.

2. Операции установки статуса уровней приоритета: по установке исходного состояния; по обслужившемуся запросу; по указанию.

3. Операции конца прерываний: обычный конец прерывания; специальный конец преры­вания.

4. Операция чтения: чтение регистра запро­сов; чтение регистра обслуженных запросов, чтение регистра маски.

В процессе работы микросхем можно вы­делить следующие основные режимы:

- программирование (запись слов команд, чтение информации в регистрах);

- обслуживание по запросу;

- обслуживание по результатам опроса.

В режим записи слов команд микросхема переходит при и , а в режим чтения информации - при и .

Микросхема может находиться в одном из следующих состояний: программирование; обслуживание по запросу; обслуживание по результатам опроса.

© 2018
  • Сайт "Литературка"
  • мы собираем различную техническую, образовательную, научную литратуру