Микросхема КР1810ВН59А


Микросхема КР1810ВН59А— программируемый контроллер прерывания (ПКП), предназначен для реализации прерываний в системах с приоритетами многих уровней. Она может применяться совместно с микросхемами серий КР580 или КМ1810.
Микросхема обслуживает до восьми запросов на прерывание микропроцессора, поступивших от внешних устройств, и позволяет расширять число обслуживаемых запросов до 64 путем каскадного соединения микросхем ПКП.
Микросхема может работать в нескольких режимах, которые устанавливаются программным путем.
Уровни приоритета входов запросов устанавливаются программным путем. Приоритеты, закрепленные за внешними устройствами, могут быть изменены в процессе выполнения программы.
Условное графическое обозначение микросхемы приведено на рис. 16.9, назначение выводов—в табл. 16.13, структурная схема показана иа рис. 16.10.
Назначение узлов микросхемы КР1810ВН59А аналогично назначению соответствующих узлов КР580ВН59 (см. § 3.6).
Принцип работы ПКП КР1810ВН59А зависит от типа используемого микропроцессора. При работе с микропроцессором серии КР580 после получения от него сигнала INTAПКП вырабатывает вектор прерывания, т. е. начальный адрес подпрограммы обслуживания того устройства, которое вызвало прерывание. Происходит это следующим образом. При получении сигнала INTAмикросхема КР1810ВН59А посылает кодовую комбинацию 11001101 (т. е. код команды CALL) на 8-разрядиую шину данных. Код команды CALLинициирует е.ще два сигнала INTA, которые поступают иа ПКП со стороны микропроцессора. Последние два сигнала позволяют микросхеме КР1810ВН59А выдать сформированный двухбайтовый адрес подпрограммы иа шину данных: сначала младшие восемь разрядов адреса, затем старшие восемь разрядов адреса. Так завершается выдача трехбайтовой команды CALL микросхемой КР1810ВН59А иа шину данных системы.
Прн работе с микропроцессором серия К1810 старший по уровню приоритета запрос, определяемый ПКП, инициирует сигнал INT, поступающий на микропроцессор. Процессор выдает два сигнала INTA. В ответ на сигнал INTA1 ПКП не выдает данных в микропроцессор, и буферная схема шины данных остается в высокоомном состоянии

 

1

Рис 1

Таблица 1


Вывод

Обозначение

Тип вывода

Функциональное назначение выводов

1

CS

Вход

Выбор микросхемы

2

WR

Вход

Запись

3

RD

Вход

Чтение

4—11

D7—D0

Вход/выход

Канал данных

12, 13, 15

CAS2—CAS0

Вход/выход

Шина каскадирования

14

GND

 

Общий

16

ms/sv/dЕ

Вход/вы­ход

Выбор ведомой микро­схемы (разрешение дан­ных)

17

INT

Выход

Прерывание

18—25

1RQ7—1RQ0

Вход

Запрос прерывания

26

1NTA

Вход

Подтверждение прерыва­ния

27

АО

Вход

Адресный вход

28 |

Ucc

1

Напряжение питания

По сигналу INTA2 ПКП посылает байт данных в процессор с кодом подтверждения запроса на прерывание. Чтобы запрос обслуживался, ои должен сохраняться до прихода сигнала INTA, иначе ПКП выдает вектор прерывания как бы для седьмого запроса, независимо от наличия этого запроса. Одна микросхема КРШ0ВН59А управляет восемью уровнями прерывания и имеет внутренние возможности для расширения их до 64 путем соединения аналогичных микросхем с помощью специальной шины CAS2—CAS0.
При работе ПКП с микропроцессором серии КР580 назначение микросхемы ведущей или ведомой осуществляется подачей на вывод MS/SVJDEнапряжения высокого или низкого уровня соответственно. При работе ПКП с микропроцессором серии К1810 назначение микросхемы ведущей или ведомой осуществляется программным путем. Предварительно каждой ведомой микросхеме присваивается ее коа (путем .записи соответствующего командного слова), равный номеру входа IRQведущей микросхемы, с которым соединен вывод INTведомой микросхемы. Если сигнал INT, поступивший на микропроцессор, выработан сигналом IRQ, поступившим на вход ведущей микросхемы, то формирование адреса подпрограммы обслуживания осуществляется этой же микросхемой аналогично тому, как это происходит при работе с одной микросхемой. Если же прерывание МП происходит по сигналу IRQ, поступившему иа вход ведомой микросхемы, то формирование адреса подпрограммы обслуживания осуществляется следующим образом. При поступлении первого сигнала 1NTAведущая микросхема выдает на шииу даииых код команды CALLтолько прн работе с микропроцессором серии КР580, а на шину CAS2—CAS0 — код номера ведомой микросхемы. Поэтому с приходом остальных сигналов INTAкод адреса подпрограммы обслуживания выдается иа шину

 

