Шина IEEE 1394 — FireWire

Организация и топология шины

Стандарт IEEE 1394 описывает шину с последовательным интерфейсом, по которой информация передается пакетами. Источник пакетов должен получить право передачи пакета, используя механизм арбитража, в котором задействуются все устройства, подключенные к шине. Арбитраж предоставляет узлам право доступа в соответствии с запрошенным типом передачи. Для асинхронных транзакций арбитраж обеспечивает справедливое распределение полосы пропускания, для изохронных передач — гарантированную (предварительно согласованную) полосу пропускания для каждого канала. Коллизии (столкновения пакетов от нескольких устройств) в исправной шине отсутствуют.

Все устройства соединяются друг с другом кабелями на основе любой топологии (древовидной, цепочечной, звездообразной). Каждое устройство (узел сети) обычно имеет несколько равноправных соединительных разъемов, представляющих его порты. Некоторые устройства имеют только один разъем, что ограничивает возможные варианты их месторасположения. В современной редакции стандарт допускает до 16 портов (разъемов) на одном устройстве, чаще встречаются 1–4-портовые устройства. Многопортовые узлы позволяют соединять множество узлов IEEE 1394 без использования вспомогательного оборудования (хабов). Внутри многопортового узла имеется повторитель, транслирующий пакеты и управляющие сигналы между портами.

Устройства на шине могут передавать данные на разных скоростях. Базовой скоростью, поддерживаемой любым устройством, является S100. На этой общедоступной скорости передаются все служебные пакеты, в том числе и пакеты самоидентификации. Если устройство поддерживает высокую скорость (например, S400), то оно обязано поддерживать и все более низкие скорости вплоть до базовой. Пакеты транзакций могут передаваться на любой скорости, доступной узлам, связанным кабельным сегментом. При этом перед посылкой пакета на скорости, отличной от базовой (S100), передающий узел посылает сигнал выбранной скорости. Пакет, приходящий на один порт устройства на высокой скорости, узел не будет транслировать на порт, для которого установлена более низкая скорость. Таким образом, скорость, на которой возможно прохождение пакета между произвольной парой узлов, зависит от скоростных возможностей этих узлов и промежуточных узлов, лежащих на пути между ними. Отсутствие ответа на пакет, посланный на высокой скорости, служит поводом для повторной попытки посылки на более низкой скорости. Заранее узнать доступную скорость можно по карте скоростей — двухмерной матрице, в которой для каждой пары узлов шины указывается максимальная возможная скорость передачи. Эта карта доступна только при наличии диспетчера шины.

Кабельная шина допускает большую свободу выбора топологии физических соединений при соблюдении следующих ограничений:

  • на шине может быть не более 63 узлов;
  • между любой парой узлов может быть не более 16 кабельных сегментов (в 1394a допускается до 24 сегментов);
  • длина сегмента стандартного кабеля не должна превышать 4,5 м;
  • суммарная длина кабеля не должна превышать 72 м;
  • топология не должна содержать петель. В первых редакциях стандарта за это отвечал только пользователь, в IEEE 1394b имеются средства автоматического исключения петель.

В IEEE 1394b введены новые варианты среды передачи, допускающие большую длину сегментов при соединении узлов друг с другом. Здесь используется иная сигнализация, не совместимая с традиционной сигнализацией IEEE 1394 и IEEE 1394a. Однако в 1394b есть и «двуязычные» узлы, способные частью своих портов работать со старыми узлами 1394/1394a, а другой — с узлами 1394b. С помощью таких узлов можно строить смешанные сети и преодолевать вышеуказанные ограничения по расстоянию.

При любой физической топологии логическая топология для передачи данных остается шинной — пакеты распространяются от источника ко всем узлам шины. Логическая топология для арбитража — древовидная иерархическая, «верховный арбитр» — корневой узел.

В IEEE 1394 кроме кабельной сети определены и спецификации использования последовательной шины в качестве кросс-шины (Backplane Environment) для объединения узлов в пределах одного устройства. Здесь используется несколько иной физический уровень (PHY) — всегда однопортовый, с некоторыми отличиями в регистрах. Конфигурация шины при этом фиксирована, механизм автоконфигурирования упрощен, физические идентификаторы узлов назначаются программно (записью в регистр PHY). При идентификации скорости формально указывается S100, но реально это соответствует скоростям S50 или S25.

Яндекс.Метрика