logo search
Материалы по интерфейсам периферий / Для Скрипко / Для пособия ПУ (Восстановлен) (2)

Топология

Топология IEEE-1394 позволяет как древовидную, так и цепочечную архитектуру, а также комбинацию из того и другого. Поэтому легко строить любые варианты подключения различных устройств к шине. Стандарт предусматривает архитектурное разделение шины на 2 основных блока - кабельная часть и контроллер (контроллеры). Так как контроллеров может быть несколько, эту часть также называют объединительной (backplane - дословно задний план, кросс-плата и т.п.). ¶Адрес узла на "дереве" 16-ти разрядный, что позволяет адресовать до 64К узлов. К каждому узлу может быть подключено до 16-ти конечных устройств. На объединительной панели (backplane) может быть подключено до 63 узлов к одному мосту (bridge) шины. Так как под идентификатор номера шины (моста) отведено 10 разрядов, то общее количество узлов и составляет 64K. ¶Каждый узел обычно предусматривает подключение 3-х устройств, хотя собственно стандарт разрешает подключение до 27 устройств. Устройства могут быть подключены через стандартные кабели длиной до 4.2 метра.

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

Корневое устройство отвечает за определенные функции управления. Так, если это ПК, он может содержать мост между шинами 1394 и PCI и выполнять некоторые дополнительные функции по управлению шиной. Корневое устройство определяется во время инициализации и, будучи однажды выбранным, остается таковым на все время подключения к шине.

Сеть 1394 может включать до 63 узлов, каждый из которых имеет свой 6-разрядный физический идентификационный номер. Несколько сетей могут быть соединены между собой мостами. Максимальное количество соединенных шин в системе - 1023. При этом каждая шина идентифицируется отдельным 10-разрядным номером. Таким образом, 16-разрядный адрес позволяет иметь до 64449 узлов в системе. Поскольку разрядность адресов устройств 64 бита, а 16 из них используются для спецификации узлов и сетей, остается 48 бит для адресного пространства, максимальный размер которого 256 Терабайт (256х10244 байт) для каждого узла.

Конструкция шины удивительно проста. Устройства могут подключаться к любому доступному порту (на каждом устройстве обычно 1 - 3 порта). Шина допускает "горячее" подключение - соединение или разъединение при включенном питании. Нет также необходимости в каких-либо адресных переключателях, поскольку отсутствуют электронные адреса. Каждый раз, когда узел добавляется или изымается из сети, топология шины автоматически переконфигурируется в соответствии с шинным протоколом.

Благодаря применению размножителей, репитеров и т.п. устройств топология IEEE-1394 может быть достаточно сложной, хотя в 90% случаев ее применения наверняка столь сложная топология не потребуется.

Повторю ,что есть несколько ограничений. Между любыми двумя узлами может существовать не больше 16 сетевых сегментов, а в результате соединения устройств не должны образовываться петли. К тому же для поддержки качества сигналов длина стандартного кабеля, соединяющего два узла, не должна превышать 4,2 - 4,5 м.

Протокол

Интерфейс позволяет осуществлять два типа передачи данных: синхронный и асинхронный. При асинхронном методе получатель подтверждает получение данных, а синхронная передача гарантирует доставку данных в необходимом объеме, что особенно важно для мультимедийных приложений.

Протокол IEEE 1394 реализует три нижних уровня эталонной модели Международной организации по стандартизации OSI: физический, канальный и сетевой. Кроме того, существует "менеджер шины", которому доступны все три уровня. На физическом уровне обеспечивается электрическое и механическое соединение с коннектором, на других уровнях - соединение с прикладной программой.

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

На канальном уровне обеспечивается надежная передача данных через физический канал, осуществляется обслуживание двух типов доставки пакетов - синхронного и асинхронного.

На сетевом уровне поддерживается асинхронный протокол записи, чтения и блокировки команд, обеспечивая передачу данных от отправителя к получателю и чтение полученных данных. Блокировка объединяет функции команд записи/чтения и производит маршрутизацию данных между отправителем и получателем в обоих направлениях.

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

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

В случае синхронной передачи отправитель просит предоставить синхронный канал, имеющий полосу частот, соответствующую его потребностям. Идентификатор синхронного канала передается вместе с данными пакета. Получатель проверяет идентификатор канала и принимает только те данные, которые имеют определенный идентификатор. Количество каналов и полоса частот для каждого зависят от приложения пользователя. Может быть организовано до 64 синхронных каналов.

Шина конфигурируется таким образом, чтобы передача кадра начиналась во время интервала синхронизации. В начале кадра располагается индикатор начала и далее последовательно во времени следуют синхронные каналы 1, 2… . На рисунке изображен кадр с двумя синхронными каналами и одним асинхронным.

Оставшееся время в кадре используется для асинхронной передачи. В случае установления для каждого синхронного канала окна в кадре шина гарантирует необходимую для передачи полосу частот и успешную доставку данных.

Для удобства программирования и совместимости устройств на IEEE-1394 был разработан стандарт, названный Open Host Controller Interface (OHCI). Он предъявляет определенные требования к регистрам контроллера IEEE-1394 и их отображению в памяти. Кроме этого, OHCI совместимый контроллер должен удовлетворять требованиям по управлению энергопотреблением в соответствии со спецификацией ACPI. ¶Microsoft в своих операционных системах Windows 98 Second Edition и Windows 2000 поддерживает только OHCI совместимые контроллеры IEEE-1394. Все остальные контроллеры (например, от Adaptec) должны сопровождаться соответствующими драйверами и совместимость таких устройств с драйверами жестких дисков операционной системы, например, не гарантируется.