Интерфейсы ПК

       

А.4. Конфигурационные регистры РпР (* - определяется разработчиком)


Рисунок А.4. Конфигурационные регистры РпР (* - определяется разработчиком)

С точки зрения системы РпР карта пребывает в некотором состоянии. Состояние Isolate используется в протоколе изо- ляции, описанном выше.

Программирование карты начинается с команды WAKE[CSN] - записи байта CSN в регистр с индексом 3. Эта операция переводит карту с указанным CSN в состояние Config (конфигурирование), а остальные карты переходят в состояние Sleep. Для карты выполняются операции чтения ее конфигурационной информации (как карты в целом, так и Л У) и программирования используемых ресурсов. Про- граммирование каждого ЛУ завершается установкой его бита активации, после чего оно активизируется на шине ISA. Про- граммирование всей карты завершается переводом ее в со- стояние Wait/or key (ожидание ключа). По окончании кон- фигурирования все карты РпР должны быть переведены в это состояние - тогда их случайное реконфигурирование будет блокировано 32-байтным ключом.

Доступ к регистрам РпР через ключ возможен в любое вре- мя. Возможно переназначение CSN "на ходу" - это требует- ся в устройствах, допускающих динамическое включение/ выключение, док-станциях (Docking Stations) и при управ- лении энергопотреблением.

Все ЛУ карт РпР должны обеспечивать следующую мини- мальную функциональность:

Регистры ресурсов при чтении должны отражать факти- ческие текущие настройки.

Бит активации при чтении должен отражать правдивое состояние активности устройства на шине ISA.

ш Если программа пытается "навязать" карте неподдержи- ваемую конфигурацию, устройство не должно активиро- ваться; соответственно, при чтении его флаг активации должен быть сброшен.

Стандартные регистры управления картой (табл. А.5) исполь- зуются для адресации карты и ее ЛУ, а также для чтения кон- фигурационной информации (дескрипторов). Дескрипторы ресурсов могут быть считаны побайтно из регистра Resource Data. При этом могут использоваться данные в короткой или

длинной форме. Короткая форма (Small Resource Data Type) допускает дескрипторы до 7 байт, длинная форма (Large Resource Data Type) - до 64 Кбайт.
Форма дескриптора и имя описываемого ресурса определяются первым байтом дескрип- тора. Его последующие байты описывают требуемые ресурсы и возможные варианты (диапазоны) конфигурирования.



Регистр

Индекс и тип

Назначение

SetRD DATA Port

OOh.WO

Установка адреса порта для чтения. Биты [7:0] задают значение бит [9:2] адреса порта READJDATA. Только для записи

Serial Isolation

01 h, RO

Чтение этого регистра в состоянии Isolation приводит к побитному ана- лизу идентификатора

Config Control

02h,WO

Бит [2]- сброс CSN в 0 Бит [1] - возврат в состояние Wait forKey Бит [0] - сброс всех ЛУ и перевод конфигурационных регистров в со- стояние включения питания, но CSN сохраняется. Эти биты не запоминаются, так что необходимости в их программном сбросе нет

