Универсальный внешний интерфейс: IEEE 1394 (FireWire)

Универсальный внешний интерфейс: IEEE 1394 (FireWire)

14 июля 2015
ieee-1394-1.jpg

Внешний вид современного персонального компьютера радует глаз. Серенькие китайские «тазики» давно канули в Лету. Фирмы-производители корпусов соревнуются, предлагая покупателю ультрасовременный дизайн на любой вкус, но если посмотреть на заднюю стенку «системника», создается впечатление, что за последние 10-15 лет ничего не изменилось: та же путаница кабелей, множество разъемов самых разных форм и размеров…

В декабре 1995 года был утверждён стандарт под названием IEEE-1394 (IEEE – Institute of Electrical and Electronic Engineers, 1394 – порядковый номер стандарта). Новый стандарт сулил фантастические по тем временам скорости обмена и удобство подключения оборудования.

Такое положение дел – следствие идеологической ошибки, допущенной на самых ранних этапах развития персоналок. Тогда никому и в голову не приходила идея о необходимости создания единого программно-аппаратного интерфейса для связи ПК с периферийным оборудованием. Для клавиатуры использовали разъем DIN, для принтера – LPT, для мыши – COM, причем разъемы COM существовали в двух конструктивах. Потом для подключения мыши и клавиатуры стали использовать разъемы mini-DIN (PS/2), свои разъемы устанавливались на звуковых картах для джойстиков и на SCSI-контроллерах. Словом, подключение периферийного оборудования к ПК стало для пользователей причиной изрядной головной боли, а для производителей периферии сложившаяся ситуация грозила падением объема продаж и снижением доходов. Со всей остротой встал вопрос о создании единого программно-аппаратного интерфейса для подключения к ПК любого периферийного оборудования.

В середине 90-х годов фирма Intel объявила о создании USB – Universal Serial Bus и начала активно продвигать свою разработку на рынок, однако первой была все-таки не она.

Для цифровых видеокамер IEEE-1394 оказался единственно возможным внешним интерфейсом.

Еще в 1986 году Комитет по стандартам микрокомпьютеров поставил перед своими специалистами задачу по созданию универсального I/O (Input/Output) внешнего интерфейса, пригодного как для работы с мультимедиа, так и для работы с накопителями данных и другой периферией вроде принтеров и сканеров. В результате почти десятилетней работы в декабре 1995 года был утверждён стандарт под названием IEEE-1394 (IEEE – Institute of Electrical and Electronic Engineers, 1394 – порядковый номер стандарта). Новый стандарт сулил фантастические по тем временам скорости обмена и удобство подключения оборудования. Пожалуй, главный вклад в разработку нового стандарта внесла американская фирма Apple, которая традиционно считается законодателем мод в области ПК. Вскоре Apple зарегистрировала товарный знак «FireWire» и начала использовать новый стандарт в своих компьютерах. В апреле 1997 года поддержка FireWire впервые появилась в составе операционной системы Mac OS, а массовое появление периферии с интерфейсом FireWire началось в 1999 году, когда он стал стандартным компонентом всех профессиональных компьютеров Power Macintosh G3 и G4, а с осени – потребительских систем iMac DV.

Распространению FireWire в значительной степени способствовало то обстоятельство, что для цифровых видеокамер IEEE-1394 оказался единственно возможным внешним интерфейсом, и было принято решение использовать IEEE-1394 как стандартный интерфейс для них. Первыми цифровыми камерами с FireWire были модели DCR-VX1000 и DCR-VX700 фирмы Sony, но вскоре, оценив преимущества нового интерфейса, его стали использовать и другие производители. В настоящее время все современные цифровые видеокамеры имеют интерфейс IEEE-1394.

Что представляет собой FireWire

FireWire – это по сути высокоскоростная последовательная шина, обеспечивающая «горячее» подключение до 63 устройств с полной поддержкой принципа Plug-and-Play. Передача данных осуществляется по тонкому и гибкому кабелю длиной до 4,5 метров со скоростью 50 МБ/с (400 Мбит/с).

FireWire – это по сути высокоскоростная последовательная шина, обеспечивающая «горячее» подключение до 63 устройств с полной поддержкой принципа Plug-and-Play. Передача данных осуществляется по тонкому и гибкому кабелю длиной до 4,5 метров со скоростью 50 МБ/с (400 Мбит/с).

