Ieee 1394 разъемы двух типов. FireWire или чем ещё помогла цифровому миру компания Apple

Что такое IEEE 1394?

Интерфейс IEEE 1394

Немного истории. 10 лет назад, на выставке IFA’95 в Берлине фирма Sony продемонстрировала первые промышленные модели цифровых видеокамер формата mini-DV. Это были камеры DCR-XV700 и DCR-XV1000 с выходным цифровым интерфейсом IEEE 1394 (FireWire) и новым для видеотехники 4-контактным разъемом DV Out. Уже в следующем году цифровые видеокамеры стали выпускаться и другими фирмами, в частности, появилась модель Panasonic NV-DS1, оснащенная двунаправленным интерфейсом DV In/Out и способная к цифровой записи как собственных съемок, так и аналоговых видеосигналов, поступающих на собственные разъемы Video и S-Video для композитного и раздельных видеосигналов.

С тех пор популярность интерфейса IEEE 1394, известного также как FireWire и i-Link, стала стремительно возрастать. Он стал обязательным для любой цифровой видеокамеры и поддерживается в большинстве современных ноутбуков.

А начиналось все гораздо раньше, когда Комитет по стандартам для микрокомпьютеров Института инженеров по электротехнике и электронике (IEEE) решил объединить имеющиеся наработки по последовательной шине и создать быстродействующий универсальный интерфейс, обеспечивающий работу с мультимедийной информацией, накопителями, формирователями, визуализаторами и синтезаторами данных. Ведущим разработчиком такого интерфейса была фирма Apple, которая решила применять его в своих компьютерах под названием FireWire. В процессе выполнения этих работ организовался консорциум с участием компаний Compaq, Matsushita, Philips, Sony, Toshiba и др., в результате чего в конце 1995 года IEEE принял соответствующий стандарт под порядковым номером 1394. Любопытно, что в цифровых камерах Sony интерфейс IEEE 1394 появился под названием i-Link раньше этого события.

Что такое IEEE 1394? Это стандартная технология шины последовательной передачи данных для соединения компьютера с периферией. При этом обеспечиваются следующие преимущества:

· высокая скорость (100, 200, или 400 Мб/с для IEEE 1394a; 800 Мб/с для IEEE 1394b, в перспективе 1,6 и 3,2 Гб/с);

· поддержка “горячего” (Fire) подключения и отключения. Автоматическое распознавание присоединения и отсоединения аппаратуры и возможности делать это при работающем компьютере, т.е. даже тогда, когда шина работает в полном режиме;

· возможности общения аппаратуры с IEEE 1394 In/ Out между собой без компьютера. Широко применяется, например, для редактирования при прямой перезаписи информации с одной видеокамеры на другую;

· простота конфигурирования и широта возможностей . Шина позволяет подключать до 63 устройств без применения концентраторов. На одном устройстве может быть до 27 разъемов для подключения к компьютеру и другим устройствам. Шина поддерживает конфигурирование Plug&Play;

· использование кабелей малого диаметра и миниатюрных разъемов (4 или 6 контактов). Интересно, что разъем был заимствован у компьютерной игры Nintendo Gameboy, так как показал высокую износостойкость в условиях беспощадной эксплуатации;

· пакетная передача данных. Мультимедийные данные, например видеофильм, разбиваются на пакеты с интервалами между ними. Число пакетов определяется тем, какой длины фильм посылается, а в интервалах посылается служебная информация, например, «Стоп» или «Пуск».

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

· питание внешних устройств через кабель IEEE 1394.

Составляющие IEEE 1394. Функциональная схема интерфейса IEEE 1394 показана на рисунке 1. Здесь внизу находится физический уровень, на котором происходит перевод стыкуемых мультимедийных сигналов в компьютерные форматы или наоборот, с формированием, кодированием/декодированием и арбитражем, определяющим, в каком порядке устройства IEEE 1394, составляющие сеть, могут работать.

Рис. 1 Функциональная схема интерфейса IEEE 1394

На уровне обрабатываются и формируются пакеты данных, организуется их прием и передача. Этих уровней достаточно для изохронной передачи данных, когда контроль за передаваемой и получаемой информацией не ведется. При асинхронной передаче данных такой контроль производится на программном уровне обработке, где данные проверяются и отправляются потребителю, если ошибок не обнаружено. В противном случае процедуры на нижнем уровне повторяются до устранения ошибок. Физический уровень может содержать несколько разъемов FireWire, причем два любых устройства IEEE 1394 могут соединяться между собой “точка в точку”(point-to-point).

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

Рис. 2. Дерево узлов IEEE 1394


Каждое из IEEE 1394-устройств получает идентификационный номер и данные, на каких скоростях могут работать его прямые соседи. Используется 64-битная прямая адресация (48 бит на узел и 16 для идентификации шины), позволяющая реализовать иерархическую адресацию для 63 узлов на 1023 шинах. По завершении инициализации начинает работать арбитраж, следящий за тем, чтобы работающие устройства друг другу не мешали. Поэтому устройство, готовое начать передачу, сначала посылает сигнал запроса своему родительскому устройству в дереве. Это устройство, получив запрос, формирует сигал запрета своим дочерним устройствам и передает запрос дальше, своему родительскому устройству и так далее, пока запрос не дойдет до корневого устройства. В свою очередь корневое устройство формирует сигнал, разрешающий передачу устройству, выигравшему арбитраж по времени, т.е. тому, запрос от которого получен первым. При этом устройство, проигравшее арбитраж, ждет, пока шина не освободится.

По сигналу разрешения начинается работа на уровне компоновки, где формируются пакеты данных по 512 байт с интервалами между ними и определяется их адресация. 160 бит в каждом пакете занимает заголовок, куда входит информация об отправителе и получателе пакетов, а также о циклическом коде CRC исправления ошибок. Передача данных начинается по получению ответа о готовности запрашиваемого устройства к приему информации.

В течении времени до 0,75 мс после отправки каждого пакета данных ожидается получение подтверждения об их получении в виде байтовой посылки. Далее следует интервал > 1 мс, разделяющий пакеты, и т. д.

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

Изохронная передача данных применяется, например, в мультимедийных приложениях, когда приоритетом является минимум задержки на получение информации по сравнению с возможной потерей или ошибками какой-то ее части. В изохронном режиме данные передаются пакетами длительностью по 125 мс, т.е. чем выше скорость, тем больше данных может быть передано за это время. Пакеты следуют друг за другом, не ожидая байтов подтверждения получения. Для идентификации пакетов изохронной и асинхронной передачи промежуток между ними в первом случае короче, чем во втором. Это позволяет комбинировать и различать изохронные и асинхронные данные в каждом сеансе. На изохронные данные выделено до 85 % канала передачи, из которых устройство может занимать не более 65 %.

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

Кабели и разъемы. Для работы интерфейса на высоких скоростях потребовались кабели с временем распространения сигнала, не превосходящим допустимых пределов. Для IEEE 1394 это 144 нс, после чего принимается решение о недоступности адресуемого устройства. Устройство кабеля для IEEE 1394 поясняется рисунке 3.

Рис. 3. Разрез кабеля FireWire

Диаметр этого кабеля равен 6 мм, и он содержит три витые пары проводников диаметром 0,87 мм:, одна из которых типа 22 AWG предназначена для питания от 8 до 30 В внешней нагрузки до 1,5 А, а две другие - раздельно экранированные пары сигнальных проводов типа 28 AWG. Все проводники с изолирующим заполнением заключены в экранирующую фольгу и оболочку из поливинилхлорида. Таким образом, кабель имеет сложную конструкцию, и изготовить его самостоятельно вряд ли возможно.

Рис. 4. Разъемы IEEE 1394 (6 контактов)
А) блочный б) кабельный

На фотографиях разъемов IEEE 1394 (рис. 4), заимствованных у компьютерной игры Nintendo Gameboy, видно, что контакты здесь находятся в середине разъемов и по бокам защищены от доступа металлическим ободком и изолирующей прокладкой у кабельного разъема. Пара проводов, предназначенная для питания внешних устройств, например сканера, не требуется при работе с цифровыми видеокамерами, имеющими собственное питание.

Рис. 5. Кабель IEEE 1394 i-Link

Для такого применения IEEE 1394 разработаны однорядные 4-контактные разъемы и кабели, вид одного из которых, i-Link Sony, показан на фотографии (рис. 5). Длина этого кабеля 96 см.

IEEE 1394 a. Хотя шина FireWire оказалась очень удобной, работы по ее совершенствованию продолжаются. Так, 2000 году был утвержден стандарт IEEE 1394а с дополнениями, целесообразность которых выяснилась в процессе эксплуатации. В частности, введено время ожидания 1/3 секунды на сброс шины, пока не закончится переходной процесс установки надежного подсоединения или отсоединения устройства. Без этого иногда возникал не один, а целая серия сбросов шины по подключению нового устройства. Практика показала, что устройства IEEE 1394 могут быть несовместимыми, если пакеты в серии передаются с разной скоростью. По IEEE 1394а эта проблема решена добавлением сигнала скорости в каждый пакет, если скорость его передачи отличается от предыдущей. Предусмотрены также возможности программного отключения порта FireWire, включения аппаратуры и перевода ее в дежурный режим. Большое внимание разработчики уделили повышению эффективности шины за счет уменьшения общей длительности технологических промежутков, разделяющих пакеты записи. С этой целью по IEEE 1394а:

· Повторные байты подтверждения получения не ожидаются, после первого обнаружения такого байта передача продолжается без прерываний.

· Введена возможность неоднократного запроса на передачу одного устройства в одном цикле, если другим устройствам шина не нужна.

· Уменьшено время на сброс шины . По IEEE 1394 передающее устройство не обнаруживает сигнал сброса, пока не закончится передача текущего пакета данных. Поэтому сигнал сброса поддерживался в течение времени, большего, чем максимальное время передачи одного пакета. Если же сигнал сброса формируется по признаку выигрыша устройством арбитража, в этом нет необходимости, и по IEEE 1394a сброс шины выполняется по завершению передачи этого устройства.

· Предусмотрены возможности прикрепления пакетов информации к уже передающимся . За счет этого достигается экономия на времени арбитража.

IEEE 1394 b. Этот стандарт, первая версия которого принята в 2002 году, относится к последовательной шине с увеличенной до 800 Мб/с и 1,6 Гб/с пропускной способностью. В перспективе пропускная способность может возрасти и до 3,2 Гб/с. Основой интерфейса IEEE 1394b является кодирование 8В10В в соответствии с алгоритмами, применяемыми в оборудовании для гигабайтных сетей, и оптоволоконные линии связи. Введено также измерение времени отклика. Введение такого измерения позволило узнавать время поступления ответа и увеличить длину кабелей. По IEEE1394b она может достигать 100 метров, правда для этого должен применяться стеклянный оптоволоконный кабель. При использовании пластикового оптоволокна максимальная длина кабеля уменьшается до 50 метров, а пропускная способность до 200 Мб/с. Изменились и разъемы: теперь это 9-контактные двухрядные разъемы. Вид разъемов на кабельном переходнике 9↔4 контактов показан на рисунке 6.

Рис. 6. Кабельный переходник IEEE 1394

Этот переходник и ему аналогичный 9↔6 контактов обеспечивает кабельную совместимость шины IEEE 1394b с предшествующими версиями IEEE 1394. В новом стандарте предусмотрено два режима передачи данных: β-режим, когда общаются устройства, поддерживающие IEEE 1394b, и режим обратной совместимости, при котором возможно подключение к шине устройств IEEE 1394a и максимальная скорость автоматически уменьшается до 400 Мб/с.

Из других особенностей IEEE 1394b следует отметить новый способ арбитража. Если в предшествующих стандартах функцию арбитража выполняло корневое устройство, то теперь такую функцию выполняет любое устройство, постоянно посылающее сигналы запроса на передачу. Новый метод арбитража называется Bus Owner/Supervisor/Selector (BOSS). Его логическая схема показана на схеме, а принцип работы заключается в следующем.

Рис. 7. Арбитраж BOSS IEEE 1394b

Устройство, готовое к передаче данных, постоянно посылает сигналы запроса, но передача данных блокируется, пока на соответствующей шине присутствуют сигналы, передаваемые другим устройством. Как только последние прекращаются, по этой шине начинают передаваться сигналы ждущего устройства, в свою очередь блокирующего режимы передачи других устройств. Очевидно, что для работы системы арбитража BOSS шина данных должна быть двунаправленной. Поэтому такой арбитраж работает только в среде IEEE 1394b. Если в нее входит хотя бы одно другое устройство, для арбитража применяется ранее рассмотренный метод.

USB 2.0 и IEEE 1394а. Все современные компьютеры оснащены портами USB 2.0, которые являются быстродействующей версией получивших массовое распространение портов USB 1.1. Основная сфера применения USB 2.0 осталась прежней. Это подключение периферийных устройств типа мышек, цифровых фотокамер, картридеров и других устройств, не требующих гарантированно постоянной пропускной способности. USB 2.0 как и USB 1.1 использует 4-контактные разъемы, полностью совместимые между собой. Единственное отличие в подключении USB 2.0 и USB 1.1 заключается в том, что новый стандарт требует экранированных кабелей. Теоретическая скорость по USB 2.0 составляет 480 Мб/с, максимальная передаваемая мощность на питание внешних устройств - 2,5 Вт. Общение устройств стандарта USB 2.0 происходит по схеме Master/Slave, т. е. все потоки данных управляются компьютером, что замедляет работу интерфейса. Длина кабеля для соединения двух устройств по шине USB 2.0 не должна превышать 5 метров. Преимуществами USB 2.0 является большая распространенность, совместимость с USB 1.1 и дешевизна.

С продвижением USB 2.0 на рынке стали появляться устройства, например, внешние жесткие диски со сдвоенным интерфейсом или одни и те же модели с разными интерфейсами. Казалось бы, по USB 2.0 они должны работать быстрее, чем по IEEE 1394a, но на практике, при прочих равных условиях производительность по FireWire 400 получается лучше, причем почти без проблем с “горячим” подключением. Вероятно, новая версия USB будет работать стабильней, но IEEE 1394a к тому времени несколько устареет и будет заменяться на IEEE 1394b. Кроме того, архитектура USB 2.0 по гибкости несопоставима с IEEE 1394, особенно при работе с мультимедийной аппаратурой.

