Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук
0/0

Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук

Уважаемые читатели!
Тут можно читать бесплатно Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук. Жанр: Компьютерное "железо". Так же Вы можете читать полную версию (весь текст) онлайн книги без регистрации и SMS на сайте Knigi-online.info (книги онлайн) или прочесть краткое содержание, описание, предисловие (аннотацию) от автора и ознакомиться с отзывами (комментариями) о произведении.
Описание онлайн-книги Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук:
Книга посвящена аппаратным интерфейсам, использующимся в современных персональных компьютерах и окружающих их устройствах. В ней подробно рассмотрены универсальные внешние интерфейсы, специализированные интерфейсы периферийных устройств, интерфейсы устройств хранения данных, электронной памяти, шины расширения, аудио и видеоинтерфейсы, беспроводные интерфейсы, коммуникационные интерфейсы, вспомогательные последовательные интерфейсы. Сведения по интерфейсам включают состав, описание сигналов и их расположение на разъемах, временные диаграммы, регистровые модели интерфейсных адаптеров, способы использования в самостоятельно разрабатываемых устройствах. Книга адресована широкому кругу специалистов, связанных с эксплуатацией ПК, а также разработчикам аппаратных средств компьютеризированной аппаратуры и их программной поддержки.
Читем онлайн Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 48 49 50 51 52 53 54 55 56 ... 173

Если текущий бит идентификатора карты имеет единичное значение, то ее буфер шины данных в первом чтении пары выводит на шину данных значение 55h. Если текущий бит нулевой, то буфер работает на чтение шины данных и логика карты анализирует ответ других карт — проверяет наличие комбинации «01» в битах D[1:0] (младшие биты числа 55h). В следующем цикле чтения пары карта с единичным битом выводит число AAh, а карта с нулевым текущим битом проверяет наличие комбинации «10».

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

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

Эта последовательность выполняется для всех 72 бит идентификатора. В конце процесса останется лишь одна карта. Записью в управляющий регистр PnP (индекс 06) ей назначается селективный номер CSN, по которому она будет использоваться в дальнейших операциях. Карта с назначенным номером CSN в следующих итерациях протокола изоляции не участвует (на пары чтений не отвечает).

Во время протокола изоляции карты не имеют права удлинять шинные циклы с помощью сигнала IOCHRDY, поскольку это привело бы к неопределенности результатов наблюдения за «соседями». В других режимах этот сигнал может быть использован без особых ограничений.

Программа конфигурирования проверяет данные, возвращаемые во время всех пар циклов чтения, и побитно собирает прочитанный идентификатор. Если в паре приняты байты 55h и AAh, то соответствующий бит считается единичным, в других случаях он считается нулевым. При приеме идентификатора программа подсчитывает контрольную сумму и сравнивает ее с принятой. Несовпадение контрольной суммы или отсутствие среди принятых байт 55h и AAh указывает на то, что выбранный адрес порта READ_DATA конфликтует с каким-либо устройством. Тогда программа пробует произвести итерацию, переместив адрес порта READ_DATA в допустимом диапазоне адресов. Если при переборе нескольких возможных адресов не удается считать корректный идентификатор, то принимается решение об отсутствии карт PnP в системе (вообще или с неназначенными номерами CSN).

Программа должна обеспечивать задержку 1 мс после подачи ключа перед первой парой чтений и 250 мкс между парами чтений. Это дает карте время для доступа к информации, которая может храниться и в медленных устройствах энергонезависимой памяти.

Итак, по завершении протокола изоляции программное обеспечение имеет список идентификаторов обнаруженных карт и присвоенных им селективных номеров, сообщенных и самим картам. Далее общение программы с каждой картой идет по ее селективному номеру CSN, фигурирующему в командах PnP. Нулевой CSN присваивается картам по программному или аппаратному сбросу и используется как широковещательный адрес.

Конфигурирование карт

Конфигурирование карт выполняется обращениями к регистрам PnP. Обращения к регистрам PnP представляют собой операции записи или чтения портов ввода-вывода по адресам WRITE_DATA или READ_DATA соответственно. При этом для указания конкретного регистра PnP используется индекс — номер этого регистра, предварительно записанный в регистр ADDRESS.

Каждая карта имеет стандартный набор регистров PnP, причем часть из них относится к карте в целом, а часть — к каждому логическому устройству, входящему в карту. Архитектура PnP поддерживает концепцию многофункциональности, согласно которой каждая карта может включать в себя несколько логических устройств. В любой момент времени в индексном пространстве регистров PnP отображаются стандартные регистры управления картой (см. ниже) и регистры только одного логического устройства (рис. 6.6). Выбор логического устройства, с которым производится общение, осуществляется записью в регистр Logical Device Number, входящий в группу управляющих регистров карты.

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

Все логические устройства карт PnP должны обеспечивать, по крайней мере, минимальную функциональность:

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

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

♦ если программа пытается «навязать» карте конфигурацию, не поддерживаемую устройством, это устройство не должно активироваться и, соответственно, при чтении его флаг активации должен быть сброшен.

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

Таблица 6.8. Стандартные регистры управления картой PnP

Имя Индекс и тип Назначение Set RD_DATA Port 00H, WO Установка адреса порта для чтения. Биты [7:0] задают значение бит [9:2] адреса порта READ_DATA. Только для записи Serial Isolation 01h, RO Чтение этого регистра в состоянии Isolation приводит к побитному анализу идентификатора Config Control 02h, WO Бит [2] — сброс CSN в 0. Бит [1] — возвращение в состояние Wait for Key. Бит [0] — сброс всех логических устройств и перевод конфигурационных регистров в состояние включения питания, но с сохранением номера CSN. Биты не запоминаются, так что необходимости в их программном сбросе нет Wake[CSN] 03h, WO Запись в этот регистр приведет карту, у которой номер CSN совпадает с записываемым байтом, к переходу из состояния Sleep в состояние Config (если данные не нулевые). Запись нулевого байта переводит все карты с неназначенным номером CSN в состояние 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 Резерв 08h-1Fh Зарезервированы на будущее Card Level, Vendor Defined 20h-2Fh Используются по усмотрению производителя

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

Доступ к регистрам PnP через ключ возможен в любое время функционирования, однако запись в них должна производиться в полной уверенности о знании последствий. Возможно даже переназначение CSN «на ходу», но это требуется лишь в устройствах, допускающих «горячие» включения-выключения (что не приветствуется на шине ISA), док-станциях (Docking Stations) для подключения портативных компьютеров и системах управления энергопотреблением.

1 ... 48 49 50 51 52 53 54 55 56 ... 173
На этой странице вы можете бесплатно читать книгу Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук бесплатно.

Оставить комментарий

Рейтинговые книги