Wake[CSNJ

03h,WO

Запись в этот регистр приведет карту с записываемым байтом CSN к переходу из состояния Sleep в со- стояние Config (если данные не ну- левые). Запись нулевого байта переводит все карты в состояние Isolation. Указатель последовательно считываемых байт сбрасывается

Resource Data

04h,RO

Чтение этого регистра возвращает очередной байт информации о ре- сурсах. Перед чтением должен опра- шиваться регистр Status

Status

05h, RO

Регистр состояния. Единичное значение бита [0] указывает на воз- можность чтения очередного байта ресурсов

Регистр

Индекс и тип

Назначение

Card Select Number

06h,RW

Регистр хранения селективного адре- са CSN, обеспечивающего выбор кон- кретной карты командой Wake[CSN]

Logical Device Number

07h, RW

Выбор текущего ЛУ, к которому отно- сятся вое операции обмена конфигу- рационной информацией, проверки диапазона адресов ввода/вывода и ак- тивации. Если карта имеет одно устройство, регистр допускает только чтение и всегда имеет нулевое значение

Card Level Reserved

08h-lFh

Зарезервированы

Card Level, Vendor Defined

20h-2Fh

Используются по усмотрению произ- водителя

<


/p>
Регистр

Индекс и тип

Назначение

Activate

30h,RW

Регистр активации: Бит [0] единичным значением раз- решает активность ЛУ на шине ISA. Биты [7:1] зарезервированы, при чтении должны возвращать нули. Перед активацией проверка диапа- зона адресов ввода/вывода должна быть запрещена

I/O Range Check

31 h, RW

Регистр проверки диапазона адресов ввода/вывода: Биты [7:2] зарезервированы, при чте- нии должны возвращать нули Бит [1] - разрешение проверки Бит [0] - управление диагностичес- ким ответом: О-ответААп, 1 - ответ 55h

Logical Device Control Reserved

32h-37h

Зарезервированы

Logical Device Control Vendor Defined

38h-3Fh

Используются по усмотрению произ- водителя

Стандартные регистры управления ЛУ (табл. А.6) исполь- зуются для активации карт и проверки отсутствия конф- ликтов на шине ISA в выбранном диапазоне адресов ввода/ вывода. Когда включен режим проверки конфликтов, на чте- ние по любому адресу установленного диапазона портов вво- да/вывода ЛУ отвечает байтом 55h или AAh в зависимости от состояния бита 0 регистра проверки диапазона адресов. В рабочем режиме этот "автоответчик" отключен.

Оперативные данные конфигурирования доступны через регистры ЛУ. Каждое логическое устройство имеет собствен- ные дескрипторы используемых системных ресурсов:

Обычные 24-битные (4) и 32-битные (4) дескрипторы памяти. Поля базового адреса и длины неиспользуемого дескриптора памяти должны быть нулевыми. Одна кар- та не может одновременно использовать 24-битные и 32-битные дескрипторы памяти.

Дескрипторы областей портов ввода/вывода (8). Поле базового адреса неиспользуемого дескриптора портов вво- да/вывода должно быть нулевым. Размер области адре- сов определяется в блоке данных описателя.

Дескрипторы запросов прерываний (2). Неиспользуемый селектор запроса прерывания должен быть нулевым (ну- левой номер запроса занят системным таймером). Для линии IRQ2/9 шины ISA применяют номер 2.

Дескрипторы каналов прямого доступа к памяти.


Неис- пользуемый дескриптор канала должен иметь значение 4 (этот канал недоступен - используется для каскадирова- ния контроллеров).

Назначение регистров дескрипторов и их положение в ин- дексном пространстве РпР описано в табл. А.7.

Индекс и тип

Назначение

40h-5Fh - Обычные дескрипторы памяти

40h, RW

Дескриптор памяти ft базовый адрес памяти, биты [23:16]

Индекс и тип

Назначение

41h, RW

Дескриптор памяти 0: базовый адрес памяти, биты [15:8]

42h, RW

Дескриптор памяти О: управление. Бит [1] - режим обращения: 0-8 бит, 1 -16 бит. Бит [0] (RO) - способ задания диапазона: 0 - следующее поле воспринимается как размер области, 1 - как старший адрес

43h, RW

Дескриптор памяти 0: размер или старший адрес области, биты [23:16]

44h, RW

Дескриптор памяти 0: размер или старший адрес области, биты [15:8]

45h-47h

Заполнитель (зарезервировано)

48h-4Ch

Дескриптор памяти 1 (аналогично предыдущему)

4Dh-4Fh

Заполнитель (зарезервировано)

50h-54h

Дескриптор памяти 2 (аналогично предыдущему)

55h-57h

Заполнитель (зарезервировано)

58h-5Ch

Дескриптор памяти 3 (аналогично предыдущему)

5Dh-5Fh

Заполнитель (зарезервировано)

60h-6Fh -Дескрипторы пространства ввода/вывода

60h, RW

Дескриптор портов 0: базовый адрес, биты [15:8]. Если ЛУ использует только 10-битное декодирование адреса, биты [15:10] могут игнорироваться

61 h, RW

Дескриптор портов 0: базовый адрес, биты [7:0]

62h-63h, RW

Дескриптор портов 1 - аналогично

64h-65h, RW

Дескриптор портов 2 - аналогично

66h-67h, RW

Дескриптор портов 3 - аналогично

68h-69h, RW

Дескриптор портов 4 - аналогично

6Ah-6Bh, RW

Дескриптор портов 5 - аналогично

6Ch-6Dh, RW

Дескриптор портов 6 - аналогично

6Eh-6Fh, RW

Дескриптор портов 7 - аналогично

Индекс и тип

Назначение

70h-73h - Дескрипторы запросов прерываний

70h, RW

Селектор запроса прерывания 0: Биты [3:0] задают номер линии IRQ

71 h, RW

Тип сигнала запроса прерывания 0-. Бит[1] -активный уровень: 1 - высокий, 0 - низкий Бит[0] - тип: 1 - уровень, 0 - перепад Если карта поддерживает только один тип сигнала, регистр может быть типа RO

72h,RW

Селектор запроса прерывания 1

73h, RW

Тип сигнала запроса прерывания 1

74h-75h - Дескрипторы каналов прямого доступа

74h, RW

Селектор 0 канала DMA. Биты [2:0] задают номер используемого канала (001 -DMAO,... Ill -DMA7)

75h, RW

Селектор 1 канала DMA

76h-A8h - 32-битные дескрипторы памяти

76h, RW

32-битный дескриптор памяти 0: базовый адрес памяти, биты [31:24]

77h, RW

32-битный дескриптор памяти 0: базовый адрес памяти, биты [23:16]

78h, RW

32-битный дескриптор памяти 0'. базовый адрес памяти, биты [15:8]

79h, RW

32-битный дескриптор памяти 0: базовый адрес памяти, биты [7:0]

7Ah,RW

32-битный дескриптор памяти 0: управление Биты [7:3] - зарезервированы, при чтении должны возвращать нули Биты [2:1] - управление доступом: 00 - 8-битная память, 01 - 16-битная память, 10 - зарезервировано, 11 - 32-битная память Бит [0] (RO) - способ задания диапазона: 0 - следующее поле воспринимается как размер области, 1 - следующее поле воспринимается как старший адрес

<


/p>
Индекс и тип

Назначение

7Bh, RW

32-битный дескриптор памяти ( h размер или старший адрес области, биты [31:24]

7Ch, RW

32-битный дескриптор памяти 0: размер или старший адрес области, биты [23:16]

7Dh, RW

32-битный дескриптор памяти 0-. размер или старший адрес области, биты [15:8]

7Eh, RW

32-битный дескриптор памяти 0'. размер или старший адрес области, биты [7:0]

7Fh

Заполнитель (зарезервировано)

80h-88h

32-битный дескриптор памяти 1

89h-8Fh

Заполнитель (зарезервировано)

90h-98h

32-битный дескриптор памяти 2

99h-9Fh

Заполнитель (зарезервировано)

AOh-A8h

32-битный дескриптор памяти 3


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