Таким образом, шина USB 2.0 эффективна для компьютерной периферии, низкоскоростной и со средними требованиями к пропускной способности. Она дешева и достаточно производительна для большинства задач. Шина FireWire гораздо гибче и отлично подходит для работы с мультимедиа. Цифровые видеокамеры и телевизоры, DVD-проигрыватели и игровые приставки - все это при наличии портов FireWire легко соединить между собой, причем не обязательно вокруг компьютера.

Весьма советуем с ним познакомиться. Там Вы найдете много новых друзей. Кроме того, это наиболее быстрый и действенный способ связаться с администраторами проекта. Продолжает работать раздел Обновления антивирусов - всегда актуальные бесплатные обновления для Dr Web и NOD. Не успели что-то прочитать? Полное содержание бегущей строки можно найти по этой ссылке .

Стандарты FireWire (IEEE 1394)

Семенов Ю.А. (ГНЦ ИТЭФ)

Интерфейсная шина FireWire (IEEE1394)

Протокол FireWire (также известный как i.Link или IEEE 1394) предназначен для персональных компьютеров в качестве быстродействующего последовательного интерфейса, возможно применение и для задач реального времени. Стандарт был утвержден в 1995 году. Стандарт IEEE 1394-1995 для скоростной последовательной шины определяет протокол последовательной передачи данных. Возможности стандарта 1394 достаточны для поддержки широкого круга цифровых аудио/видео приложений, таких как маршрутизация сигналов, домашние сети, управление аудио/видео устройствами, нелинейное DV редактирование и 32-канальное (или более) цифровое аудио-микширование.

Особенности IEEE - 1394

  • Скорости передачи 100 - 200 - 400 - 800 Мбит/с
  • Оперативные подключения/отключения без потери данных или прерывания работоспособности.
  • Свободная топология сети, допускающая как древовидную, так и петлевую (daisy-chains) схемы.
  • Возможность установки гарантированной полосы пропускания для приложений реального времени
  • Стандартные разъемы для различных устройств и приложений.
4-контакт.
разъем
6-контакт.
разъем
9-контакт.
разъем
Назначение Описание цвет провода
в кабеле
1 8 Питание Нерегулируемый DC; 30 В без нагрузки белый
2 6 Земля Возвратная земля питания и внутренний экран кабеля черный
1 3 1 TPB- оранжевый
2 4 2 TPB+ Скрученная пара B, дифференциальные сигналы голубой
3 5 3 TPA- красный
4 6 4 TPA+ Скрученная пара A, дифференциальные сигналы зеленый
5 A экран
7 -
9 B экран
Оплетка Внешний экран кабеля

Разводка кабеля


FireWire допускает подключение до 63 периферийных устройств. Стандарт допускает коммуникации между устройствами в режиме P2P, например, соединение сканера и принтера без использования ресурсов памяти или ЦПУ компьютера. FireWire поддерживает также подключение нескольких машин к шине, а с помощью программного обеспечения возможно формирование IP-сетей между машинами, соединенными через FireWire. Для реализации протокола используется 6-проводный кабель, что более удобно, чем в случае SCSI, и может также обеспечить до 45 ватт питания на порт. Это позволяет в случае применения устройств с малым потреблением обойтись без отдельных сетевых кабелей.

FireWire 400 может передавать данные между устройствами со скоростью 100, 200 или 400 Мбит/с (в действительности это 98.304, 196.608 или 393.216 Мбит/с, и называется S100, S200 и S400). Длина кабеля ограничивается 4.5 метрами, но в случае использования петлевой, ромашка-подобной схемы с 16-ю кабелями, суммарная длина соединений может достигать 72 метров. Стандарт FireWire 800 был введен в 2003, и позволяет поднять пропускную способность до 786.432 Мбит/с при сохранении совместимости для работы при более низких скоростях.

Архитектура IEEE-1394

Стандарт IEEE 1394-1995 определяет две категории шины: backplane и кабель. Шина backplane служит для обеспечения параллельной передачи данных, которая является альтернативой последовательной передачи данных между устройствами, подключенными к backplane. Кабельная шина представляет собой древовидную сеть, состоящую из шинных бриджей и узлов (кабельные устройства). 6-битовый идентификатор имени узла позволяет иметь до 63 узлов, подключенных к одной шинному бриджу; 10 битовый шинный идентификатор позволяет иметь до 1,023 бриджей в системе. Это означает, например, что до 63 устройства может быть подключено к одной карте адаптера 1394 в PC.

Каждый узел обычно имеет три разъема, хотя стандарт предусматривает от 1 до 27 разъемов на одно устройство уровня PHY. До 16 узлов может быть подключено к сети при схеме типа ромашки с помощью кабелей длиной 4.5 м. При этом суммарная длина кабелей оказывается равной 72 м. Шина 1394 может рассматриваться как plug-and-play шина.

Стандарт для кабеля 1394 определяет три базовые скорости передачи: 98.304, 196.608 и 393.216 Мбит/с. Пользователь DV устройства использует скорость S100, но большинство адаптеров 1394 PC поддерживают скорость S200. Скорость работы всей шины обычно является самой медленной; однако, если мастер шины (контроллер) использует Topology_Map и Speed_Map для специфицированной пары узлов, шина может поддерживать кратные (более высокие) скорости обмена для данной пары устройств.

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

IEEE 1394 является платформа независимым стандартом. Его характеристики превосходят известные I/O интерфейсы. IEEE 1394 может предоставить интерфейс с верхним слоем нового параллельного стандарта для порта, IEEE 1284 . Хотя скорости передачи IEEE 1284 4 - 32 Мбит/с ниже по быстродействию, чем 1394, 1284 находит применение при работе с принтерами, так как нужна обратная совместимость с существующим параллельным интерфейсом Centronics. Устройства IEEE 1394 с различными скоростями передачи могут соединяться друг с другом, обеспечивая обратную совместимость с устройствами меньшего быстродействия.

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

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

В 2005 году принята версия стандарта IEEE 1394c , которая позволяет использовать кабель категории 5е (Ethernet). При этом появилась возможность использовать параллельно IEEE 1394c и GigaEthernet на одном кабеле. Максимальная заявленная длина сегмента - 100 м, Максимальная скорость соответствует S800 - 800 Мбит/с.

Внешние проводные интерфейсы

02:39 29.04.2008
Алексей Садовский

Стандарт FireWire (IEEE 1394)

Стандарт под техническим названием IEEE 1394 был официально представлен в 1995 году. Но его разработка была начала еще в конце 80-х годов прошлого века. Начала ее небезызвестная Apple. Тогда она планировала выпустить альтернативу интерфейсу SCSI. Причем альтернативу, ориентированную на работу с аудио и видео устройствами. Со временем разработка была передана институту IEEE.


У IEEE 1394 есть несколько имен. FireWire - это коммерческое именование самой Apple. Сегодня оно встречается чаще всего на пару с техническим названием. Со временем японская Sony, часто идущая своим путем, стала именовать этот стандарт i.LINK. Не осталась в долгу и Panasonic, предложив свое имя: DV.

