Появились в 1394 году
- 1 year ago
- 0
- 0
IEEE 1394 (FireWire , i-Link) — устаревший стандарт последовательной высокоскоростной шины , предназначенной для обмена цифровой информацией между компьютером и другими электронными устройствами.
Различные компании продвигали стандарт под своими торговыми марками:
В 1986 году членами Комитета по стандартам микрокомпьютеров (Microcomputer Standards Committee) принято решение объединить существовавшие в то время различные варианты последовательной шины ( Serial Bus ).
В 1992 году разработкой интерфейса занялась Apple .
В 1995 году принят стандарт IEEE 1394 (сама технология была разработана намного раньше, до появления Windows 95 , что показывает большой потенциал данного института).
Около 1998 года содружество компаний, в том числе Microsoft, развивало идею обязательности 1394 для любого компьютера и использования 1394 внутри корпуса, а не только вне его. Существовали даже карты контроллеров с одним разъёмом, направленным внутрь корпуса. Также существовала идея Device Bay, то есть отсека для устройства со встроенным в отсек разъёмом 1394 и поддержкой горячей замены.
Такие тенденции прослеживаются в материалах Microsoft той поры, предназначенных для разработчиков компьютеров. Можно сделать вывод, что 1394 предлагали как замену ATA , то есть на роль, ныне выполняемую SATA .
Но этим идеям не суждено было воплотиться, и одной из главных причин такого исхода была лицензионная политика компании Apple, требующей выплат за каждый чип контроллера. Модели системных плат и ноутбуков, которые были представлены на рынке начала 2010-х годов, как правило, уже не поддерживали интерфейс FireWire. Исключения были представлены в узком топовом IT-сегменте . Ко второй половине 2010-х годов FireWire был полностью вытеснен стандартами USB (версии 3) и Thunderbolt .
Главным отличием 1394 от USB являлось то, что USB использует строго иерархическую топологию с хост-контроллером в центре, хост-контроллер принципиально отличен от остальных устройств, и весь трафик шины идет по инициативе хост-контроллера - запросы от него устройствам и ответы от устройств.
Что же касается 1394, то она есть "шина равных" (peer-to-peer), все устройства равноправны, что дает легкую возможность создания сети на базе 1394, а также соединения периферийных устройств без компьютера.
Кроме того, до версии 3 шина USB использовала всего одну витую пару, направление передачи по которой переключалось. Это приводило к сильному снижению скорости из-за необходимости выжидания электромагнитного "переворота" кабеля (длина кабеля / фазовую скорость волны).
USB 3, а также все версии 1394, используют две перекрещенных витых пары "туда" и "оттуда", что делает ненужным такое выжидание.
Шина IEEE 1394 может использоваться для:
Кабель представляет собой 2 витые пары — А и B, распаянные как A к B, а на другой стороне кабеля — как B к A. Также возможен необязательный проводник питания.
Устройство может иметь до 4 портов (разъёмов). В одной топологии может быть до 64 устройств. Максимальная длина пути в топологии — 16. Топология древовидная, замкнутые петли не допускаются.
При присоединении и отсоединении устройства происходит сброс шины, после которого устройства самостоятельно выбирают из себя главное (root), пытаясь взвалить это «главенство» на соседа. После определения главного устройства становится ясна логическая направленность каждого отрезка кабеля — к главному или же от главного. После этого возможна раздача номеров устройствам. После раздачи номеров возможно исполнение обращений к устройствам.
Во время раздачи номеров по шине идёт трафик broadcast пакетов SelfID, каждый из которых содержит в себе количество портов на устройстве, ориентацию каждого порта — не подключён / к главному / от главного, а также максимальную скорость каждой связи (2 порта и отрезок кабеля). Контроллер 1394 принимает эти пакеты, после чего стек драйверов строит карту топологии (связей между устройствами по их номерам) и скоростей (наихудшая скорость на пути от одного устройства до другого).
Операции шины делятся на асинхронные и изохронные.
Асинхронные операции — это запись/чтение 32-битного слова, блока слов, а также атомарные операции. Асинхронные операции используют 24-битные адреса в пределах каждого устройства и 16-битные номера устройств (поддержка межшинных мостов). Некоторые адреса зарезервированы под главнейшие управляющие регистры устройств (например, config ROM, в которой находятся номера производителя и модели устройства - VID/PID). Асинхронные операции поддерживают двухфазное исполнение — запрос, промежуточный ответ, потом позже окончательный ответ. Фактически, асинхронные операции есть RDMA.
Изохронные операции — это передача пакетов данных в ритме, строго приуроченном к ритму 8 КГц, задаваемому ведущим устройством шины путём инициации транзакций «запись в регистр текущего времени». Вместо адресов в изохронном трафике используются номера каналов от 0 до 31. Подтверждений не предусмотрено, изохронные операции есть одностороннее вещание. Изохронное вещание напоминает IP multicast, используемый, например, в IP-телевидении.
Изохронные операции требуют выделения изохронных ресурсов — номера канала и полосы пропускания. Это делается атомарной асинхронной транзакцией на некие стандартные адреса одного из устройств шины, избранного как «менеджер изохронных ресурсов».
Помимо кабельной реализации шины, в стандарте описана и наплатная (реализации неизвестны).
Существуют стандарты — IP поверх 1394 и — IPv6 поверх 1394. Поддерживались в ОС Windows XP и Windows Server 2003 . Поддержка со стороны Microsoft прекращена в ОС Windows Vista , однако существует реализация сетевого стека FireNet в альтернативных драйверах от компании Unibrain (версия 6.00 вышла в ноябре 2012 года ).
Поддерживается во многих ОС семейства UNIX (обычно требуется пересборка ядра с этой поддержкой).
Стандарт не подразумевает эмуляцию Ethernet (в том числе 6-байтных MAC адресов) над 1394 и использует совершенно иной протокол ARP . Несмотря на это, эмуляция Ethernet над 1394 была включена в ОС FreeBSD и является специфичной для данной ОС.
Существует стандарт SBP-2 — SCSI поверх 1394. В основном используется для подключения внешних корпусов с жёсткими дисками к компьютерам — корпус содержит чип моста 1394—ATA. При этом скорость передачи данных может достигать 27 МБ/с, что превышает скорость USB 2.0 как интерфейса к устройствам хранения данных, равную примерно 43 МБ/с, однако гораздо ниже таковой для USB 3.0.
Поддерживается в ОС семейства Windows с Windows 98 и по сей день. Также поддерживается в популярных ОС семейства UNIX .
Исторически первое использование шины. Используется и по сей день как средство захвата фильмов с MiniDV в файлы. Возможен и захват с камеры на камеру.
Видеосигнал, идущий по 1394, идёт практически в том же формате, что и хранится на видеоленте (а, в случае сохранения в "сырой", без ре-компрессии, AVI файл - формат файла также аналогичен). Это упрощает камеру, снижая требования к ней по наличию памяти.
В ОС Windows подключённая по 1394 камера является устройством DirectShow . Захват видео с такого устройства возможен в самых разнообразных приложениях — Adobe Premiere , , Киностудия Windows . Существует также огромное количество простейших утилит, способных выполнять только этот захват. Возможно также и использование тестового инструмента Filter Graph Editor из свободно распространяемого DirectShow SDK.
Использование 1394 c miniDV положило конец проприетарным платам видеозахвата.
Интересным свойством контроллеров 1394 является способность читать и писать произвольные адреса памяти со стороны шины без использования процессора и ПО. Это проистекает из богатого набора асинхронных транзакций 1394, а также из её структуры адресации.
Эта возможность чтения и редактирования памяти через 1394 без помощи процессора послужила причиной использования 1394 в двухмашинном отладчике ядра Windows — WinDbg . Такое использование существенно быстрее последовательного порта, но требует ОС не ниже Windows XP с обеих сторон. Также возможность используется в отладчиках для других ОС, например, Firescope для Linux .
Устройства IEEE 1394 организованы по трёхуровневой схеме — Transaction, Link и Physical, соответствующие трём нижним уровням модели OSI .
Связь между шиной PCI и Transaction Layer осуществляет . Он назначает вид устройств на шине, номера и типы логических каналов, обнаруживает ошибки.
Данные передаются кадрами длиной 125 мкс. В кадре размещаются временные слоты для каналов. Возможен как синхронный, так и асинхронный режимы работы. Каждый канал может занимать один или несколько временных слотов. Для передачи данных устройство-передатчик просит предоставить синхронный канал требуемой пропускной способности. Если в передаваемом кадре есть требуемое количество временных слотов для данного канала, поступает утвердительный ответ, и канал предоставляется.
В конце 1995 года IEEE принял стандарт под порядковым номером 1394. В цифровых камерах Sony интерфейс IEEE 1394 появился раньше принятия стандарта и под названием iLink.
Интерфейс первоначально позиционировался для передачи видеопотоков, но пришёлся по нраву и производителям внешних накопителей, обеспечивая превосходную пропускную способность высокоскоростных дисков.
Скорость передачи данных — 98,304, 196,608 и 393,216 Мбит/с, которые округляют до 100, 200 и 400 Мбит/с. Длина кабеля — до 4,5 м.
В 2000 году был утверждён стандарт IEEE 1394а. Был проведён ряд усовершенствований, что повысило совместимость устройств.
Было введено время ожидания 1/3 секунды на сброс шины, пока не закончится переходный процесс установки надёжного подсоединения или отсоединения устройства.
В 2002 году появляется стандарт IEEE 1394b с новыми скоростями: S800 — 800 Мбит/с и S1600 — 1600 Мбит/с. Соответствующие устройства обозначаются FireWire 800 или FireWire 1600, в зависимости от максимальной скорости.
Изменились используемые кабели и разъёмы. Для достижения максимальных скоростей на максимальных расстояниях предусмотрено использование волоконно-оптического кабеля : пластмассового — для длины до 50 метров, и стеклянного — для длины до 100 метров.
Несмотря на изменение разъёмов, стандарты остались совместимы, что позволяет использовать переходники.
12 декабря 2007 года была представлена спецификация S3200 с максимальной скоростью 3,2 Гбит/с. Для обозначения данного режима используется также название «beta mode» (схема кодирования (англ.) ). Максимальная длина кабеля может достигать 100 метров.
В 2004 году увидел свет стандарт IEEE 1394.1. Этот стандарт был принят для возможности построения крупномасштабных сетей и резко увеличивает количество подключаемых устройств до гигантского числа — 64 449 .
Появившийся в 2006 году стандарт 1394c позволяет использовать витопарный кабель категории 5e (такой же, как и для сетей Ethernet ). Возможно использовать параллельно с Gigabit Ethernet , то есть использовать две логические и друг от друга не зависящие сети на одном кабеле. Максимальная заявленная длина — 100 м, Максимальная скорость соответствует S800 — 800 Мбит/с.
Существует четыре (до IEEE 1394c — три) вида разъёмов для FireWire: