Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Avdeev

.pdf
Скачиваний:
158
Добавлен:
01.06.2015
Размер:
1.99 Mб
Скачать

110

 

 

 

 

 

 

 

 

 

PAR#

CK

CLK

 

P1

ЧтР1

 

 

PERR#

 

 

 

 

 

 

 

 

E

 

 

 

 

 

 

 

в ВУ

AD(31-0)

 

 

 

 

 

 

 

 

 

 

 

STB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗпР1

ФОР

 

РА

A(31-3)

 

ДшА ВыбВУ

 

 

 

 

 

 

 

A2

 

 

 

 

 

 

 

 

 

 

 

C

A1,A0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ФОР

 

РК

 

 

ДшНБ

 

Р2

 

C/BE(3-0)#

 

 

 

E

 

 

 

 

 

 

в ВУ

 

 

 

 

 

 

 

 

C

 

 

 

 

STB

ЧтР2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стр А/К

 

 

 

 

ЗпР2

 

 

 

 

ДшК

 

ДшУС

ЗпР1

FRAME#

БУ

 

 

ЧтВв/Выв

 

 

 

 

ЧтР1

CLK

 

 

 

 

ЗпВв/Выв

 

ЗпР2

IRDY#

 

 

 

 

 

ЧтР2

 

 

 

 

 

 

 

 

 

 

 

 

ОбЧт

TRDY#

 

 

 

 

 

 

 

 

 

 

 

 

ОбЗп

DEVSEL#

 

 

 

Стр Зп/Чт

 

 

 

 

 

 

 

 

Рис. 5.7. Структурная схема исполнителя шины PCI

блок управления (БУ). БУ формирует сигнал строб адреса/команды (СтрА/К) по положительному фронту первого CLK установленного FRAME#, т.е. когда сигналы адреса на линиях AD(31-0) и команды на линиях C/BE(3-0)# являются стабильными. По сигналу СтрА/К происходит запоминание адреса в регистре адреса (РА) и команды в регистре команды (РК). Запоминание этой информации связано с тем, что минимальный период такта CLK равен 30 нс и для гарантированной дешифрации адреса его не хватает. Обычно на “медленных” мультиплексированных системных шинах A/D сначала дешифруют адрес, а затем запоминают результат дешифрации и младшие биты адреса, выбирающие нужные регистры в исполнителе. В схеме исполнителя дешифратор адреса (ДША) декодирует общую старшую часть адреса и формирует сигнал выбора (ВыбВУ). Кроме того, значения (0 и 1) бита адреса А2 осуществляют соответствующий выбор регистров Р1 и Р2. Биты адреса А1 и А0 с помощью дешифратора номера байта (ДшНБ) управляют разрешением передачи соответствующего байта в формате данных. Кроме того, дешифратор команд (ДшК)

111

декодирует 4-битный код команды и формирует сигнал чтения ввода/вывода (ЧтВв/Выв) или запись ввода/вывода (ЗпВв/Выв). Дешифратор управляющих сигналов (ДшУс) в соответствии с входной информацией формирует сигнал записи в Р1 (ЗпР1), чтения Р1 (ЧтР1) , ЗпР2, ЧтР2, общего чтения (ОбЧт) или общей записи (ОБЗп). Сигнал ОбЧт вырабатывается, если установлен ЧтР1 или ЧтР2. Для формированиясигналовЧтР1,ЧтР2,ЗпР1,ЗпР2внужныймоментвремениБУвырабатывает сигнал строб записи/чтения (СтрЗп/Чт), если установлены сигналы ВыбВУ, IRDY# и соответствующий импульс CLK. Передний фронт сигнала DEVSEL# устанавливаетсяодновременносфронтомсигналаВыбВУ,азаднийфронтснимается,кактолько будет снят сигнал IRDY# (см. рис. 5.2 и 5.3). При выполнении операции чтения данных сигнал TRDY# устанавливается одновременно с передачей данных от исполнителя к инициатору и сбрасывается после снятия инициатором сигнала IRDY#.

Если выполняется операция записи данных в какой-либо регистр исполнителя, то необходимо за 30 нс (до прихода данных) выполнить дешифрацию адреса (сформировать сигнал ВыбВУ).

При отсутствии возможности выполнить это условие следует на один такт задержать формирование TRDY#, т.е. ввести такт ожидания в работе инициатора. В схеме не используется приемопередатчик данных, вносящий задержку как, например, в контроллерах шины ISA, здесь вместо него применяются два формирователя (ФОР) с тремя состояниями. Кроме того, при чтении данных схема контроля (СК) формирует выходной сигнал PAR# , а при записи данных она сравнивает входной сигнал PAR# с результатом проверки принимаемых данных на четность. Если обнаружена ошибка, то устанавливается сигнал PERR#.

Стандарт шины PCI предусматривает наличие отдельного адресного пространства конфигурации, используемого специальными программами. Для выполнения автоконфигурации, обработки катастрофических ошибок, инициализации устройств и мостов, подключенных к шине PCI, каждому устройству отводится 256байтная память, имеющая следующий формат заголовка конфигурации (рис. 5.8).

В формате заголовка первые 16 байтов являются стандартными для PCI устройств, а следующие 48 байтов могут иметь различные размещения в зависимости от базовых функций этих устройств. Специфические (произвольные) сведения об устройствах записываются в байтах памяти конфигурации в диапазоне 64-256.

112

31

 

 

16

15

 

 

 

0

 

Идентификатор устройства

Идентификатор изготовителя

00h

 

 

 

 

 

 

 

 

 

 

 

 

Состояние

 

 

Команда

04h

 

 

 

 

 

 

 

 

 

 

 

 

Код класса устройства

 

Номер версии

08h

 

 

 

 

 

 

 

 

 

 

 

Встроенный

Тип заголовка

Таймер

 

Размер КЭШ

0Ch

 

тест

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10h

 

 

 

 

 

 

 

 

 

 

14h

 

 

 

 

БАЗОВЫЕ

АДРЕСА

 

 

18h

 

 

 

 

 

 

 

 

 

 

1Ch

 

 

 

 

 

 

 

 

 

 

20h

 

 

 

 

 

 

 

 

 

 

24h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

РЕЗЕРВ

 

 

28h

 

 

 

 

 

 

 

 

 

 

2Ch

 

 

 

 

 

 

 

 

 

 

Базовый адрес расширения ПЗУ

30h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

РЕЗЕРВ

 

 

34h

 

 

 

 

 

 

 

 

 

 

38h

 

 

 

 

 

 

 

 

Установка таймера

 

Вывод прерывания

 

Линия прерывания

3Ch

 

 

 

 

 

 

 

 

 

 

 

Рис. 5.8. Формат заголовка конфигурации

Идентификаторы устройства и изготовителя определяют соответственно тип (номер) устройства и его изготовителя.

В поле состояния (16-битном регистре состояния) отмечаются события, происходящие на шине PCI, например, установка устройством сигнала SERR# (системная ошибка), обнаружение устройством ошибки паритета (PAR), завершение целью транзакции с ошибкой (адресат-аборт), завершение мастером операции, на которую не отвечает цель (мастер-аборт) и т.д. Транзакция – событие на шине, состоящее из фазы адреса и одной или нескольких фаз данных.

113

Поле команды (16-битный регистр команды) выполняет некоторое управление работой устройства и использует младшие 10 битов, в которых разрешаются или запрещаются доступы к вводу-выводу, шине PCI, памяти, регистрам палитры видеоадаптера типа VGA и задаются другие функции управления.

Кодыклассаустройствсодержаткодыбазовогокласса(старшиебайтысосмещением 0Bh), которые на крупном уровне определяют классы устройств.

Различают следующие классы устройств и их коды: контроллеры запоминающих устройств (01h), сетевые контроллеры (02h), дисплейные адаптеры (03h), мультимедийные устройства (04h), контроллеры памяти (05h) и мосты (06h).

Средний байт (смещение 0Аh) кода класса содержиткод подклассаустройств. Например, для базового класса 01h контроллеру SCSI соответствует подкласс 00h, контроллеру IDE – подкласс 01h, контроллеру гибкого диска – подкласс 02h и т.д.

Младший бит (смещение 09h) определяет интерфейс программирования на уровне регистра. Обычно этот байт равен 00h.

Базовый класс мостов (код 06h) имеет следующие подклассы: главный мост

(00h), ISA мост (01h), EISA мост (02h), MC мост (03h), PCI-PCI мост (04h) и пр.

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

Тип заголовка указывает, является ли данное устройство однофункциональным или многофункциональным и определяет структуру всех остальных байтов формата заголовка, начиная с адреса 10h. Для приведенного формата заголовка код типа заголовка равен 00h.

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

Размер КЭШ задается числом 32-битных данных и необходим с целью определения границы пакетной передачи данных.

Базовые адреса позволяют определить наличие различных устройств, присоединяемых к шине PCI, объем используемой памяти, адресное пространство контроллеров ввода/вывода. Шесть 32-битных регистров отведены под базовые адреса,

114

начиная со смещения 10h. Бит 0 в базовых регистрах указывает на его отношение к памяти (0) или вводу/выводу (1). В базовом регистре памяти указывается расположение базового адреса, например, в 32-битных или 64-битных адресных пространствах и значение базового адреса. Значение базового адреса ввода/вывода хранится в соответствующем регистре базового адреса с битом 0, равным 1.