Несмотря на то, что FireWire изначально был ориентирован на аудио/видео оборудование (даже был принят в качестве A/V-стандарта организацией со смешной для нашего языка аббревиатурой HANA - High Definition Audio-Video Network Alliance) со временем с его поддержкой появились устройства хранения данных вроде внешних жестких дисков и оптических приводов.

Давайте разберемся как работает IEEE 1394. В сравнении с USB есть множество отличий. Прежде всего FireWire работает по принципу "точка-точка" (peer-to-peer), а не "мастер-подчиненный" (master-slave). Получается, что каждое устройство, подключенное по FireWire, имеет одинаковый ранг. Одним из преимуществ такого подхода - возможность вести обмен данными между устройствами напрямую без участия компьютера, не затрачивая на это его ресурсы. Некоторые читатели могут заметить, что USB On-The-Go предоставляет такую же функциональность. Но ведь в FireWire она была изначально, а в универсальной последовательной шине - буквально пару лет как появилась.

Так же как и USB FireWire поддерживает систему Plug-and-Play и hot swap (возможность подключать устройства без выключения компьютера). В отличие от USB устройствам FireWire не присваивается уникальный идентификатор при подсоединении к системе. В каждом из них зашит свой уникальный идентификатор, соответствующий стандарту IEEE EUI-64. Последний является расширением для MAC-адресов, широко применяемых среди сетевых устройств.


Топология шины FireWire также дерево. При необходимости увеличить число портов можно подключать специальные FireWire-хабы. О глубине "вложенности" мы данных не нашли, поэтому предположим, что она может быть достаточно большой. Но максимальное число подключенных устройств (надо полагать на один FireWire-контроллер) составляет 63.

И немного о принятых стандартах и версиях шины FireWire. Всего мы их насчитали пять штук.

FireWire 400 (IEEE 1394-1995). Самая первая версия стандарта, принятая в 1995 году. Поддерживает скорость передачи данных 100 (подстандарт S100), 200 (S200) и 400 (S400) Мбит/с. Длина кабеля может составлять 4.5 метра. Тем не менее, в отличие от USB, FireWire работает по принципу репитеров. Репитеры (по сути усилители сигнала) могут быть независимыми, увеличивая общую длину кабеля, либо встроенными в хабы и устройства с поддержкой FireWire. Таким образом общая длина провода для стандарта S400 может составлять до 72 метров.



Основной тип коннектора FireWire выполнен в виде шестиугольника и имеет шесть контактов. По своим физическим размерам он несколько толще разъема USB. Зато через него может проходить значительно больше энергии. Так напряжение может составлять от 24 до 30 В, а сила тока - 1.5 А.

IEEE 1394a-2000. Данный стандарт был принят в 2000 году. Он внес некоторые дополнения в оригинальную спецификацию FireWire. В частности добавилась поддержка асинхронной передачи данных, более быстрое распознание подключенных устройств, объединение пакетов и энергосберегающий "спящий" режим. Кроме того был "узаконена" маленький вариант коннектора.

Уменьшенная версия разъема работает только с четырьмя контактами, но питания она может передавать значительно меньше. Сегодня именно этот тип наиболее распространен и он же чаще всего встречается в ноутбуках (лишь Apple продолжает устанавливать шестиконтактные разъемы). Соединить маленький разъем и большой коннектор (или наоборот) можно через специальный кабель-переходник.

FireWire 800 (IEEE 1394b-2002). В 2002 году было принято еще одно дополнение к стандарту FireWire. Оно получило название IEEE 1394b (а первая версия стала именоваться IEEE 1394a) или FireWire 800. Цифра "800" прямо указывает на максимальную скорость передачи данных - 800 Мбит/с.



Коннектор FireWire 800

Вдвое более высокая скорость потребовала разъем другого типа. Теперь в нем уже используется 9 контактов. При этом была сохранена обратная совместимость с FireWire 400 через кабель-переходник. Конечно, подключая старые устройства к новому порту или наоборот скорость упадет.

Заметим, что 800 Мбит/с для IEEE 1394b не предел. В тестовом режиме поддерживается передача на скорости до 3200 Мбит/с, но эта возможность будет раскрыта несколько позже. Также стало возможным использовать два типа кабеля: обычный и оптический. В первом случае максимальная длина составит 5 метров, а во втором - до 100 метров. Электрические характеристики обновленного стандарта не изменились.

FireWire 800 сегодня чаще всего можно встретить в рабочих станциях и компьютерах Apple. На обычные материнские платы пока если и устанавливается, то FireWire 400. Да и пока на рынке сравнительно мало устройств с поддержкой более быстрой спецификации FireWire. Как правило это внешние жесткие диски, объединенные в RAID-массив. Да и то, они чаще всего поддерживают передачу по 3-4 интерфейсам (USB 2.0, FireWire 400/800, eSATA).

FireWire S800T (IEEE 1394c-2006). Главное нововведение этого стандарта - поддержка возможности использования витой пары категории 5e, на конце которой разведены обычные коннекторы RJ-45. Первое нововведение потребовало и второго - автоматического определение подключенного кабеля. Кроме этого были внесены незначительные изменения и исправления в IEEE 1394b.

FireWire S3200. Ну и о будущем. Объявление о планах выпустить USB 3.0 не могло не отразиться на FireWire. Итог - в декабре было объявлено о намерениях представить спецификацию стандарта, способного передавать на скорости до 3.2 Гбит/с. И в данном случае сделать это, вероятно, будет проще чем с USB. Ведь современный FireWire 800 уже может передавать на такой скорости данные. Остается лишь отладить технологию и хорошо ее протестировать, а не серьезно дорабатывать.

На этом создатели FireWire останавливаться не собираются. Следующий на очереди стандарт со скоростью передачи до 6.4 Гбит/с. Правда, если S3200 может появится в течение года-двух, то второй пока неизвестно когда увидит свет. Но надо полагать, затягивать с ним не станут.

В конце рассказа о FireWire попробуем разобраться почему при всей его прелести он №2 после USB. Первый аргумент против - более низкая скорость (если сравнить наиболее распространенный FireWire 400 и USB 2.0). Тем не меняя, речь идет о теоретической максимальной пропускной способности. Она достижима, но лишь при определенных условиях, довольно редко выполняемых в реальности.

Мы не стали сами тестировать скорость (все же это не статья "Что выбрать: USB или FireWire?"), но нашли в Интернете довольно много отзывов и заметок по этой теме. Так вот, в реальных ситуациях FireWire оказывается практически всегда быстрее. Разница порой может составлять довольно много - до 30-70%. Отмечается, что скорость USB 2.0 редко превышает 35 Мбайт/с (при теоретическом пике 60 Мбайт/с), тогда как FireWire спокойно передает данные со скоростью до 49 Мбайт/с.

И возможности обеспечения питанием у IEEE 1394 куда лучше. При использовании полноразмерного шестиконтактного разъема подключение внешнего источника питания требуется куда реже, чем в случае USB. Да и устройства заряжались бы значительно быстрее.

