Скачиваний:
117
Добавлен:
15.09.2014
Размер:
2.71 Mб
Скачать

В совокупности уровнихостаимеютследующие возможности:

обнаружение подключения и отсоединения устройств USB;

манипулирование потоками управления между устройствами и хостом;

манипулирование потоками данных;

сбор статистики активности и состояний устройств;

управлениеэлектрическим интерфейсом между хост-контроллером иустрой ствами USB, включая управление электропитанием.

Хост-контроллер является аппаратным посредником между устройствами USB и хостом. Программная часть хоста в полном объеме реализуется операционной системой. До загрузки ОС может функционировать лишь усеченная часть ПО USB, поддерживающая только устройства, требующиеся для загрузки. Так, в BIOS современных системных плат имеется поддержка клавиатуры USB, реализующая функции сервиса Int 10h. При загрузке системы USB эта «дозагрузочная» поддержка игнорируется — система начинает работу с контроллером «с чистого листа», то есть со сброса и определения всех подключенных устройств. По окончании работы ОС передача состояния USB «дозагрузочной» поддержке не предусматривается, так что для нее это событие тоже может рассматриваться как первоначальное включение. В спецификации РС'2001 выдвигается требование к BIOS поддержки USB в такой мере, чтобы обеспечивалась загрузка ОС с устройств USB. USB поддерживает динамическое подключение и отключение устройств. Нумерация (перенумерация) устройств шины идет постоянно, отслеживая изменения физической топологии.

Все устройства подключаются через порты хабов. Хабы определяют подключение и отключение устройств к своим портам и сообщают состояние портов при запросе от контроллера. Хост разрешает работу порта и адресуется к устройству через канал управления, используя нулевой адрес — USB Default Address. При начальном подключении или после сброса все устройства адресуются именно так.

Хост определяет, является новое подключенное устройство хабом или функцией, и назначает ему уникальный адрес USB. Хост создает канал управления (control pipe) с этим устройством, используя назначенный адрес и нулевой номер точки назначения.

Если новое устройство является хабом, хост определяет подключенные к нему устройства, назначает им адреса и устанавливает каналы. Если новое устройство является функцией, уведомление о подключении передается диспетчером USB заинтересованному ПО.

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

4.2. Шина IEEE 1394 - FireWire

Стандарт для высокопроизводительной последовательной шины (High Performance Serial Bus), получивший официальное название IEEE 1394, был принят в 1995 году. Целью являлось создание шины, не уступающей параллельным шинам при существенном удешевлении и повышении удобства подключения (за счет перехода на последовательный интерфейс). Стандарт основан на шине FireWire, используемой Apple Computer в качестве дешевой альтернативы SCSI в компьютерах Macintosh и PowerMac. Название FireWire («огненный провод») теперь применяется и к реализациям IEEE 1394, оно сосуществует с кратким обозначением 1394. Другое название того же интерфейса — iLink, а иногда и Digital Link — используется фирмой Sony применительно к устройствам бытовой электроники. MultiMedia Connection — имя, используемое в логотипе 1394 High Performance Serial Bus Trade Association (1394TA).

Стандарт 1394 определяет три возможные частоты передачи сигналов по кабелям: 98,304, 196,608 и 393,216 Мбит/с, которые округляют до 100, 200 и 400 Мбит/с. Частоты в стандарте обозначаются как S100, S200 и S400 соответственно. В последней утвержденной ревизии стандарта, Р1394-2000, новых скоростей (S800, S1600 и S3200) еще не появилось, и сейчас 1394 сосуществует с шиной USB, для которой в спецификации USB 2.0 уже определена скорость 480 Мбит/с.

Основные свойства шины FireWire перечислены ниже.

. Многофункциональность. Шина обеспечивает цифровую связь до 63 устройств без применения дополнительной аппаратуры (хабов). Устройства бытовой электроники — цифровые камкордеры (записывающие видеокамеры), камеры для видеоконференций, фотокамеры, приемники кабельного и спутникового телевидения, цифровые видеоплейеры (CD и DVD), акустические системы, цифровые музыкальные инструменты, а также периферийные устройства компьютеров (принтеры, сканеры, устройства дисковой памяти) и сами компьютеры могут объединяться в единую сеть.