2

Рис 2

Таблица 2

 

Статус уровня приоритета

 

Статус уровня приоритета

IRQO

7 6 5 4 3 2 10

IRQ4

3 2 10 7 6 5 4

1RQ1

0 7 6 5 4 3 2 1

IRQ5

4 3 2 10 7 6 5

IRQ2

10 7 6 5 4 3 2

IRQ6

5 4 3 2 10 7 6

IRQ3

2 10 7 6 5 4 3

IRQ7

6 5 4 3 2 10 7

данных той ведомой микросхемой, запрограммированный номер которой совпал с кодом иа шиие CAS2CAS0. Получая запросы от периферийных устройств, ПКП определяет, какое из иих обладает наивысшим уровнем приоритета. При этом уровни приоритета входов IRQ7IRQ0 микросхемы заранее заданы и находятся всегда в строго определенном соотношении (статус уровней приоритета). Самым высоким уровнем приоритета обладает вход IRQс обозначением 0 приоритетного кольца, а самым низким — вход IRQс обозначением 7, называемым дном приоритетного кольца. Таким образом, задавая положение дна, можно однозначно определять уровень приоритета каждого входа микросхемы. Все возможные варианты статусов приведены в табл. 16.14.
Микросхема имеет несколько программных способов задания дна приоритетного кольца, применяемых в зависимости от системных требований.
Микросхема имеет регистр запросов
(РЗПР) и регистр обслуженных запросов
(РОЗПР). В РЗПР хранятся запросы от ожидающих      обслуживания           периферийных
устройств. После выработки сигнала INT н
получения последовательности сигналов INTA
разряд РЗПР, соответствующий обслуживаемому запросу, устанавливается в нулевое состояние, а соответствующий разряд РОЗПР
в единичное состояние. Этот разряд РОЗПР
блокирует обслуживание всех запросов, имеющих равный или более низкий по сравнению
с ним уровень приоритета. Кроме того, запретить обслуживание запросов можно применением маскирования, что позволяет заблокировать любой из входов микросхемы, иа который поступает IRQ. Однако устранить блокирующее влияние разрядов РОЗПР иа обслуживание поступившего запроса можно либо
путем сброса соответствующего запроса з
РОЗПР, либо путем специального маскирования.
При обслуживании прерываний по опросу микропроцессор блокирует свой вход INT, так как в этом случае инициатором обслуживания является микропроцессор. Поэтому по сигналу RD, поступившему после подачи команды «Обслуживание по результатам опроса:», при наличии запросов иа шину даииых считывается код номера запроса, имеющий наивысший в данный момент уровень приоритета.
Установка микросхемы в исходное состояние и установка алгоритма обслуживания прерываний осуществляются с помощью двух типов слов команд, записываемых в ПКП: слов команд инициализации (СКИ) и слов команд операций (СКО).
Микросхема может выполнять следующий набор операций:
операции индивидуального маскирования — индивидуальное маскирование запросов, специальное маскирование обслуженных запросов;
операции установки статуса уровней приоритета—по установке исходного состояния; по обслуженному запросу, по указанию;
операции конца прерываний — обычный конец прерывания, специальный конец прерывания, автоматический конец прерывания;
операции чтения — чтение регистра запросов, чтение регистра обслуженных запросов, чтение регистра маски.
В процессе работы микросхем можно выделить следующие основные режимы: программирование, обслуживание по запросу, обслуживание по результатам опроса.
В режиме программирования запись слов команд микросхемы осуществляется при CS=0 и WR=0. Временная диаграмма работы микросхем показана иа рис. 16.11, а. При подаче на шину данных соответствующего кода команды микросхема выполняет определенный алгоритм работы.
В режиме программирования чтение информации осуществляется при С5=0 и RD=0 (рис. 16.11,6). В режиме обслуживания (CS=l) микросхема выполняет команды подпрограммы обслуживания запросов. Временные диаграммы работы микросхемы показаны на рис. 16.12, а.
Режим работы микросхемы устанавливается путем ее программирования как устройства ввода/вывода с помощью программного обеспечения микропроцессорной системы.
В процессе работы ПКП можно изменять алгоритмы обслуживания прерываний. Это осуществляется с помощью системы команд, перечень которых приведен в табл. 15.15. Прежде всего микросхема должна быть установлена в исходное состояние. Для этого используется последовательность команд СКИ (рис. 16.13). Формат команд СКИ приведен на рис. 16.14.
По команде СКИ1 (признак A0 = 0, D4=1) микросхема выполняет следующие действия:
устанавливает в исходное состояние схему чувствительную к перепаду уровней напряжения, по входам IRQ7IRQ0;
очищает регистр маскирования запросов; входу IRQ7 присваивает уровень приоритета 7;
сбрасывает триггер специального маскирования, а триггер выбора РЗПР/РОЗПР для последующего считывания устанавливает в состояние выбора РЗПР;
сбрасывает триггер циклического сдвига уровней приоритета;

 