Так почему же в каждом компьютере установлено по 4-10 портов USB и хорошо если один FireWire, а не наоборот? Потому же почему на 90% ПК проинсталлирована Windows, а на Mac OS только на 5%. В свое время Apple отказалась начать лицензирование своей операционной системы производителям компьютеров и в итоге Microsoft теперь первая.

На FireWire не было наложено столь категорических ограничений (таких, что их можно устанавливать на "яблочные" системы), но Apple, как владелец патента на технологию, вполне законно хочет получать отчисления. Для производителей компьютеров установлена такса $0.25, а для производителей оборудования (камер, внешних HDD и т.д.) - $1-2.

USB изначально открытый стандарт, ориентированный на широкую аудиоторию. То есть он банально обходится дешевле, поэтому его все и предпочли, даже сама Apple совсем не брезгует им (достаточно вспомнить MacBook Air , оснащенный только одним USB и обделенный традиционным FireWire, а также перевод iPod с FireWire на USB).

Мы же посоветуем при возможности все же использовать FireWire, особенно если требуется передавать большие объемы данных. Например, при подключении внешнего жесткого диска. Впрочем, для последнего типа устройств уже есть собственный стандарт - eSATA.

Или Firewire - это последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами. Благодаря невысокой цене и большой скорости передачи данных эта шина становится новым стандартом шины ввода-вывода для персонального компьютера. Ее изменяемая архитектура и одноранговая топология делают Fireware идеальным вариантом для подключения жестких дисков и устройств обработки аудио- и видеоинформации. Эта шина также идеально подходит для работы мультимедийных приложений в реальном времени. В этом материале приведены некоторые общие сведения о стандарте IEEE 1394.

Зачем нужен новый интерфейс

Прежде всего, посмотрите на заднюю стенку своего компьютера. Там можно найти множество всяких разъемов: последовательный порт для модема, принтерный порт для принтера, разъемы для клавиатуры, мыши и монитора, SCSI-интерфейс, предназначенный для подключения внешних носителей информации и сканеров, разъемы для подключения аудио и MIDI устройств, а также для устройств захвата и работы с видеоизображениями. Это изобилие сбивает с толка пользователей и создает беспорядок из соединительных кабелей. Причем, нередко производители ноутбуков используют и другие типы коннекторов.

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

Цифровые устройства генерируют большие объемы данных, необходимые для передачи качественной мультимедиа-информации. Например:

Высококачественное видео
Цифровые данные = (30 frames / second) (640 x 480 pels) (24-bit color / pel) = 221 Mbps

Видео среднего качества
Цифровые данные = (15 frames / second) (320 x 240 pels) (16-bit color / pel) = 18 Mbps

Высококачественное аудио
Цифровые данные = (44,100 audio samples / sec) (16-bit audio samples) (2 audio channels for stereo) = 1.4 Mbps

Аудио среднего качества
Цифровые данные = (11,050 audio samples / sec) (8-bit audio samples) (1 audio channel for monaural) = 0.1 Mbps

Обозначение Mbps - мегабит в секунду.

Для решения всех этих проблем и высокоскоростной передачи данных была разработана шина IEEE 1394 (Firewire).

IEEE 1394 - высокоскоростная последовательная шина

Стандарт поддерживает пропускную способность шины на уровнях 100, 200 и 400 Мбит/с. В зависимости от возможностей подключенных устройств одна пара устройств может обмениваться сигналами на скорости 100 Мбит/с, в то время как другая на той же шине - на скорости 400 Мбит/с. В начале следующего года будут реализованы две новые скорости - 800 и 1600 Мбит/с, которые в настоящее время предлагаются как расширение стандарта. Такие высокие показатели пропускной способности последовательной шины практически исключают необходимость использования параллельных шин, основной задачей которых станет передача потоков данных, например несжатых видеосигналов, внутри компьютера.

Таким образом, Firewire удовлетворяет всем вышеперечисленным требованиям, включая:

  • Цифровой интерфейс - позволяет передавать данные между цифровыми устройствами без потерь информации
  • Небольшой размер - тонкий кабель заменяет груду громоздких проводов
  • Простота в использовании - отсутствие терминаторов, идентификаторов устройств или предварительной установки
  • Горячее подключение - возможность переконфигурировать шину без выключения компьютера
  • Небольшая стоимость для конечных пользователей
  • Различная скорость передачи данных - 100, 200 и 400 Мбит/с
  • Гибкая топология - равноправие устройств, допускающее различные конфигурации
  • Высокая скорость - возможность обработки мультимедиа-сигнала в реальном времени
  • Открытая архитектура - отсутствие необходимости использования специального программного обеспечения
Благодаря этому шина IEEE 1394 может использоваться с:
  • Компьютерами
  • Аудио и видео мультимедийными устройствами
  • Принтерами и сканерами
  • Жесткими дисками, массивами RAID
  • Цифровыми видеокамерами и видеомагнитофонами

Простейшая система для видеоконференций, построенная на шине IEEE 1394, использующая два 15 fps аудио/видео канала загрузит всего третью часть 100Mbps интерфейса 1394. Но, в принципе, для этой задачи возможно и использование 400Mbps интерфейса.

Кабель IEEE 1394

Шесть контактов FireWire подсоединены к двум проводам, идущим к источнику питания, и двум витым парам сигнальных проводов. Каждая витая пара и весь кабель в целом экранированы.

Провода питания рассчитаны на ток до 1,5 А при напряжении от 8 до 40 В, поддерживают работу всей шины, даже когда некоторые устройства выключены. Они также делают ненужными кабели питания во многих устройствах. Не так давно инженеры Sony разработали еще более тонкий четырехпроводный кабель, в котором отсутствуют провода питания. (Они намерены добавить свою разработку к стандарту.) Этот так называемый AV-разъем будет связывать небольшие устройства, как "листья" с "ветками" 1394.

Гнездо разъема имеет небольшие размеры. Ширина его составляет 1/10 ширины гнезда разъема SCSI, у него всего шесть контактов (у SCSI - 25 или 50 разъемов).

К тому же кабель 1394 тонкий - приблизительно в три раза тоньше, чем кабель SCSI. Секрет тут прост - ведь это последовательная шина. Все данные посылаются последовательно, а не параллельно по разным проводам, как это делает шина SCSI.

Топология

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

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

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

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

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

Протокол

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

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

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

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

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

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

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

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

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

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

Резюме

Таким образом, в скором будущем, на задней панели компьютера можно будет увидеть выходы всего двух последовательных шин: USB для низкоскоростных применений и Firewire - для высокоскоростных. Причем путь в жизнь у шины IEEE 1394 произойдет гораздо быстрее, чем у USB. В этом случае производители программных продуктов и аппаратуры действуют сообща. Уже сейчас доступны различные виды устройств с шиной Firewire, поддержка этой шины будет встроена в операционную систему Windows 98 и в ближайшем будущем ведущие производители чипсетов для PC встроят поддержку этой шины в свои продукты. Так что 1998 год станет годом Firewire.