Высокая скорость обмена и изохронные передачи. Шина позволяет даже на на

чальном уровне (S100) передавать одновременно два канала видео (30 кадров в секунду) широковещательного качества и стерео-аудиосигнал с качеством CD.

Низкая цена компонентов и кабеля.

Легкость установки и использования. FireWire расширяет технологию PnP. Система допускает динамическое (горячее) подключение и отключение устройств. Устройства автоматически распознаются и конфигурируются при включении/ отключении. Питание от шины (ток до 1,5 А) позволяет подключенным устройствам общаться с системой даже при отключении их питания. Управлять шиной и другими

устройствами могут не только PC, но и другие «интеллектуальные» устройства бытовой электроники.

FireWire по инициативе VESA позиционируется как шина «домашней сети», объединяющей всю бытовую и компьютерную технику в единый комплекс. Эта сеть является одноранговой (peer-to- peer), чем существенно отличается от USB.

4.2.1. Физический уровень сети

Кабельная сеть 1394 собирается по простым правилам — все устройства соединяются друг с другом кабелями по любой топологии (древовидной, цепочечной, звездообразной). Каждое «полноразмерное» устройство (узел сети) обычно имеет три равноправных соединительных разъема. Некоторые малогабаритные устройства могут иметь только один разъем, что ограничивает возможные варианты их местоположения. Стандарт допускает и до 27 разъемов на одном устройстве, которое будет играть роль кабельного концентратора. Допускается множество вариантов подключения устройств, но со следующими ограничениями:

между любой парой узлов может быть не более 16 кабельных сегментов;

длина сегмента стандартного кабеля не должна превышать 4,5 м;

суммарная длина кабеля не должна превышать 72 м (применение более качественного кабеля позволяет ослабить влияние этого ограничения);

топологиянедолжнаиметьпетель, хотявпоследующихревизияхпредполага ется автоматическое исключение петель в «патологических» конфигурациях.

Стандартный кабель 1394 содержит 6-проводов, заключенных в общий экран, и имеет однотипные 6-контактные разъемы на концах (рис. 4.6, а). Две витые пары используются для передачи сигналов (ТРА и ТРВ) раздельно для приемника и передатчика, два провода задействованы для питания устройств (8-40 В, до 1,5 А). В стандарте предусмотрена гальваническая развязка устройств, для чего используются трансформаторы (напряжение изоляции развязки до 500 В) или конденсаторы (в дешевых устройствах с напряжением развязки до 60 В относительно общего провода). Некоторые бытовые устройства имеют только один 4-контактный разъем меньшего размера (рис. 4.6, б), у которого реализованы

только сигнальные цепи. Эти устройства подключаются к шине через специальный переходной кабель только как оконечные (хотя возможно применение специальных адапте-ров-разветвителей). В кабелях FireWire сигнальные пары соединяются перекрестно (табл. 4.2), поскольку все порты равноправны.

 

 

 

 

а

 

 

б

 

Рис. 4.6. Разъемы FireWire: а — 6-контактное гнездо, б — 4-контактное гнездо

 

Таблица 4.2. Соединительные кабели FireWire

 

 

 

 

 

 

 

 

 

 

Разъем А

 

 

 

Провод

Разъем Б

 

 

 

 

 

 

 

 

 

 

4-конт.

 

6-конт.

Цепь

 

Цепь

6-конт.

4-конт.

 

 

 

 

 

 

 

 

-

 

1

Power

Белый

Power

1

 

 

 

 

 

 

 

 

 

-

 

2

GND

Черный

GND

2

 

 

 

 

 

 

 

 

 

1

 

3

УРЕ-

Красный

ТРА-

5

3

 

 

 

 

 

 

 

 

2

 

4

ТРЕ*

Зеленый

ТРА+

6

4

 

 

 

 

 

 

 

 

3

 

5

ТРА-

Оранжевый

ТРВ-

3

1

 

 

 

 

 

 

 

 

4

 

6

УРА*

Синий