Смещение 30h указывает на базовый адрес расширения ПЗУ и разрешение дешифрации адреса.

Регистр установки таймера (2 байта) предназначен для задания длительности пакетного периода и частоты доступа к шине PCI. В регистре вывод прерывания (8 бит) определяется, какой сигнал прерывания используется устройством, например, значение 1 соответствует сигналу INTA#, значение 2 – сигналу INTB# и т.д. Регистр линии прерывания хранит информацию о соединении вывода прерывания устройства со входом системного контроллера прерывания, т.е. сообщается номер запроса системного контроллера прерывания.

Выбор адресного пространства конфигурации любого устройства PCI выполняется с помощью интерфейсного сигнала IDSEL. Сигнал IDSEL формирует главный мост (дизайнер системы) или мост PCI-PCI и этот сигнал достоверен (устойчив) только в первом такте CLK установки сигнала FRAME# (в фазе адреса) при выполнении команды конфигурации. Для расширения числа подключаемых к шине устройств предусмотрена возможность соединения вывода IDSEL через резистор с одной из старших адресных линий (не используемых при доступе к памяти конфигурации) для выбора соответствующего устройства PCI. Каждый сигнал IDSEL выбирает соответствующее ему устройство PCI.

Временная диаграмма чтения памяти конфигурации представлена на рис. 5.9.

115

CLK

FRAME#

AD

IDSEL

*

*

C/BE#

IRDY#

TRDY#

* - неопределенное состояние

Рис. 5.9. Чтение памяти конфигурации

ТаккакшиныPCIмогутбытьиерархическоготипа,состоящегоизнескольких шин, разделенных мостами, то предусмотрены 2 типа доступа (041) со стороны моста (главного или PCI-PCI) к устройствам (целям) PCI. При доступе типа 0 (в пределах одной шины PCI) мост содержит два порта: 32-битный регистр адреса конфигурации (CF8h) и 32-битный регистр данных конфигурации (CFCh), с помощью которых выполняется обращение к памяти конфигурации устройства PCI. В регистре адреса конфигурации биты D1D0, равные значениям 00, определяют тип доступа 0. Биты D7-D2 задают номер регистра памяти конфигурации, биты D10-D8 – номер функции, если устройство PCI многофункциональное, и биты D15-D11 – номер устройства PCI, который может быть преобразован только в одно единичное значение в фазе адреса на одной из линий AD31-AD11 (сигнал IDSEL). На рис. 5.10 представлена схема трансляции содержимого регистра адреса конфигурации (РАК) на линии AD(31-0) шины PCI.

Доступтипа1(доступкустройству надругойшине)определяетсязначениями битов D1 D0, равными 01. При этом обращении используются в регистре PAR биты D23-D16, предназначенные для выбора одной из 128 шин системы.

116

РАК

D31 D30

D24 D23

D16

D15

D11 D10

D8 D7

D2 D1 D0

 

1

 

Резерв

 

Номер

 

 

Номер

 

Номер

 

Номер

00

 

 

 

 

 

шины

 

устройства

 

функции

 

регистра

 

бит разрешения

31

11

10

8 7

2

1

0

 

Значение 1

 

 

 

 

 

00

Шина AD PCI

Рис 5.10. Схема трансляции содержимого РАК на шину AD

Разъем шины PCI показан на рис. 5.11, в котором для удобства размещения номера выводов представлены в двух колонках.

117

Ряд В

Номер

Ряд А

Ряд В

Номер

Ряд А

-12 В

1

-TSTRES

-C/BE 3

26

IDSEL

Test Clock

2

+12 B

AD 23

27

+3,3 B

GND

3

TSTMSLCT

GND

28

AD 22

Test DO

4

Test DO

AD 21

29

AD 20

+5 B

5

+5 B

AD 19

30

GND

+5 B

6

-INTR A

+3,3 B

31

AD 18

-INTR B

7

-INTR C

AD 17

32

AD 16

-INTR D

8

+5 B

-C/BE 2

33

+3,3 B

-PRSNT 1

9

Reserved

GND

34

-FRAME

Reserved

10

+V I/O

-IRDY

35

GND

-PRSNT 2

11

Reserved

+3,3 B

36

-TRDY

GND / Ключ

12

GND / Ключ

-DEVSEL

37

GND

GND / Ключ

13

GND / Ключ

GND

38

-STOP

Reserved

14

Reserved

-Lock

39

+3,3 B

GND

15

-RST

ParityER

40

SDONE

Clock

16

+V I/O

+3,3 B

41

-SBOFF

GND

17

-GNT

SysERR

42

GND

-REQ

18

GND

+3,3 B

43

PAR

+V I/O

19

Reserved

-C/BE 1

44

AD 15

AD 31

20

AD 30

AD 14

45

+3,3 B

