Аппаратные интерфейсы ПК

         

В компьютере XT использовалась шина


ISA Bus (Industry Standard Architecture) — шина расширения, применявшаяся с первых моделей PC и ставшая промышленным стандартом, В компьютере XT использовалась шина с разрядностью данных 8 бит и адреса — 20 бит. В ком­пьютерах AT ее расширили до 16 бит данных и 24 бит адреса. Конструктивно, как показано на рис. 6.1, шина выполнена в виде двух щелевых разъемов с шагом вы­водов 2,54 мм (0,1 дюйма). В подмножестве ISA-8 используется только 62-контакт­ный слот (ряды А, В), в ISА-16 применяется дополнительный 36-контактный слот (ряды С, D). Шина РС/104, разработанная для встраиваемых контроллеров на базе PC, отличается от обычной ISA только конструктивно. В шине EISA — доро­гом 32-разрядном расширении ISA — используется «двухэтажный» слот, позво­ляющий устанавливать и обычные карты ISA.

Для шины ISA выпущено (и продолжает выпускаться) огромное количество разно­образных карт расширения. Ряд фирм выпускает карты-прототипы (Prototype Card), представляющие собой печатные платы полного или уменьшенного формата с кре­пежной скобой. На платах установлены обязательные интерфейсные цепи — буфер данных, дешифратор адреса и некоторые другие. Остальная часть платы свободна, и здесь разработчик может разместить макетный вариант своего устройства. Эти платы удобны для проверки нового изделия, а также для монтажа единичных экзем­пляров устройства, когда разработка и изготовление печатной платы нерентабельно.

6.1. Шины ISA, EISA и PC/104                                                                           147

 



 

Рис. 6.1. Слот ISA

В каждый момент времени шиной может управлять только одно устройство-задати-чик, обращающееся к ресурсам (портам или ячейкам памяти) устройств-исполните­лей. Шина ISA обеспечивает возможность обращения к 8- или 16-битным регист­рам устройств, отображенным на пространства ввода-вывода и памяти. Диапазон адресов памяти для устройств ограничен областью верхней памяти UM А (АОООО-FFFFFh). Для шины ISA-16 настройками CMOS Setup может быть разрешено пространство между 15-м и 16-м мегабайтом памяти (при этом компьютер не сможет использовать более 15 Мбайт ОЗУ).
Для шины ISA диапазон адресов ввода-вывода сверху ограничен количеством задействованных для дешифрации бит адреса, ниж­няя областью адресов О-FFh недоступна (зарезервирована под устройства системной платы). В PC была принята 10-битная адресация ввода-вывода, при которой линии адреса А[15:10] устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISА ограничивается областью lOOh—3FFh. Впоследствии стали при­менять 12-битную адресацию (диапазон lOOh-FFFh). При этом приходится учи­тывать возможность присутствия на шине старых 10-битных адаптеров, которые «отзовутся» на адрес с подходящими ему битами А[9:0] во всей допустимой области 12-битного адреса четыре раза (у каждого 10-битного адреса будет еще по три 12-битных псевдонима). Полный 16-битный адрес используется только в шинах EISA и PCI.

Шина ISA-8 может предоставить до 6 линий запросов прерываний, ISА-16 — 11. Часть из них могут «отобрать» устройства системной платы или шина PCI.

Шина ISA-8 позволяет использовать до трех 8-битных каналов DMA. На 16-бит­ной шине доступны еще три 16-битных и один 8-битный канал.

Все перечисленные ресурсы шины должны быть бесконфликтно распределены. Бесконфликтность подразумевает выполнение перечисленных ниже условий.



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

¦ Назначенную линию IRQx или DRQx устройство должно держать на низком уров­не в пассивном состоянии и переводить в высокий уровень для активации запро­са. Неиспользуемыми линиями запросов устройство управлять не имеет права, они должны электрически отсоединяться или подключаться к буферу, находя­щемуся в третьем состоянии.


Одной линией запроса может пользоваться только одно устройство. Такая нелепость (с точки зрения схемотехники ТТЛ) была до­пущена в первых PC и из требований совместимости тиражируется до сих пор.

148

Глава 6. Шины и карты расширения

Задача распределения ресурсов для старых адаптеров решалась с помощью джам-перов, затем появились программно конфигурируемые устройства, которые вы­тесняются автоматически конфигурируемыми платами PnP.

Назначение контактов слотов шин ISA и EISA приведено в табл. 6.2 и 6.3. Таблица 6.2. Основной разъем шин ISA-8, ISA-16 и EISA

Ряд В

РЯДА

 

GND

1

IOCHK#

Reset

2

SD7

+5 В

3

SD6

IRQ2/9'

4

SD5

-5 В

5

SD4

DRQ2

6

SD3

-12В

7

SD2

OWS#2

8

SD1

+12В

g

SDO

GND

10

IOCHDRY

SMEMW#

и

AEN

SMEMR#

12

SA19

IOWR#

13

SA18

IORD#

14

SA17

DACK3#

15

SA16

DRQ3

16

SA15

DACK1#

17

SA14

DRQ1

18

SA13

REFRESH»

19

SA12

BCLK

20

SA11

IRO7

21

SA10

IRQ6

22

SA9

IRQ5

23

SA8

IRQ4

24

SA7

IRQ3

25

SA6

DACK2#

26

SA5

TC

27

SA4

BALE

28

SA3

+5 В

29

SA2

Osc

30

SA1

GND

31

SAO

1              В4: XT=IRQ2, AT=IRQ9.

2              В8: XT-Card Selected.

6.1. Шины ISA, EISA и PC/104___________________________________________________ 149

Таблица 6.3. Дополнительный разъем шин ISA-16 и EISA

РядО                       №                    Ряд С

MEMCS16#