ТРВ+

4

2

 

 

 

 

 

 

 

 

Экран

 

Экран

Экран

Экран

Экран

Экран

Экран

 

 

 

 

 

 

 

 

В грядущей версии, которая пока называется Р 1394Ь, предусматриваются и новые варианты среды передачи:

кабель UTP категории 5 со стандартными коннекторами RJ-45 (используются две пары проводов), длина сегмента до 100 м — дешевый вариант для S100;

пластиковое оптоволокно (два волокна POF для небольших расстояний и HPCF для больших дистанций) — дешевый вариант для S200;

многомодовое оптоволокно (два волокна 50 мкм) — более дорогой вариант для будущих скоростей вплоть до S3200.

Каждое устройство, имеющее более одного разъема 1394, является повторителем. Сигнал, обнаруженный на входе приемника с любого разъема, ресинхронизиру-ется по внутреннему тактовому генератору и выводится на передатчики всех остальных разъемов. Таким образом осуществляется доставка сигналов от каждого устройства ко всем остальным и предотвращается накопление «дрожания» (jitter) сигнала, ведущее к потере синхронизации.

Стандарт 1394 определяет две категории шин: кабельные шины и кросс-шины (Backplane). Под кросс-шинами подразумеваются обычно параллельные интерфейсы, объединяющие внутренние подсистемы устройства, подключенного к кабелю 1394. Сеть может состоять из множества шин, соединенных мостами — специальными устройствами, осуществляющими передачу пакетов между шинами, фильтрацию трафика, а для соединения разнородных шин еще и необходимые преобразования интерфейсов. Интерфейсная карта шины FireWire для PC представляет собой мост PCI — 1394. Мостами являются также соединения кабельной шины 1394 с кросс-шинами периферийных устройств. Мосты могут соединять и кабельные шины, что расширяет топологические возможности соединения устройств.

4.2.2. Протокол IEEE 1394

Протокол 1394 реализуется на трех уровнях (рис. 4.7).

Уровень транзакций (Transaction Layer) преобразует пакеты в данные, пре доставляемые приложениям, и наоборот. Он реализует протокол запросов-

ответов, соответствующий стандарту ISO/IEC 13213:1994 (ANSI/IEEE 1212,

редакции 1994 г.) архитектуры регистров управления и состояния CSR (Control and Status Register) для микрокомпьютерных шин (чтение, запись, блокировка). Это облегчает связь шины 1394 со стандартными параллель нымишинами.

Уровень связи (Link Layer) из данных физического уровня формирует пакеты ивыполняетобратныепреобразования. Онобеспечиваетобменузловдатаграммамисподтверждениями. Уровеньотвечает запередачу пакетовиуправление изохронными передачами.

Рис. 4.7. Трехуровневая структура FireWire

Физический уровень (Physical Layer) вырабатывает и принимает сигналы шины. Он обеспечивает инициализацию и арбитраж, предполагая, что в любой момент времени работает только один передатчик. Уровень передает потоки данных и уровни сигналов последовательной шины вышестоящему уровню. Между этими уровнями возможна гальваническая развязка, при которой микросхемы физического уровня питаются от шины. Гальваническая развязка необходима для предотвращения паразитных контуров общего провода, которые могут появиться через провода защитного заземления блоков питания.

Аппаратная часть FireWire обычно состоит из двух специализированных микросхем — трансиверов физического уровня PHY Transceiver и моста связи с шиной LINK Chip. Связь между ними возможна, например, по интерфейсу IBM-Apple LINK-PHY. Микросхемы уровня связи выполняют все функции своего уровня и часть функций уровня транзакций; остальная часть уровня транзакций выполняется программно.

Для передачи асинхронных сообщений используется 64-битная адресация регистров устройств 1394. В адресе выделяется 16 бит для адресации узлов сети: 6-битное поле идентификатора узла допускает до 63 устройств в каждой шине; 10-битное поле идентификатора шины допускает использование в системе до 1023 шин разного типа (включая внутренние), соединенных мостами. Протокол шины позволяет обращаться к памяти (регистрам) устройств в режиме DMA. В адресном пространстве каждого устройства имеются конфигурационные регистры, в которых содержится вся информация, необходимая для взаимодействия с ним других устройств. Данные передаются пакетами, в начале каждого пакета передаются биты состояния арбитража. Устройство может передавать данные только после успешного прохождения арбитража. Имеются два