Следовало бы начать с перечисления правил, которым нужно следовать при захвате видео с цифровой видеокамеры. Но все гораздо проще! Правило одно — захват производится только по интерфейсу IEEE 1394 (он же FireWire , он же iLink ). За путаницу в названиях можно поблагодарить пиар-технологов компаний, пытавшихся в свое время перетянуть одеяло на себя, «застолбив» за фирмой свое, собственное имя стандарта. К великой радости новичков, данный интерфейс все чаще называют с виду безликим IEEE 1394 , и все реже мелькают сбивающие с толку «фирменные» наименования.

Возможно, кто-то спросит: а как же порт USB? С какой целью производитель добавил в камеру еще и этот интерфейс? А предназначен он всего лишь для копирования цифровых фото с карты памяти, редкая камера теперь не обладает возможностью делать цифровые снимки. Если же у кого-то из читателей «знакомый недавно слил видео по USB», совет один: осторожно поинтересуйтесь, уж не на мобильном ли своем телефоне ваш знакомый просматривает такое видео?

И все же, «справедливости ради и порядка для»: USB и карты памяти используются не только ИСКЛЮЧИТЕЛЬНО для фотографий. Дело в том, что некоторые модели камер всё же позволяют при помощи фирменных утилит захватывать DV-видео по USB2.0, хотя правильным назвать этот способ можно с большой с натяжкой.

В любой цифровой видеокамере присутствует гнездо, внешне напоминающее порт mini-USB, однако оно имеет меньшие размеры и часто обозначается буквами DV и рядышком i . Тем, у кого есть не очень старый ноутбук, не приходится задумываться — скорее всего в нем уже есть встроенный порт IEEE 1394, а в комплекте с таким ноутбуком имеется и шнур. Только подключай! Но что же делать владельцам стандартных коробок из магазина, называемых «домашний компьютер»? Редко у кого из них на материнской плате присутствует такой порт. Да и при покупке компьютера, конечно же, не задумывались о возможности обработки видео. Решение — на рисунке. Стандартная PCI плата IEEE-1394 и шнур к ней, производитель себя не называет (видимо, из скромности).

С виду — сама невзрачность, да и стоимость такого добра нынче около $10-15. Но это — все, что требуется для «правильного» перегона цифрового видео на жесткий диск компьютера для дальнейшей обработки. Если вы, конечно, запаслись необходимой программой. Впрочем, дальнейшие искания убедят вас, что пресловутый захват вполне можно производить и с помощью «программ-комбайнов», а то и вовсе с помощью встроенного в Windows XP хоть и примитивного, но видеоредактора, называемого Windows Movie Maker .

Итак, распечатывайте эту фотографию и — в ближайшую лавку компьютерных комплектующих! Пусть вас не смущает цена, ведь не секрет, что за одну лишь яркую наклейку с именем известного производителя подчас просят втрое против noname-изделия. Как правило, платы и кабели «врассыпуху» от неизвестных производителей работают ничуть не хуже тех, что продаются в красочных коробках. Если же хотите прежде услышать мнения других людей, прочтите соответствующее в форуме.

И, наконец, последний совет (если вы еще не ушли в магазин). Захватите с собой вашу видеокамеру. Дело в том, что производители встраивают в камеры разные типы портов IEEE 1394: 4 или 6-пиновые. Соответственно, в продаже могут быть и разные платы, разные кабели. Попросите продавца подобрать вам такую плату и такой кабель, которые подходят друг к другу, и, разумеется, к вашей камере.

Остается лишь вставить плату в PCI-слот компьютера (в Windows XP драйверы установятся автоматически), и подключить камеру. Имейте в виду: чтобы ваша камера опозналась системой как цифровое видеоустройство, она должна быть включенной и находиться в режиме Play, при этом те камеры, где есть переключатель режимов Video/Memory, должны быть включены в режим Video. В процессе установки драйверов могут быть затребованы необходимые файлы, находящиеся на диске с драйверами к вашей камере.

Если вы подключили все как полагается, в Диспетчере устройств появятся два новых пункта:

А в трее рядом с часами появится значок, обозначающий готовое к работе цифровое видеоустройство:

Теперь ваша камера может работать в связке с компьютером как DV-камкордер, подчиняясь командам управляющей программы. Об этих программах читайте в соответствующем разделе Путеводителя .

Важность взаимодействия между различными компонентами и устройствами в компьютерной технике сложно переоценить. Без такого взаимодействия просто не было бы самой компьютерной техники. Но, с самого начала развития компьютеров каждый производитель решал (а кое-где и продолжает решать) эти проблемы по-своему. Как грибы после дождя росло количество всевозможных шин и разъёмов, по которым перегонялись данные, как внутри компьютера, так и снаружи. Но, если такое разнообразие решений внутри железной коробки шло (и идёт) во благо, стимулируя технический прогресс, то с периферией всё происходит наоборот. Море разных шин и разъёмов, которыми периферия может подключаться к компьютерам не выгодно никому - ни производителям самих компьютеров, ни производителям периферии. Стало ясно, что нужны универсальные шины. И они появились. К сожалению, общий беспорядок(когда каждый тянул одеяло на себя), не миновал и эту область. Поэтому, в середине девяностых годов, взглянув на заднюю стенку компьютера, можно было увидеть кучу разнообразных разъёмов: COM, LPT, VGA, PS/2 и некоторые другие. Каждый из этих разъёмов имел свои недостатки, требовал от разработчиков отдельной реализации и требовал свою долю отнюдь не безграничных компьютерных ресурсов. Необходимость действительно универсального разъёма назрела, и разработчики с энтузиазмом принялись за работу. Так, например, небезызвестная фирма Intel с середины девяностых годов начала агрессивно проталкивать на рынок своё детище - USB (Universal Serial Bus). По сравнению с существовавшими на то время разъёмами, USB стал подлинным прорывом, обеспечивая казалось бы, всё, о чём можно было мечтать. Но это только казалось:-) В тени шумихи вокруг USB тогда мало кто заметил рождение ещё одного формата, использующего последовательную шину (Serial Bus), который умел не меньше (а то и больше), чем его широко разрекламированный конкурент. Это IEEE 1394.

С чего всё начиналось