AD 29

21

+3,3 B

GND

46

AD 13

GND

22

AD 28

AD 12

47

AD 11

AD 27

23

AD 26

AD 10

48

GND

AD 25

24

GND

GND

49

AD 9

+3,3 B

25

AD 24

GND / Ключ

50**

GND / Ключ

GND / Ключ

51****

GND / Ключ

GND

73

AD 56

AD 8

52

-C/BE

AD 55

74

AD 54

AD 7

53

+3,3 B

AD 53

75

+V I/O

+3,3 B

54

AD 6

GND

76

AD 52

AD 5

55

AD 4

AD 51

77

AD 50

AD 3

56

GND

AD 49

78

GND

GND

57

AD 2

+V I/O

79

AD 48

AD1

58

AD 0

AD 47

80

AD 46

+V I/O

59

+V I/O

AD 45

81

GND

-ACK 64

60

-REQ 64

GND

82

AD 44

+5 B

61

+5 B

AD 43

83

AD 42

+5 B

62

+5 B

AD 41

84

+V I/O

 

 

 

GND

85

AD 40

 

 

 

AD 39

86

AD 38

Reserved

63

GND

AD 37

87

GND

GND

64

-C/BE 7

+V I/O

88

AD 36

-C/BE

65

-C/BE 5

AD 35

89

AD 34

-C/BE

66

+V I/O

AD 33

90

GND

GND

67

PAR 64

GND

91

AD 32

AD 63

68

AD 62

Reserved

92

Reserved

AD 61

69

GND

Reserved

93

GND

+V I/O

70

AD 60

GND

94

Reserved

AD 59

71

AD 58

 

 

 

AD 57

72

GND

 

 

 

Примечание: *12,13 – ключ для 3,3 В; **50,51 – ключ для 5 В. Рис. 5.11. Разъем шины PCI

118

5.3. Контроллер PCI 9060

Для подключения ПУ к шине PCI фирмой PLX Technology разработан однокристальный контроллер PCI9060 широкого назначения. На рис. 5.12 показана общая схема подключения необходимых компонентов к PCI 9060.

Шина PCI

КОНТРОЛЛЕР

ПУ

PCI 9060

ППЗУ

Рис. 5.12. Общая схема подключения компонентов к PCI 9060

PCI 9060 выполняет режим мастера или исполнителя и предназначен для сопряжения с ПУ, в качестве которых могут быть использованы адаптеры (периферийные процессорные системы). Скорость передачи данных в режиме мастер равна 132 Мбайт/с.

PCI 9060 поддерживает 32-, 16или 8- битные раздельные или мультиплексные локальные шины. К шине PCI контроллер подключается без использования внешних формирователей и может устанавливать от нескольких источников запрос на прерывание по шине PCI или по локальной шине, работающей асинхронно по отношению к шине PCI, кроме того, к контроллеру через последовательный интерфейс подключается ППЗУ для передачи информации о конфигурации и инициализации микросхемы PCI 9060, выполненной по технологии КМОП и имеющей 208выводной пластиковый корпус типа QFP.

На рис. 5.13 изображена структурная схема контроллера PCI 9060. Структурная схема содержит два независимых каналов DMA (канал 0 и канал

1), предназначенных для взаимодействия с периферийной памятью. PCI 9060 ис-

119

пользует четыре двунаправленных FIFO для обеспечения пакетного режима без затраты времени на ожидание очереди, причем возможно управление передачей данных со стороны мастера прямого доступа и со стороны исполнителя прямого доступа. Кроме того, в состав оборудования контроллера входят: восемь 32-битных регистров сообщений и два 32-битных регистра прерываний («дверных звонков»), регистры локальной конфигурации, регистры PCI и DMA.

Микропроцессор

809060

Регистры PCI

Регистры локальной конфигурации

Регистры DMA

Регистры

прерывания

Регистры

сообщений

 

 

PCI 9060

 

 

 

Интерфейс

 

Канал 0

исполнителя

 

DMA

прямого

 

 

доступа

 

 

Двунаправлен-

 

 

ный FIFO

 

 

исролнителя

 

Двунаправлен-

прямого

 

ный FIFO

доступа

 

 

 

 

 

Интерфейс

 

 

мастера

 

Канал 1

прямого

 

DMA

доступа

 

 

 

 

 

 

 

 

Двунаправлен-

 

 

ный

 

Двунаправлен-

FIFO

 

ный FIFO

мастера прямого

 

 

доступа

 

 

 

 

 

Рис. 5.13. Структурная схема контроллера PCI 9060

Доступ к перечисленным регистрам контроллера PCI 9060 возможен как со стороны мастера шины PCI, так и со стороны мастера локальной шины путем использования внутренних или внешних схем декодирования адреса. Первый регистр

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]