3

Рис 4

если D0=0, то сбрасывает признаки разрешения данных и автоматического конца прерывания. Команда СКИ1 имеет 16 модификаций (а—р), что связано с указанием в ней признака СКИ4 (разряд DO), признака числа ПКП в системе (разряд D1), признака формата адреса (D2) и признака установки запросов (D3). Если D0=1, то программируется регистр СКИ4. Если Dl = 1, то ПКП в системе единственный, если D1=0 — в системе несколько ПКП. При D2= 1 формат равен 4, т. е. начальные адреса программ обслуживания смежных запросов отстоят друг от друга на 4 адреса, при D=0 — иа 8. В разрядах D7D5 команды СКИ1 указываются разряды адреса А7А5 младшего байта начального адреса подпрограммы обслуживания запросов при формате 4. При формате 8 в разрядах D7, D6 указываются разряды адреса А7, А6. Возможные варианты адресов младшего байта в зависимости от номера запроса и формата приведены в табл. 16.16. При работе с процессором серии КМ 1810 младший байт адреса ПКП не формируется. Признак формата игнорируется.
Прн D3= I ПКП работает в режиме прерывания по запросу, который реализуется постоянным уровнем напряжения, при D3—0 ПКП работает в режиме прерывания по запросу, который реализуется изменением напряжения от низкого уровня до высокого.
Следующая команда после СКИ1 (признак А0=\) воспринимается как команда СК.И2, в которой указываются старшие разряды 16-разрядного адреса подпрограммы обслуживания: при работе с микропроцессором серии КР580— разряды А15А8, с микропроцессором серии К1810 -разряды А15—А 11.

 

4

Рис 5

Если в СКИ1 D1 = 0, то следующая команда за СКИ2 (при А0=1) воспринимается микросхемой как СКИЗ и имеет две модификации.

Таблица 3

 

 

t^

D6

D5

 

3

D2

D1

D0

 

IRQ7

А7

А6

А5

1

1

1

0

0

 

IRQ6

А7

А6

А5

1

1

0

0

0

 

IRQ5

А7

А6

А5

1

0

I

0

0

4-й

IRQ4

А7

А6

А5

1

0

0

0

0

 

IRQ3

А7

А6

А5

0

1

1

0

0

 

1RQ2

А7

А6

А5

0

1

0

0

0

 

IRQ1

А7

А6

А5

0

о

1

о

о

 

IRQO

А7

А6

А5

0

0

0

0

0

 

IRQ7

А7

А6

1

1

1

0

0

0

 

IRQ6

А7^

А6

1

1

0

0

0

0

 

IRQ5

А7

А6

1

0

1

0

0

0

8-й

IRQ4

А7

А6

1

0

0

0

0

0

 

IRQ3

А7

А6

0

1

1

0

0

0

 

IRQ2

А7

А6

0

1

0

0

0

0

 

1RQ1

А7

А6

0

0

1

о

0

0

 

IRQ0

А7

А6

0

0

0

0

0

0

Команду СКИЗа подают на ведущую микросхему, а СКИЗб — на ведомые. Если в разрядах D7—D0 команды СКИЗа устанавливается единичное состояние, то это означает, что к соответствующему входу IRQведущей микросхемы подключен вывод INTведомой микросхемы. Нулевое состояние означает, что на соответствующий вход подключено периферийное устройство либо этот вход не используется. В разрядах D2—D0 команды СКИЗб указывается идентификатор ведомой микросхемы, который должен быть равен номеру входа запроса ведущей микросхемы, к которому подключена эта ведомая микросхема. Например, если выход INT ведомой микросхемы подключен ко входу IRQ6 ведущей микросхемы, то в разрядах D2—D0 команды СКИЗб, выдаваемой на эту микросхему, указывается код ПО. Команда, записываемая после СКИЗ (при D0=\ в СКИ1), будет восприниматься как СКИ4. В команде СКИ4 в разряде DOзаписывается признак системы Ц, который определяет, работает ПКП в микропроцессорном комплекте КР580 (Ш=0) или КМ1810 (Ш=1). В этой команде могут быть запрограммированы признак разрешения данных EN (D3=\) и признак автоматического конца прерывания — АКП (только для ведущей микросхемы).

 

5

Рис 6

 

