КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Шины и карты расширения

Если ключ (последовательность из 32 записей требуемых байт) из исходного со¬стояния LFSR будет приложен верно, то после последней записи логика карты перейдет в режим конфигурирования (это еще не состояние config) и подготовит¬ся к отработке протокола изоляции. Точная последовательность байт ключа в hex-формате выглядит следующим образом:
6А, В5, DA, ED, F6.. FB', 7D, BE, DF, 6F, 37, IB, 0D, 86, СЗ, 61, В0, 58, 2С. 16. 8В. 45, А2, D1, Е8. 74, ЗА, 9D, СЕ, Е7, 73. 39

С1
Выход
контрольной
суммы
Начальное значение:
1 1 0 1 0 1
Рис. 6.5. Сдвиговый регистр LFSR карты PnP

168

Глава 6. Шины и карты расширения
Протокол изоляции основан на уникальном последовательном идентификаторе (Serial Identifier), хранящемся в памяти каждой карты PnP. Этот идентификатор представляет собой ненулевое 72тбитное число, состоящее из двух 32-битных по¬лей и 8-битного контрольного кода, вычисляемого с помощью того же регистра LFSR. Первое 32-битное поле представляет собой идентификатор производите¬ля. Второе поле назначается производителем и уникально для каждого экземпляра всех выпускаемых им карт. Здесь может присутствовать серийный номер, а для адаптера Ethernet это может быть и частью МАС-адреса. Принцип построения последовательного идентификатора гарантирует, что в одной системе не могут встретиться две карты с совпадающими идентификаторами. Однако случалось, что незадачливые производители тиражировали (свои ли?) устройства, копируя всю «начинку», включая и серийные номера. Доступ к идентификатору осуществ¬ляется последовательно, начиная с бита 0 нулевого байта идентификатора произ¬водителя и заканчивая битом 7 контрольной суммы. Во время передачи иденти¬фикатора на вход С1 схемы LFSR поступают текущие биты идентификатора, а на вход С2 подаются стробы чтения регистра Serial Isolation (см. ниже). В так¬тах передачи контрольной суммы ее биты берутся с выхода сдвигового регистра.
Протокол изоляции может быть программно инициирован в любой момент време¬ни посылкой корректного ключа инициализации, переводящего все карты в кон¬фигурационный режим. В этом режиме каждая карта ожидает 72 пары операций чтения порта READ_DATA. Ответ каждой карты на эти операции определяется зна¬чением очередного бита ее последовательного идентификатора.
Если текущий бит идентификатора карты имеет единичное значение, то ее буфер шины данных в первом чтении пары выводит на шину данных значение 55Ь. Если текущий бит нулевой, то буфер работает на чтение шины данных и логика карты анализирует ответ других карт — проверяет наличие комбинации «01» в битах D[l:0] (младшие биты числа 55h).

Hosted by uCoz