История IEEE 1394, теперь известного также как FireWire и как i-Link, началась ещё в 1986 году, когда члены Microcomputer Standards Committee (Комитет по Стандартам Микрокомпьютеров) захотели объединить существовавшие в то время различные варианты последовательной шины (Serial Bus). Новый проект был призван объединить существовавшие на то время наработки: IEEE 1014 VME, IEEE 1296 Multibus II, и IEEE 896 FutureBus+®. Задачей разработчиков стало создание универсального I/O (Input/Output) внешнего интерфейса, пригодного как для работы с мультимедиа, так и для работы с накопителями данных (Mass Storage Device), не говоря уже о более простых вещах - вроде принтеров, сканеров, и тому подобного. Результатом труда разработчиков стал окончательно утверждённый 12 декабря 1995 года 10 мегабайтный документ под названием 1394-1995.pdf, который описывал IEEE 1394. В названии стандарта нет никакого тайного смысла - просто это был 1394 по счёту стандарт, выпущенный комитетом. Интерфейс, который описывался в этом документе был воистину революционным. Он обеспечивал просто невероятные по тем временам скорости и удобство. Ведущую роль в разработке стандата сыграла, была Apple, которая дала ему имя FireWire, поэтому нет ничего удивительного в том, что она сразу же сделал ставку на использование этого стандарта в своих компьютерах (как обычно, Apple пошёл своим путём, и, пока пользователи PC заглядывали в рот Intel с недавно появившемся USB, сделал ставку на FireWire. Хотя и USB не был забыт. Настоящей лебединой песней для IEEE 1394 стало появление любительских DV камер. Ещё при их разработке стало ясно, что, кроме IEEE 1394 в качестве внешнего интерфейса для них ничего не подходит. Поэтому, Digital VCR Conference (DVC) приняла решение использовать IEEE 1394 как стандартный интерфейс для цифровых камер. Первой ласточкой стала Sony c DCR-VX1000 и DCR-VX700 цифровыми камерами, которые впервые имели IEEE 1394 выход. Но, вскоре за Sony подтянулись и другие производители. И сегодня IEEE 1394 практически монополизировал этот быстро развивающийся рынок. Сегодня любая, произведённая сегодня DV камера в обязательном порядке оснащается IEEE 1394 интерфейсом.

Свою лепту в развитие IEEE 1394 внесла и Texas Instruments, организовавшая массовое производство действительно дешёвых микросхем для реализации IEEE 1394 интерфейса, что сыграло огромную роль в бурном росте количества IEEE 1394 контролёров в персональных компьютерах.

Несмотря на такой успех нового стандарта (он оказался востребованным ещё до выхода окончательной спецификации), разработчики не стояли на месте. Уже в 2000 году вышла 1394a-2000 версия протокола, сразу же с энтузиазмом воспринятая производителями. А сегодня разрабатывается P1394b.

Что же такого хорошего в IEEE 1394?

Как уже говорилось, разработчики опирались на выпущенные ранее стандарты, и в IEEE 1394 вошло всё лучшее, что существовало на тот момент. Из главных особенностей IEEE 1394 можно отметить:

  • Последовательная шина вместо параллельного интерфейса позволила использовать кабеля малого диаметра и разъёмы малого размера.
  • Поддержка горячего подключения и отключения всего чего угодно.
  • Питание внешних устройств через IEEE 1394 кабель.
  • Высокая скорость
  • Возможность строить сети из различных устройств и самой различной конфигурации.
  • Простота конфигурации и широта возможностей. Через IEEE 1394 может работать самое различное оборудование, причём пользователю не придётся мучаться вопросом, как это всё правильно подключить.
  • Поддержка асинхронной и синхронной передачи данных.
На последнем пункте необходимо остановиться поподробнее.

Асинхронная передача . Asybnchronous, от греческого Asyn - другой и Chronous - время. Это означает, что данные обязательно будут доставлены в целости и сохранности, пусть и не всегда в срок. Получение каждого пакета проверяется и подтверждается, если пакет не дошёл, передача будет повторена заново.

Синхронная передача . Isochronous, от греческого Iso - тот же, такой же и Chronous - время. Это означает, что скорость и непрерывность потока важнее, чем сохранность данных. Если пакет пришёл с ошибкой, или не пришёл вообще, это даже не проверяется, не говоря уже о том, чтобы переслать пакет заново. Этот тип передачи отлично подходит для мультимедийных приложений, где потеря какой-либо части информации менее критична, чем большая задержка.

Как это всё работает?

IEEE 1394 делится на несколько уровней. Выглядит это так:

Внизу находится физический уровень (Physical Layer). Аппаратная составляющая, которая отвечает за перевод сигналов, полученных по кабелям в понятную компьютеру форму (и наоборот - за перевод данных в электрические сигналы, идущие по кабелям). Эта же часть отвечает за управление физическим каналом, т.е. определяет, должно устройство занимать канал прямо сейчас, или должно подождать. Кроме того, этот же уровень обеспечивает интерфейс для кабелей и разъёмов и отвечает за следующие процессы:

Интерфейс среды (Media Interface) - отвечает за состояние сигнала, передаваемого по кабелям.

Арбитраж (Arbitration) - различные IEEE 1394 устройства, включенные в сеть разбираются между собой, кто и в каком порядке может действовать.

Кодирование/Декодирование (Encode/Decode) - перевод данных в электрические сигналы, которые могут передаваться по кабелям и обратно.

Уровнем выше расположен уровень канала (Link Layer). Сюда доставляются уже готовые пакеты данных. Именно этот уровень отвечает за пересылку данных вверх и вниз, тут происходят следующие процессы:

Приёмник пакетов (Packet Receiver) - организует и отвечает за приём пакетов данных.

Передатчик пакетов (Packet Transmitter) - организует и отвечает за передачу пакетов данных.

Контроль циклов (Cycle Control) - пакеты передаются не поодиночке, а циклами. Здесь и осуществляется контроль над этими циклами.

Эти два уровня реализованы в "железе", т.е. выполняются аппаратно. Они полностью отвечают за формирование сигнала из данных, формирование данных из сигнала, и приём/передачу в нужное время и в нужное место. Поэтому, только этих двух уровней и хватает при синхронной передаче, когда никакого контроля над тем что передаётся и получается не требуется. При асинхронной передаче это не так, и там в действие вступает:

Сетевой уровень (Transaction Layer). На этом уровне происходит проверка полученных данных. Если всё нормально (ни один пакет не потерялся или не повредился), данные отправляются потребителю. Если обнаружена ошибка - возвращаемся на физический уровень и повторяем всё сначала, пока данные не будут получены без ошибок.

Все уровни (в том числе и первые два) контролируются firmware, и этот процесс называется менеджмент последовательной шины (Serial Bus management).

Такие процессы происходят в каждом IEEE 1394 устройстве, и два любых устройства образовывают между собой соединение типа точка-точка (point-to-point). Но, кроме этого, IEEE 1394 позволяет объединять множество таких устройств и соединений в одну логическую сеть. Для этого физический уровень (physical layer) позволяет иметь больше одного физического интерфейса на одном устройстве.

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

Инициализация сети происходит в несколько этапов:

Сброс (reset) - происходит каждый раз, когда требуется. Причиной для сброса может стать, например, физическое изменение конфигурации сети (подключили новое устройство или отключили старое). Со сброса шины и начинается процесс инициализации сети. Конфигурация, сформировавшаяся при этом, остаётся действительной и неизменной до следующего сброса шины.

Идентификация дерева (Tree identification) - подключенные устройства выясняют, какие из них родительские, а какие дочерние, и формируют логическое дерево. Определяется корневое устройство для всего дерева.

Примечание: Первое, что определяет устройство после включения, это сколько подключенных портов оно имеет. Один (leaf) или несколько (branch). Затем определяется родительские (parent) и дочерние (child) устройства (какое к какому подключено). На основе этих данных строится дерево и определяется корневое устройство.


Самоидентификация (Self identification) - каждое из устройств получает свой собственный ID узла внутри дерева, и выясняет на каких скоростях могут работать его непосредственные соседи. Топология полностью определена. Для адресации используются принципы, описанные в IEEE 1212. Это означает 64 битную прямую адресацию (48 бит на узел, остальные 16 используются дли идентификации шины), что позволяет организовать иерархическую адресацию для 63 узлов на 1023 шинах. Единственное ограничение - между двумя устройствами, которые хотят общаться между собой, должно быть не более 16 "хопов" (сегментов).

Инициализация сети завершена, в действие вступает нормальный арбитраж - рабочий режим работы сети. Устройства обмениваются данными, а корневое устройство следит за тем, чтобы они друг другу не мешали. Происходит это так:

Устройство, которое хочет начать передачу, вначале посылает запрос своему родительскому устройству. Родительское устройство, получив запрос, запрещает передачу всем остальным дочерним (в один момент обрабатывается только один запрос) и, в свою очередь, передаёт запрос дальше, своему родительскому устройству, где всё повторяется. В итоге запрос доходит до корневого устройства, которое, в свою очередь, разрешает передачу тому устройству, чей запрос пришёл первым. Всем остальным передача запрещается. Таким образом, если два устройства одновременно пошлют запрос на передачу данных, то ответ будет зависеть от того, чей запрос первым достигнет корневого устройства. Оно выигрывает арбитраж и получает право начать передачу. Проигравшее устройство. не получив разрешения на передачу, вынуждено ждать, пока выигравшее не освободит шину.


Всё это происходит на физическом уровне (physical layer). После того, как разрешение на передачу данных получено и требуется начать передачу данных, в дело вступает уровень канала (link layer). Как уже говорилось, именно он формирует пакеты и определяет - когда и сколько пакетов должно отсылаться. Передача данных начинается с запроса готовности к приему устройства, для которого предназначены данные, и, получив подтверждение готовности, начинает передачу. Данные идут пакетами, между которыми есть промежутки (gap). Типичный пакет данных 256 байт, или 2048 бит, из которых 160 бит приходится на заголовок. Таким образом, общая эффективность (сколько в пакете действительно данных, а не служебной информации) весьма высока и чем больше пакет, тем выше эффективность). В заголовок входит информация об отправителе, получателе и CRC. После пакета идёт небольшой промежуток, длиной меньше 0.75 msec (acknowledge gap), после чего получатель должен выслать 8-ми битовый блок данных, подтверждающий, что пакет получен в целости и сохранности (ack packet). Потом следует более длинный промежуток, длинной больше 1 msec, разделяющий пакеты (subaction gap). И так далее - пакет, acknowledge gap, подтверждающий байт (ack), subaction gap.

