
- •7.1. Шина usb
- •7.1.1. Структура usb
- •7.1.2. Системное конфигурирование
- •7.1.3. Устройства usb - функции и хабы
- •7.1.4. Хост-контроллер
- •7.2. Шина ieee 1394-FireWire
- •7.2.1. Структура и взаимодействие устройств шины
- •7.2.2. Синонимы и дополнения стандарта ieee 1394
- •7.2.3. Сравнение FireWire и usb
- •7.3. Шина access.Bus и интерфейс pc
7.1.4. Хост-контроллер
Хост-компьютер общается с устройствами через контроллер. Хост имеет следующие обязанности:
^ обнаружение подключения и отсоединения устройств USB;
^ манипулирование потоком управления между устройства- ми и хостом;
^ управление потоками данных;
^ сбор статистики;
^ обеспечение энергосбережения подключенными ПУ.
Системное ПО контроллера управляет взаимодействием меж- ду устройствами и их ПО, функционирующим на хост-ком- пьютере, для согласования:
^ нумерации и конфигурации устройств;
^ изохронных передач данных;
^ асинхронных передач данных;
^ управления энергопотреблением;
^ информации об управлении устройствами и шиной.
По возможности ПО USB использует существующее систем- ное ПО хост-компьютера - например, Advanced Power Management для управления энергопотреблением.
7.2. Шина ieee 1394-FireWire
Стандарт для высокопроизводительной последовательной шины (High Performance Serial Bus), получивший офици- альное название IEEE 1394, был принят в 1995 году. Целью являлось создание шины, не уступающей современным стан- дартным параллельным шинам, при существенном удешев- лении и повышении удобства подключения (за счет перехо- да на последовательный интерфейс). Стандарт основан на шине FireWire, используемой Apple Computer в качестве де- шевой альтернативы SCSI в компьютерах Macintosh и PowerMac. Название FireWire ("огненный провод") теперь применяется и к реализациям IEEE 1394, оно сосуществует с кратким обозначением 1394.
Преимущества FireWire перед другими последовательными шинами:
s? Многофункциональность: шина обеспечивает цифровую связь до 63 устройств без применения дополнительной аппаратуры (хабов). Устройства - цифровые камкодеры, сканеры, принтеры, камеры для видеоконференций, дис- ковые накопители - могут обмениваться данными не только с PC, но и между собой. FireWire по инициативе VESA позиционируется и для "домашних сетей".
^ Высокая скорость обмена и изохронные передачи позво- ляют даже на начальном уровне (100 Мбит/с) передавать одновременно два канала видео (30 кадров в секунду) широковещательного качества и стереоаудиосигнал с ка- чеством CD.
s§ Низкая цена компонентов и кабеля.
si Легкость установки и использования. FireWire расши- ряет систему РпР. Устройства автоматически распозна- ются и конфигурируются при включении/отключении. Питание от шины (ток до 1,5 А) позволяет ПУ общать- ся с системой даже при отключении их питания. Управ- лять шиной и другими устройствами могут не только PC, но и другие "интеллектуальные" устройства, напри- мер VCR.
7.2.1. Структура и взаимодействие устройств шины
Стандарт 1394 определяет две категории шин: кабельные шины и кросс-шины (Backplane). Под кросс-шинами обычно подразумеваются параллельные интерфейсы, объединяющие внутренние подсистемы устройства, подключенного к кабелю 1394.
В отличие от USB, управляемой одним хост-контроллером, стандарт 1394 допускает соединение равноправных устройств в сеть. Сеть может состоять из множества шин, соединенных мостами. В пределах одной шины устройства объединяются соединительными кабелями без применения дополнительных устройств. Мосты представляют собой специальные интел- лектуальные устройства. Интерфейсная карта шины FireWire для PC представляет собой мост PCI - 1394. Мостами яв- ляются также соединения кабельной шины 1394 с кросс- шинами устройств, 16-битная адресация узлов сети допус-
кает до 63 устройств в каждой шине, адресуемых 6-битным полем идентификатора узла. 10-битное поле идентификато- ра шины допускает использование в системе до 1023 мос- тов, соединяющих шины разного типа.
Кабельная шина представляет собой сеть, состоящую из уз- лов и кабельных мостов. Гибкая топология позволяет стро- ить сети, сочетающие древовидную и цепочечную ар- хитектуры (рис. 7.9). Каждый узел обычно имеет три равноправных соединительных разъема. Допускается мно- жество вариантов подключения устройств со следующими ограничениями:
ssi между любой парой узлов может быть не более 16 ка- бельных сегментов;
^ длина сегмента стандартного кабеля не должна превы- шать 4,5 м;
2Й суммарная длина кабеля не должна превышать 72 м (при- менение более качественного кабеля позволяет ослабить это ограничение).
Некоторые устройства могут иметь только один разъем, что ограничивает возможные варианты их местоположения. Стандарт допускает до 27 разъемов на одном устройстве.
Рис. 7.9. Соединение устройств на шине FireWire
Рис. 7.10. Разъем FireWire
Стандарт предусматривает связь узлов с помощью 6-провод- ного кабеля, заключенного в общий экран. Две витые пары используются для передачи сигналов (раздельные для при- емника и передатчика), два провода задействованы для пи- тания устройств (8-40 В, до 1,5 А). Для гальванической развязки интерфейса используются трансформаторы (напря- жение изоляции развязки до 500 В) или конденсаторы (в дешевых устройствах с напряжением развязки до 60 В от- носительно общего провода). Представление о разъемах дает рис. 7.10. Некоторые устройства (камкодеры Sony DCR- VX700 и DCR-VX1000, а также DHR-1000 DVCR) имеют только один 4-контактный разъем меньшего размера, у ко- торого реализованы только сигнальные цепи. Эти устрой- ства подключаются к шине через специальный переходной кабель только как оконечные (хотя возможно применение специальных адаптеров-разветвителей).
Стандарт 1394 определяет три возможные частоты переда- чи сигналов по кабелям: 98,304, 196,608 и 393,216 Мбит/с, которые округляют до 100, 200 и 400 Мбит/с. Частоты в стандарте обозначаются как S100, S200 и S400 соответствен- но. Бытовые устройства обычно поддерживают S100, боль- шинство адаптеров допускают S200. К одной шине могут подключаться устройства, рассчитанные на разные скорос- ти. Обмен будет происходить на минимальной для всех ак- тивных узлов скорости. Однако, если хост-контроллер реа- лизует карту топологии и скоростей (Topology_Мар и Speed_Map), возможно использование нескольких частот в одной шине, в соответствии с возможностями конкретной пары, участвующей в обмене.
Система допускает динамическое (горячее) подключение и отключение устройств. Идентификаторы подключаемым
устройствам назначаются автоматически, без участия пользо- вателя. Изменения топологии (состава подключенных уст- ройств) автоматически отслеживаются шиной и передаются управляющему ПО.
Протокол IEEE 1394
Протокол 1394 реализуется на трех уровнях (рис. 7.11).
^ Уровень транзакций (Transaction Layer) преобразует па- кеты в данные, предоставляемые приложениям, и наобо- рот. Он реализует протокол запросов-ответов, соответству- ющий стандарту ISO/IEC 13213:1994 (ANSI/IEEE 1212, редакции 1994 г.), архитектуры регистров управления и состояния CSR (Control and Status Register) для микро- компьютерных шин (чтение, запись, блокировка). Это облегчает связь шины 1394 со стандартными параллель- ными шинами.
^ Уровень связи (Link Layer) из данных физического уров- ня формирует пакеты и выполняет обратные преобразо- вания. Он обеспечивает обмен узлов датаграммами с под- тверждениями. Уровень отвечает за передачу пакетов и управление изохронными передачами.
^ Физический уровень (Physical Layer) вырабатывает и при- нимает сигналы шины. Он обеспечивает инициализацию и арбитраж, предполагая, что в любой момент времени работает только один передатчик. Уровень передает по- токи данных и уровни сигналов последовательной шины вышестоящему уровню. Между этими уровнями возмож- на гальваническая развязка, при которой микросхемы физического уровня питаются от шины. Гальваническая развязка необходима для предотвращения паразитных контуров общего провода, которые могут появиться че- рез провода защитного заземления блоков питания.
Аппаратная часть FireWire обычно состоит из двух специ- ализированных микросхем - трансиверов физического уровня PHY Transceiver и моста связи с шиной LINK Chip. Связь между ними возможна, например, по интерфейсу IBM-Apple LINK-PHY. Микросхемы уровня связи выпол- няют все функции своего уровня и часть функций уровня
транзакций, остальная часть уровня транзакций выполня- ется программно.
Коннекторы
Рис. 7.11. Трехуровневая структура FireWire
Управление шиной
Протокол 1394 имеет гибкий механизм управления связью между различными устройствами. Для этого не обязательно присутствие на шине PC или иного контроллера шины. Управление включает три сервиса:
^ Мастер циклов, посылающий широковещательные паке- ты начала циклов (требуемые для изохронных обменов).
^ Диспетчер изохронных ресурсов, если какой-либо узел поддерживает изохронный обмен (для цифрового видео и аудио).
^ Необязательный контроллер шины (Bus Master) - им мо- жет являться PC или редактирующий DVCR.
По сбросу производится определение структуры шины, каж- дому узлу назначаются физические адреса и производится арбитраж мастера циклов, диспетчера изохронных ресурсов и контроллера шины. Через секунду после сброса все ресур- сы становятся доступными для последующего использования.
Принципиальным преимуществом шины является отсутствие необходимости в контроллере. Любое передающее устрой- ство может получить полосу изохронного трафика и начи- нать передачу по сигналу автономного или дистанционного управления - приемник "услышит" эту информацию. При наличии контроллера (PC) соответствующее ПО может управлять работой устройств, реализуя, например, цифро- вую студию нелинейного видеомонтажа.
Изохронная транспортировка данных
Изохронная транспортировка шины 1394 обеспечивает гаран- тированную пропускную способность и ограниченную задерж- ку при высокоскоростной передаче по множеству каналов. Диспетчер изохронных ресурсов содержит регистр BANDWIDTH^AVAILABLE, который определяет доступность оставшейся части полосы пропускания для узлов с изохрон- ной передачей. По сбросу вновь появившийся узел с изо- хронной передачей запрашивает выделение полосы. Для циф- рового видео, например, требуется полоса 30 Мбит/с (25 Мбит/с на видеоданные и 3-4 Мбит/с на аудио, син- хронизацию и заголовки пакетов). Полоса измеряется в спе- циальных единицах распределения, число которых в 125-мил- лисекундном цикле составляет 6144. Единица занимает около 20 нс, что соответствует времени, требуемому для передачи одного квадлета (Quadlet) на частоте 1600 Мбит/с. Квадлет (32-битное слово) является единицей передачи данных по шине. 25 мс цикла резервируется под асинхронный трафик, поэтому начальное значение регистра после сброса состав- ляет 4915 единиц. В S100 устройства цифрового видео за- прашивают около 1800 единиц, в S200 - около 900. Если со- ответствующая полоса недоступна, запрашивающее ее устройство будет периодически повторять запрос.
Диспетчер изохронных ресурсов каждому изохронному узлу назначает номер канала (0-63) из числа доступных (регистр
CHANNELS_AVAILABLE). Он является идентификатором изо- хронного пакета. Когда изохронный обмен становится не- нужным узлу, он должен освободить свою полосу и номер канала. Обмен управляющей информацией производится по асинхронному каналу.