Avdeev
.pdf
160
PC3 (INTA)
|
1 – порт РА полон |
PC5(IBFA) = |
0 – Увв может передавать |
данные
Бит D4 порта РС разрешает прерывание
Рис. 6.24. Схема ввода данных из РА в режиме 1
В режиме 1 для порта А и при условии ввода данных Увв направляет байт данных по линиям РА7-РА0 и затем записывает его сигналом строб (STB), установленным на линии РС4. По сигналу STB, кроме того, формируется сигнал IBFA на линии РС5, который указывает МП, что порт РА полон. При чтении данных из порта А микропроцессором выполняется автоматический сброс сигнала IBFA. Для разрешения прерывания используется бит D4 порта РС. Если бит D4 порта РС равен 1 и установлен сигнал IBFA, то на линии РС3 формируется сигнал прерывания INTA, сообщающий МП, что порт РА полон. Сигнал IBFA, равный 0, указывает УВв, что оно может передавать данные в порт РА. Так достигается координация действий МП, PPI и Увв. Неиспользуемые биты D5 и D4 порта РС группы А могут быть запрограммированы для ввода или вывода битов данных.
Аналогичным образом выполняется ввод данных из порта РВ в режиме 1. На рис. 6.25 представлена схема ввода данных из РВ в режиме 1.
МП |
|
|
|
|
D7 - D0 |
PPI |
|
УВв |
|
|
|
|
|
|
|
РB7 – РB0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PC1 (IBFA) |
PC2 (STB) |
161
установка IBFB
(сброс IBFB)
PC0 (INTB)
|
1 – порт РВ полон |
PC1(IBFB) = |
0 – УВв может передавать дан- |
ные
Бит D2 = 1 порта РС разрешает прерывание
Рис. 6.25. Схема ввода данных из РВ в режиме 1
Неиспользуемые биты D4 и D5 порта РС в этом режиме могут быть употреблены для ввода или вывода битов данных.
Схема вывода данных из МП в порт РА в режиме 1 изображена на рис. 6.26.
МП |
|
|
|
PPI |
|
УВыв |
|
|
|
|
D7 – D0 |
РА7 – РА0 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WR |
PC7 |
(OBFA) |
||
Установ. OBFA |
|
|
|
|
|
|
|
|
|
PC3 (INTA) |
PC6 (ACK) |
162
(Сброс OBFA)
|
1 – порт PА пуст |
PC7(OBFA) = |
0 – УВыв может считывать |
данные
Бит D6 порта РС разрешает прерывание
Рис. 6.26. Схема вывода данных из МП в порт РА в режиме 1
В этом режиме МП выводит данные с указанием адреса порта РА. Запись данных в порт РА выполняется сигналом WR, по которому, кроме того, формируется на линии РС7 сигнал OBFA, сообщающийустройству вывода (Увыв) о наличии данных на линиях РА7 – РА0. Увыв принимает данные и устанавливает ответный квитирующий сигнал ACK (подтверждение), сбрасывающий сигнал OBFA. Высокий уровень сигнала OBFA указывает МП, что порт РА пуст и можно выводить очередной байт данных. Формирование сигнала прерывания на линии РС3 (INTA) возможно, если установлены бит D6 порта РС, разрешающий прерывание, и сигнал OBFA = 1 (порт РА пуст). Биты D4 и D5 порта РС, относящиеся к группе А, могут быть запрограммированы на ввод или вывод.
Аналогичная схема по принципу действия представлена для порта РВ (рис.
6.27).
МП |
|
|
|
|
PPI |
|
|
|
УВыв |
|
D7 – D0 |
РB7 – РB0 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WR |
PC1 |
(OBFA) |
||
|
|
|
||
|
|
|
|
|
163
Установ. OBFA
PC0 (INTA) |
PC2 (ACK) |
(Сброс OBFA)
|
|
|
1 – порт PИ полон |
PC1( |
|
) = |
0–УВывможетсчитыватьдан- |
OBFA |
|||
|
|
|
ные |
Рис. 6.27. Схема вывода данных из МП в порт РВ в режиме 1
В режиме 2 используется порт А, выполняющий ввод и вывод данных, т.е. доступный по записи и чтению со стороны МП (рис. 6.28), благодаря чему образуется двусторонняя шина данных.
МП |
D7 – D0 |
PC5 (IBFA)
PC3 (INTA)
PPI
PA7 - PA0
PC4 (STB)
PC7 (OBFA) PC6 (ACK)
Увв/ Выв
Рис. 6.28. Схема ввода/вывода данных в режиме 2
Если порт РА использует режим 2, то порт РВ может работать в режиме 0 или режиме 1.
6.11. Контроллер комбинированного типа
164
Контроллер содержит две основные микросхемы: I8255 (PPI) и I8250 (PCI). В микросхеме PPI имеется 4 8-битных адресуемых регистра (РА, РВ, РС и РУ), выбор которых выполняется с помощью битов адреса А1А0. Доступ к 10 регистрам PCI (УАПП) осуществляется с учетом битов адреса А2А1А0 и бита D7 регистра управления линией (D7 РУЛ). В табл. 6.8 представлены сигналы, необходимые для обращения к регистрам PCI: регистру делителя скорости (РДС) младшего байта (МБ) и старшего байта (СБ), региструразрешения прерывания (РРП), регистру идентификациипрерывания(РИП),региструуправлениялинией(РУЛ),регистру состояния линии (РСЛ) и регистру состояния модема (РСМ).
Таблица 6.8
А2 |
А1 |
А0 |
D7 РУЛ |
-RD |
-WR |
Доступ |
Обозн. |
0 |
0 |
0 |
0 |
0 |
1 |
W |
РПЕР |
0 |
0 |
0 |
0 |
1 |
0 |
R |
РПР |
0 |
0 |
0 |
1 |
0 |
1 |
W |
РДС(МБ) |
0 |
0 |
1 |
1 |
0 |
1 |
W |
РДС(СБ) |
0 |
0 |
1 |
0 |
0 |
1 |
W |
РРП |
0 |
1 |
0 |
* |
1 |
0 |
R |
РИП |
0 |
1 |
1 |
* |
0 |
1 |
W |
РУЛ |
1 |
0 |
0 |
* |
0 |
1 |
W |
РУМ |
1 |
0 |
1 |
* |
1 |
0 |
R |
РСЛ |
1 |
1 |
0 |
* |
1 |
0 |
R |
РСМ |
Примечание: * - не используется
В соответствии с см. табл. 6.8 выбирается из резерва базовый (начальный) адрес 220h PCI (УАПП). Для доступа к любому из 10 регистров PCI достаточен адресный диапазон 220h-226h. Поэтому с целью выбора одного из четырех регистров PCI используются адреса 228h-22Bh, т.е. 228h является базовым адресом PPI.
Таким образом, общими для всех портов являются адреса SA9-SA4, которые с учетом сигнала AEN и определяют сигнал выбор контроллера (SEL). Бит адреса SA3 используется для выбора микросхемы I8255 (SA3=1) или микросхемы I8250 (SA3=0). На рис. 6.29 изображена структурная схема контроллера последовательного и параллельного интерфейсов.
165
SA9-SA4 |
|
SEL |
& |
CSPPI |
|
|
|
|
|
AEN |
ДшА |
& |
CSPCI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I8255 |
|
|
|
|
SA3 |
1 |
|
1 |
|
CS |
PPI |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
SA0 |
PA |
|
ПП |
|
|
SA2-SA0 |
|
|
|
A0 |
|
|
|||
|
|
|
|
|
|
||||
|
|
|
|
SA1 |
A1 |
PB |
DI |
D0 |
|
|
ПП |
|
|
|
RD |
PC |
|
|
|
|
|
|
BD7 |
WR |
|
DB |
ШУ/Д |
||
|
|
|
|
D7 |
|
E |
|
||
SD7-SD0 |
B |
A BD7-BD0 |
BD0 |
... |
PB |
|
|
||
D0 |
|
|
|
|
|||||
|
T |
|
|
|
RST |
|
|
|
|
|
CS |
|
|
|
I8250 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
PCI |
К170АП2 |
|
|
-IOR |
1 |
|
|
SA0 |
Y |
TxD |
|
TxD |
|
|
|
SA1 |
A0 |
DTR |
|
DTR |
|
||
|
|
|
|
A1 |
RTS |
|
RTS |
|
|
-IOW |
1 |
|
|
SA2 |
A2 |
|
К170УП2 |
|
|
|
|
|
RD |
RI |
|
|
|||
|
|
|
|
|
|
RI |
|
||
|
|
|
|
|
WR |
|
|
||
|
|
|
|
BD7 |
DCD |
|
DCD |
|
|
|
|
|
|
D7 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
RESET |
|
|
|
|
... |
DSR |
|
DSR |
|
|
|
|
BD0 |
CTS |
|
CTS |
|
||
|
|
|
|
D0 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
TC c f=1.19 МГц |
CLK |
RxD |
|
RxD |
|
|
|
|
|
|
IRQ11 |
INT |
|
|
|
|
Рис. 6.29 Структурная схема контроллера последовательно-параллельного
интерфейса
В структурной схеме контроллера для связи микросхемы I8255 с периферией применяется приемопередатчик типа ИП6, входы/выходы DB которого подключаются к шине управления/данные (ШУ/Д). Для реализации интерфейса RS-232 микросхемы I8250 используются драйверы К170 АП и приемники К170 УП2.
6.12. Контроллер ISA/ИРПР
Рассмотрим принцип построения контроллера ISA/ИРПР, особенностью которого является то, что в качестве ДшУС используется ПЗУ и предусматри-
166
вается возможность подключения одного из нескольких ПУ, каждое из которых может быть источником и приемником информации, источником или приемником. Основное внимание здесь будет уделено вопросам синхронизации двунаправленнойпередачиданныхмеждупроцессоромиПУчерезконтроллерISA/ИРПР. Связь ПУ с контроллером выполняется с помощью интерфейса радиального парал-
Шина ISA |
КОН |
|
|
|
ПУ |
|||
|
|
Д |
Пр |
|
Д |
Ис |
||
|
8 |
|
8 |
|
||||
|
|
(Ввод) |
|
(Чтение) |
||||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
|
|
Д |
Ис |
|
Д |
Пр |
||
|
|
|
(Вывод) |
|
|
(Запись) |
||
|
8 |
|
8 |
|||||
|
|
|
|
|
|
|
|
|
лельного (ИРПР). Контроллер осуществляет режим программного обмена данными через прерывание или опрос флага готовности. Общая схема связи ПУ, контроллера (КОН) и шины ISA показана на рис. 6.30.
Рис. 6.30. Общая схема связи ПУ, КОН и шины ISA
Контроллер содержит две основные части: приемник (Пр) и источник (Ис). Приемник выполняет чтение данных из ВУ и ввод данных в процессор, а источник
– вывод данных из процессора и запись их в приемник ВУ.
Из схемы видно, что источник (приемник) может быть как в контроллере, так и в ВУ. Местонахождение приемника (источника) определяется режимом ввода или вывода. Как уже отмечалось, ПУ подключается к контроллеру через интерфейс ИРПР.
Интерфейс ИРПР имеет следующие основные сигналы:
SC-AL и SC-SL – стробы источника при вводе и выводе соответ-
ственно;
AC-AL и AC-SL – запрос приемника при вводе и выводе соответ-
ственно;
A0-AL и A0-SL – готовность приемника при вводе и выводе соответ-
ственно;
167
D7-AL…D0-AL – данные ввода;
D7-SL…D0-SL – данные вывода.
В обозначениях сигналов буква А указывает на режим ввода сигнала, а буква L – на активный низкий уровень, буква S – на режим вывода. С учетом обозначенийсигналовсхемасвязиПУиконтроллераимеетвид,представленныйнарис. 6.31.
КОН |
ПУ |
|
|
S0-AL (ГОТ) |
|
|
|
Пр |
AC-AL (ЗАП) |
Ис |
|
Д |
D7-AL...D0-AL |
|||
(Ввод) |
(Чтение) |
|||
8 |
SC-AL (СТР) |
|||
|
|
|||
|
|
A0-SL (ГОТ) |
|
|
|
Ис |
AC-SL (ЗАП) |
Пр |
|
Д |
D7-SL...D0-SL |
|||
(Вывод) |
(Запись) |
|||
8 |
SC-SL (СТР) |
|||
|
|
Рис. 6.31. Схема связи ПУ и КОН
Принцип действия ИРПР прост: при наличии сигнала готовности Пр устанавливает сигнал запроса, а Ис отвечает передачей данных (Д) и с некоторой задержкой сигналом строб записи.
Контроллер содержит четыре адресуемых регистра, с помощью которых процессор обменивается данными с ПУ. Эти регистры имеют следующие обозначения:
-2-битный регистр управления/состояния ввода (РУ/С Вв);
-8-битный регистр данных ввода (РД Вв);
-2-битный регистр управления/состояния вывода (РУ/С Выв);
-8-битный регистр данных вывода (РД Выв).
Сцелью упрощения рисунков РУ/С взяты 2-битными.
Выбор соответствующего регистра в контроллере определяется индексом (последней 16-ричной цифрой адреса).
168
В табл. 6.9 представлены индексы и тип доступа соответствующих
портов.
|
|
|
Таблица 6.9 |
|
|
|
|
|
|
Порт |
Ин- |
До- |
Сигналы |
|
декс (h) |
ступ |
ДшУС |
||
|
||||
|
|
|
|
|
РД Вв |
0 |
R |
IN0 |
|
|
|
|
|
|
РД Выв |
1 |
W |
OUT1 |
|
|
|
|
|
|
РУ/С Вв |
2 |
W/R |
OUT2/IN2 |
|
|
|
|
|
|
РУ/С |
3 |
W/R |
OUT3/IN3 |
|
Выв |
||||
|
|
|
||
|
|
|
|
|
Примечание: IN - ввод, OUT – вывод. |
|
|||
Полный адрес порта ПУ, например РД Вв, равен 220h. К контроллеру может быть подключено одно из трех различных ПУ, базовые адреса которых 220h, 230h и 240h.ВыборзаданногоПУосуществляетсяспомощьюперемычекинаборногополя, находящихся в ДшА, который будет рассмотрен ниже.
Форматы РУ/С Вв и РУ/С Выв представлены на рис. 6.32.
ФГВв (D1) |
РПВв (D0) ФГВыв (D1) РПВыв (D0) |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
РУ/СВв |
|
|
|
|
РУ/СВыв |
|
|
D1 |
D0 |
D1 |
D0 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Уст ПУ Уст П
Рис. 6.32. Форматы РУ/С Вв и РУ/С Выв
Бит D1 РУ/С Вв (Выв) устанавливается (Уст) ПУ и на выходе триггера формируется сигнал флаг готовности (ФГ) Вв (Выв), а бит D0 – процессором (П) и на выходе триггера формируется сигнал разрешения прерывания (РП) Вв (Выв). Если выполняется вывод данных, то сброс ФГ Выв осуществляется при записи данных в
169
РД Выв, и наоборот, если производится ввод данных, то сброс ФГ Вв выполняется при чтении данных из РД Вв.
Структурная схема контроллера изображена на рис. 6.33.
ISA |
|
|
|
IN0 |
|
|
IOW |
|
OUT1 |
|
|
IOR |
ДшУС |
OUT2 |
|
|
SA1,SA0 |
IN2 |
|
SA9-SA2 |
|
|
|
OUT3 |
|
ДшА |
SEL |
|
IN3 |
AEN |
|
|
IN |
|
|
|
|
||
SD7-SD0 |
|
|
|
|
ИРПР |
|
IRQ11 |
IRQ12 |
|
|
|
УВВ |
|
|
D7-AL...D0-AL |
|
|
|
|
D7-SL...D0-SL |
|
РДВв |
РУ/СВв |
|
|
|
|
|
|
SC-AL, S0-AL |
|
РДВыв |
РУ/СВыв |
|
A0-SL, AC-SL |
|
|
|
|
AC-AL, SC-SL
Рис. 6.33. Структурная схема контроллера ISA/ИРПР ДешифраторДшАпредназначендлядешифрированияадресаПУ,подключен-
ного к контроллеру. ДшА принимает старшую часть адреса и формирует на выходе SEL (выбор ПУ). Младшие биты адреса SA1 и SA0 используются для выбора одного из четырех регистров (портов). ДшУС вырабатывает следующие сигналы в соответствии с табл. 6.9:
-чтение РД Вв (IN0);
-запись в РД Выв (OUT1);
-запись в РУ/С Вв (OUT2);
-чтение РУ/С Вв (IN2);
-запись в РУ/С Выв (OUT3);
-чтение РУ/С Выв (IN3);
-общее чтение (IN).
Сигнал IN формируется, если вырабатывается IN0, IN2 или IN3. Устройство ввода-вывода (УВВ) содержит четыре адресуемых регистра, с помощью которых процессор обменивается данными с ПУ.
Двоичный эквивалент старшей части адреса показан на рис. 6.34, где символом “*” обозначены изменяемые биты базовых адресов (220h, 230h и 240h).