Для того, чтобы одно устройство, начав передавать данные, не заняло весь канал, не оставив соседям никаких шансов начать передачу, пока оно не закончит, введено понятие fairness interval. В течении одного fairness interval каждое устройство в шине получает одну возможность передать свои данные. После того как разрешение получено (арбитраж выигран), и порция данных передана, устройство должно ждать конца fairness interval и начала следующего цикла, прежде чем оно вновь получит возможность передать следующую порцию данных. Заканчивается fairness interval так называемым reset gap, который длиннее subaction gap, и вызывает сброс всей шины.

Для синхронной передачи используется несколько другая методика. Данные передаются "выстрелами", длина каждого 125 мsec. Таких выстрелов производится столько, сколько позволяет канал. Даже на одинарной (98.304 Mbit/sec) скорости за один такой цикл передаётся до 1000 байт. Чем выше скорость, тем больше данных успевает пройти. При этом, при синхроной передаче абсолютно не важно, получило принимающее устройство данные или нет. Пакеты просто идут один за другим, разделённые subaction gap, никаких ack packet никто не ждёт. Для того, чтобы принимающее устройство смогло разобраться, где синхронные, а где асинхронные данные, subaction gap при синхронной передаче короче. Это позволяет комбинировать в одном сеансе синхронные данные с асинхронными. Однако, в синхроном режиме одному устройству никогда не позволят захватить весь доступный канал. На синхроные данные может приходится не более 85% доступного канала, причём одно устройство не может занять больше 65%.

Как всё это выглядит?

IEEE 1394 позволяет передавать данные на скорости 98.304 Mbit/sec. Кроме этого, возможна передача в 2-x (196.608 Mbit/sec) и 4-x (393.216 Mbit/sec) режимах.

Первоначально появились чипы, которые способны работать только на 100 Мбитах (хотя спецификация позволяла и больше), но 200 и 400-мегабитные чипы не заставили себя долго ждать. Несмотря на такой кажущийся беспорядок, пользователи не должны испытывать ни малейших неудобств (это было одно из обязательных условий, которое ставилось перед разработчиками). Поэтому IEEE 1394 позволяет в одной сети использовать самые разные устройства одновременно. Причём, пользователю не придётся беспокоиться о том, что он может неправильно их подключить. Подключать можно что угодно, и в каких угодно сочетаниях, железки сами разберутся, кто с кем и на какой скорости может "разговаривать".

Для работы на таких высоких скоростях потребовались соответствующие кабели. Кабель для IEEE 1394 весьма сложная система, и спаять его самостоятельно (что возможно для USB) вряд ли возможно. Данные передаются по двум витым парам, каждая из которых отдельно экранирована. Для пущей надёжности, дополнительно экранируется и весь кабель. Кроме двух сигнальных пар, в кабеле предусмотрены две питающие жилы, которые могут обеспечить любое внешнее устройство током силой до 1.5 А и напряжением до 40 V. В разрезе кабель выглядит так:


Выбору разъёма, к которому должны подключаться IEEE 1394 устройства, было уделено самое пристальное внимание, ведь от разъёма в немалой степени зависит то, насколько удобно будет пользоваться новым интерфейсом. Разъём должен быть небольшим, но в то же время прочным, должен обеспечивать надёжное соединение, но в то же время легко соединяться-отсоединяться даже вслепую. Всем требованиям удовлетворил разъём, используемый в Nintendo GameBoy.

Как видно из фотографии, все контакты выведены в середину разъёма, а снаружи защищены толстым ободком из твёрдой пластмассы. Надёжность этой схемы доказана многими GameBoy, беспощадно растерзанными детьми разных возрастов.

Но даже такой продвинутый и удобный разъём не всех удовлетворил. В самом деле, зачем нам тянуть за собой две питающих жилы там, где подключенное устройство имеет собственное питание. Действительно незачем, решили разработчики и на свет появился новый, четырёхконтактный разъём. Этот новый разъём хоть и не обеспечивал такого надёжного соединения как традиционный шестиконтактный, зато позволял сэкономить место, что немаловажно на портативных устройствах. Кроме этого, кабель без двух дополнительных жил, ответственных за питание, можно сделать ещё тоньше и дешевле. Особо "по вкусу" четырёхконтактные разъёмы пришлись производителям компактных DV камер, и именно их можно увидеть на большинстве таких камер.

Производители материнских плат включают в свои последние решения поддержку обоих разъёмов:

Как это всё развивалось, и что мы имеем сегодня

Ничего идеального в мире нет, и IEEE 1394 не получился идеальным. Поэтому, выпустив первую версию стандарта в 1995 году, команда разработчиков не стала почивать на лаврах, а продолжила работу над следующими версиями стандарта. Так, уже в 2000 году вышла 1394а версия стандарта.