Если D3=\, то вывод MSJSVIDEстановится выходом и назначение ПКП (ведущиГ; или ведомый) определяется признаком M[S (D2 = 1 для ведущего, D2=0 для ведомого)
Особенностью КМ1810ВН59А является возможность работать с разрешением приоритета ведомого ПКП (D4=\ в СКИ4). Необходимость такого обслуживания возникает в больших системах с несколькими ПКП, где ведомая микросхема с высшим приоритетом должна непрерывно обслуживать поступившие на нее запросы. Микропроцессор контролирует наличие запросов от ведомой микросхемы, выдавая две команды конца прерывания и считывания содержимого РЗПР ведущего ПКП. Если в СКИ4 ведущей микросхемы установлен признак АКП (D1=l), то достаточно выдачи одной команды конца прерывания на ведомую микросхему.
Выбор или изменение алгоритма обслуживания запросов в процессе работы осуществляется с помощью команд СКО (рис. 16.15 и табл. 16.15).
Команда СК01 (признак A0=1) позволяет загрузить регистр маскирования (WR = 0,

 

6

Рис 7

CS=0). Установка признака Mt = \ (t=0—7) в этой команде указывает на блокировку обслуживания соответствующего IRQ. Содержимое регистра маскирования выдается иа шину данных при подаче сигналов CS = 0, RD = 0, А0=\.
Команда СК02 (признаки А0=0, D4=0, Ш=0) имеет семь модификаций СК02а— СК02ж. Группа команд СК02 указывает вид конца выполненного обслуживания прерывания, а также вид установки дна и дно приоритетного кольца. Статус уровня приоритета, устанавливаемый одной из команд СК02в, СК02г, СК02ж, сохраняется до подачи команды, которая имеет возможность его изменить, или команды СКИ1.
Команда СК02а (обычный конец прерывания) устанавливает в нулевое состояние разряд РОЗПР, соответствующий последнему (до подачи команды СК02а) обслуженному запросу.Команда СК026 (специальный конец прерывания) устанавливает в нулевое состояние тот разряд РОЗПР, номер которого указан двоично-десятичным кодом (В2ВО) в разрядах D2DOэтой команды.
Команда СК02в вводит вид установки статуса уровней приоритета по последнему обслуженному запросу. По этой команде устанавливается в нулевое состояние разряд РОЗПР, соответствующий последнему обслуженному запросу, и этому же номеру запроса присваивается низший уровень приоритета.
Команда СК02г вводит вид установки статуса уровней приоритета по указанию о выполнении операции обычного конца прерывания. По этой команде присваивается низший уровень приоритета тому входу IRQ, номер которого в виде двоично-десятичного кода (В2ВО) указан в разрядах D2DOкоманды; при этом устанавливается в нулевое состояние соответствующий разряд РОЗПР.
Команда СК02д разрешает вращение уровней приоритета с помощью установки триггера, и действие ее сохраняется до подачи команд СК02е и СКИ1. Эта команда эффективно используется при заданном признаке АКП (Dl = l в СКИ4), если в системе имеется несколько устройств с одинаковым уровнем приоритета.
Команда СК02е осуществляет сброс разрешения вращения уровней приоритета.
Команда СК02ж вводит вид установки статуса уровней приоритета по указанию без выполнения операции конца прерывания. Двоичио-десятичный код в разрядах D2DOэтой команды указывает дно приоритетного кольца.
Группа команд типа СКОЗ (признаки А0=0, Ш=1, D4—Q) используется для разрешения чтения РЗПР и РОЗПР, для разрешения и сброса специального маскирования, а также для установки режима обслуживания по результатам опроса. Команда СКОЗа устанавливает режим обслуживания по результатам опроса. После подачи сигналов RD=0, RS = 0, А0=0 действие команды СКОЗа прекращается При подаче команд СКОЗб, СКОЗв разрешается чтение регистров РЗПР, РОЗПР соответственно. При последующей подаче сигналов RD=0, CS = 0, АО=0 выполняется считывание данных с выбранного регистра, причем действие команд СКОЗб, СКОЗв сохраняется до подачи команды СКИ1.
Команда СКОЗг обеспечивает специальное маскирование путем блокировки действия тех разрядов РОЗПР, которые замаскированы командой СК01 на соответствующих позициях РЗПР. Специальное маскирование используется в том случае, когда необходимо обслужить запрос, который блокируется старшим или равным по уровню приоритета обслуженным запросом, хранящимся в РОЗПР, не сбрасывая последний.
Команды СКОЗд или СКИ1 прекращают действие команды СКОЗг. Таким образом, приведенная система команд позволяет устанавливать различные алгоритмы и закреплять уровни приоритета за внешними устройствами как статически, так и динамически, т. е. в любое время работы основной программы.
Работа микросхемы КР1810ВН59А в режимах прерывания по запросу и прерывания по результатам опроса аналогична работе в этих режимах микросхемы КР580ВН59 (см. § 3.6).
Основные параметры микросхемы в диапазоне рабочих температур —10ч- +70 °С и напряжении питания +5,0 В ±5 % приведены в табл. 16.17.

Оглавление


Сайт управляется системой uCoz