Интерфейс IEEE-1394 условно разбит на три уровня: физический уровень, уровень компоновки данных и уровень обработки.

Главными особенностями IEEE-1394 являются:

  • Высокая скорость передачи данных;
  • Поддержка «горячего» («fire», то есть без отключения питания и/или перезагрузки операционной системы) подключения периферийного оборудования;
  • Возможность питания подключаемых устройств от блока питания компьютера через IEEE-1394 кабель;
  • Возможность строить сети различной конфигурации из самых разных устройств. Это означает, что оборудование с интерфейсом IEEE-1394 можно соединять не только с ПК, но и друг с другом, причем конфигурирование сети выполняется автоматически;
  • Использование последовательной шины вместо параллельного интерфейса. Благодаря этому стало возможным использовать тонкие (диаметром всего лишь 6 мм) кабели и миниатюрные разъемы;
  • Поддержка асинхронной и синхронной передачи данных. Синхронная передача данных, как правило, применяется в мультимедийных приложениях, где временные задержки недопустимы, а асинхронная – при передаче файлов, где потеря даже одного пакета является критичной.

Интерфейс IEEE-1394 условно разбит на три уровня: физический уровень, уровень компоновки данных и уровень обработки (см. рис 1).

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

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

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

Физический уровень и уровень компоновки данных являются аппаратными (Hardware) и представляют собой специализированные микросхемы.

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

Если к ПК подключено более одного FireWire-устройства, автоматически создается логическая сеть

Если к ПК подключено более одного FireWire-устройства, автоматически создается логическая сеть по следующему алгоритму.

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

ieee-1394-3.jpg
Рис. 2. Дерево узлов IEEE 1394

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

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

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

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

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

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

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

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

Кабели и разъемы

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

ieee-1394-4.jpg
Рис. 3. Разрез кабеля FireWire

После долгих поисков удалось подобрать прочный и компактный разъем, который можно подключать вслепую. Его взяли от игровой приставки Nintendo GameBoy. По конструкции разъем напоминает отечественный разъем типа РША: силовые и сигнальные контакты размещены по центру и защищены прочным прямоугольным пластмассовым кожухом, два угла которого скошены, чтобы исключить неправильное подключение (рис. 4, 5).

ieee-1394-5.jpg
Рис. 4. Разъем IEEE 1394
(6 контактов) блочный
ieee-1394-6.jpg
Рис. 5. Разъем IEEE 1394 кабельный
Для устройств, не использующих питание по кабелю FireWire, в частности для цифровых видеокамер, предусмотрели облегченный четырехжильный кабель с миниатюрным разъемом. Длина такого кабеля равна 96 см.

Для устройств, не использующих питание по кабелю FireWire, в частности для цифровых видеокамер, предусмотрели облегченный четырехжильный кабель с миниатюрным разъемом. Длина такого кабеля равна 96 см. Как правило, материнские платы компьютеров, поддерживающие FireWire, имеют в комплекте планку с обоими типами разъемов (рис. 6).

ieee-1394-7.jpg
Рис. 6. Кабель IEEE 1394 i-Link

IEEE 1394a

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

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

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

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

IEEE 1394b

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

ieee-1394-8.jpg
Рис. 7. Кабельный переходник IEEE 1394

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

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

ieee-1394-9.jpg
Рис. 8. Арбитраж BOSS IEEE 1394b

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

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

USB 2.0 и IEEE 1394а

Все современные компьютеры оснащены портами USB 2.0, которые являются быстродействующей версией получивших массовое распространение портов USB 1.1. Основная сфера применения USB 2.0 осталась прежней. Это подключение периферийных устройств типа мышей, цифровых фотокамер, картридеров и других устройств, не требующих гарантированно постоянной пропускной способности.

Все современные компьютеры оснащены портами 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 составляет 480 Мб/с, максимальная передаваемая мощность на питание внешних устройств – 2,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 легко соединить между собой, причем не обязательно вокруг компьютера.

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


Подпишитесь на рассылку
и получайте популярные статьи, видео и кейсы за неделю в одном письме