1

SBHE#

IOCS16#

2

LA23

IRQ10

3

LA22

IRQ 11

4

LA21

IRQ12

5

LA20

IRQ 15

6

LA19

IRQ14

7

LA18

DACKO#

8

LA17

DRQO

9

MEMR#

DACK5#

10

MEMW#

DRQ5

11

SD8

DACK6#

12

SD9

DRQ6

13

SD10

DACK7#

14

SD11

DRQ7

15

SD12

+5B

16

SD13

MASTER*

17

SD14

GND

18

SD15

<


Сигналы шины ISA естественны для периферийных микросхем фирмы Intel (в стиле семейства 8080). Набор сигналов ISA-8 предельно прост. Программное обращение к ячейкам памяти и пространства ввода-вывода обеспечивают следующие сигналы.

¦     SD[7:0] — шина данных. Иное название сигналов — Data или D.

¦     SA[19:0] (Addr[19:0], A[19:0]) - шина адреса.

¦     AEN — разрешение адресации портов (запрещает ложную дешифрацию адреса в цикле DMA).

¦     IOW# (IOWC#, IOWR#) - запись в порт.

¦     IOR# (IORC#, IORD#) - чтение порта.

¦     SMEMW* (SMEMWR#, SMWTC#) — запись в системную память (в диапазоне ад­ресов 0-FFFFFh).

¦     SMEMR* (SMEMRD#, SMRDC#) — чтение системной памяти (в диапазоне адре­сов 0-FFFFFh).

Ниже перечислены сигналы, относящиеся к сигналам запросов прерывания и ка­налам прямого доступа к памяти.

¦  IRQ2/9, IRQ[3:7] — запросы прерываний. Положительный перепад сигнала

вызывает запрос аппаратного прерывания. Для идентификации источника

высокий уровень должен сохраняться до подтверждения прерывания про­

цессором, что затрудняет разделение (совместное использование) прерыва-

150_____________________________________ Глава 6. Шины и карты расширений

ний. Линия IRQ2/9 в шинах XT вызывает аппаратное прерывание с номером 2, а в AT — с номером 9.

¦     DRQ[1:3] — запросы 8-битных каналов DMA (положительным перепадом).

¦     DACK[1:3]# — подтверждение запросов 8-битных каналов DMA.

¦     ТС — признак завершения счетчика циклов DMA.

Шина имеет и несколько служебных сигналов синхронизации, сброса и регенера­ции памяти, установленной на адаптерах.

¦     IOCHRDY (CHRDY, I/OCHRDY) — готовность устройства, низкий уровень удли­няет текущий цикл (не более 15 икс).

¦     BALE (ALE) — разрешение защелки адреса.


После его спада в каждом цикле про­цессора линии SA[0:19] гарантированно содержат действительный адрес.

¦     REFRESH* (REF#) — цикл регенерации памяти (в XT называется DACKO#).

Сигнал появляется каждые 15 мкс, при этом шина адреса указывает на очеред­ную регенерируемую строку памяти.

¦     ЮСНК# — контроль канала, низкий уровень вызывает NMI CPU (разрешение и индикация в системных портах 061h, 062h).

¦     RESET (RESDRV, RESETDRV) — сигнал аппаратного сброса (активный уровень —высокий).

¦     BCLK (CLK) — синхронизация шины с частотой около 8 МГц. ПУ могут не использовать этот сигнал, работая только по управляющим сигналам записи и чтения.

¦     OSC — несинхронизированная с шиной частота 14,431818 МГц (использова­лась старыми дисплейными адаптерами).

Кроме логических сигналов шина имеет контакты для разводки питания +5, -5, +12 и-12 В.

Дополнительный разъем, расширяющий шину до 16-битной, содержит линии дан­ных, адреса, запросов прерываний и каналов прямого доступа.

¦     SD[15:8] — шина данных.

¦     SBHE# — признак наличия данных на линиях SD[15:8].

¦     LA[23:17] — нефиксированные сигналы адреса, требующие защелкивания по спаду сигнала BALE. Такой способ подачи адреса позволяет сократить задержку. Кроме того, схемы дешифратора адреса памяти плат расширения начинают декодирование несколько раньше спада BALE.

¦     IRQ[10:12], IRQ[14:15] — дополнительные запросы прерываний.

¦     DRQ[5:7] — запросы 16-битных каналов DMA (положительным перепадом).

¦     DACK[5:7]# — подтверждение запросов 16-битных каналов DMA.

¦     DRQO и DACKO* — запрос и подтверждение 8-битного канала DMA, освободившегося от регенерации памяти.

6.1. Шины ISA, EISA и PC/104                                                                                                 151



Перечисленные ниже сигналы связаны с переключением разрядности данных.

¦     МEMCS16#(М16#)— адресуемое устройство поддерживает 16-битные обраще­ния к памяти.

¦     IOCS16* (I/OCS16*, Ю16#) — адресуемое устройство поддерживает 16-битные обращения к портам.

К новым управляющим сигналам относятся следующие.

¦     MEMW# (MWTC#) — запись в память в любой области до 16 Мбайт.

¦     MEMR# (MRDC#) — чтение памяти в любой области до 16 Мбайт.

¦     OWS# (SRDY#, NOWS#, ENDXFR) — укорочение текущего цикла по инициативе адресованного устройства.

¦     MASTER* (MASTER 16#) — запрос от устройства, использующего 16-битный канал DMA на управление шиной. При получении подтверждения DACK [5:7] Bus-Master может захватить шину.

В шине EISA на дополнительных контактах слотов (недоступных картам ISA) располагается расширение шин данных и адреса до 32 бит, а также набор сигна­лов, обеспечивающих передачу данных в синхронном режиме с возможностью пакетных циклов.


Содержание раздела