основных типа передач данных — изохронный, ради которого и строилась шина, и асинхронный. Изохронные передачи обеспечивают гарантированную полосу пропускания и время задержки, асинхронные передачи обеспечивают гарантированную доставку. Асинхронные сообщения передаются между двумя устройствами. Инициатор посылает запрос требуемому устройству, на который оно сразу (через короткий интервал зазора, в котором шина находится в покое) отвечает подтверждением приема, положительным (АСК) или отрицательным (NACK), если обнаружена ошибка данных. Содержательный ответ на запрос (если требуется) будет передан обратно аналогичным способом (получатель должен послать подтверждение). Если подтверждение АСК не получено, передачи будут повторяться несколько раз до достижения успеха или фиксации ошибки. Изохронные передачи ведутся широковещательно. В сети может быть организовано до 64 изохронных каналов, и каждый пакет изохронной передачи, кроме собственно данных, несет номер канала. Целостность данных контролируется CRC-кодом. Изохронные передачи всех каналов «слышат» все устройства шины, но из всех пакетов принимают только данные интересующих их каналов. Устройство-источник изохронных данных (камера, приемник, проигрщватель) на этапе конфигурирования получает номер и параметры выделенного ему канала.

Шина поддерживает динамическое реконфшурирование — возможность «горячего» подключения и отключения устройств. Когда устройство включается в сеть, оно широковещательно передает короткий асинхронный пакет самоидентификации. Все уже подключенные устройства, приняв такой пакет, фиксируют появление новичка и выполняют процедуру сброса шины. По сбросу производится определение структуры шины, каждому узлу назначается физический адрес и производится арбитраж мастера циклов, диспетчера изохронных ресурсов и контроллера шины (см. ниже). Через секунду после сброса все ресурсы становятся доступными для последующего использования, и каждое устройство имеет полное представление обо всех подключенных устройствах и их возможностях. Отключение устройства от шины также обнаруживается всеми устройствами. Благодаря наличию линий питания интерфейсная часть устройства может оставаться подключенной к шине даже при отключении питания функциональной части устройства.

Мастер циклов — устройство, посылающее каждые 125 мкс короткие широковещательные пакеты начала циклов. В каждом таком пакете мастер циклов передает значение 32-битного счетчика времени, инкрементируемого с частотой 24,576 МГц, для каждого узла, поддерживающего изохронный обмен. В каждом цикле сначала передается по одному пакету каждого активного изохронного канала, затем на некоторое время зазора шина находится в состоянии покоя. После этого зазора начинается часть цикла, отводящаяся для передачи асинхронных пакетов. Каждое устройство, нуждающееся в асинхронной передаче, в этой части цикла может передать по одному пакету. Устройство, не имеющее пакета для передачи, шину и не занимает. После того как все нуждающиеся устройства передадут по одному пакету, в оставшееся время до конца цикла устройства могут передать и дополнительные пакеты.

Диспетчер изохронных ресурсов — устройство, ведающее распределением номеров каналов и полосы шины для изохронных передач. Диспетчер требуется, когда на шине появляется хоть одно устройство, способное к изохронной передаче. Диспетчер выбирается посредством арбитража из числа устройств, поддерживающих изохронный обмен. После сброса устройства, нуждающиеся в изохронной передаче, запрашивают требуемую полосу. Полоса измеряется в специальных единицах распределения, число которых в 125-микросекундном цикле составляет 6144. Единица занимает около 20 не, что соответствует времени передачи одного квад-лета (quadlet, 32-битное слово) на частоте 1600 Мбит/с. Такой способ измерения полосы учитывает возможность совместной работы устройств с разными скоростями — в одном цикле соседние пакеты могут передаваться на разных скоростях. Как минимум 25 мкс цикла резервируется под асинхронный трафик,

Соседние файлы в папке ПУЭВМ