IEEE 1394 (Firewire) — новая последовательная шина
Введение
IEEE 1394 или Firewire — это последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами. Благодаря невысокой цене и большой скорости передачи данных эта шина становится новым стандартом шины ввода-вывода для персонального компьютера. Ее изменяемая архитектура и одноранговая топология делают Firewire идеальным вариантом для подключения жестких дисков и устройств обработки аудио- и видеоинформации. Эта шина также идеально подходит для работы мультимедийных приложений в реальном времени. В этом материале приведены некоторые общие сведения о стандарте 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 удовлетворяет всем вышеперечисленным требованиям, включая:
Благодаря этому шина IEEE 1394 может использоваться с:
Простейшая система для видеоконференций, построенная на шине 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 байт) для каждого узла.
Однако есть несколько ограничений. Между любыми двумя узлами может существовать не больше 16 сетевых сегментов, а в результате соединения устройств не должны образовываться петли. К тому же для поддержки качества сигналов длина стандартного кабеля, соединяющего два узла, не должна превышать 4,5 м.
Протокол
Интерфейс позволяет осуществлять два типа передачи данных: синхронный и асинхронный. При асинхронном методе получатель подтверждает получение данных, а синхронная передача гарантирует доставку данных в необходимом объеме, что особенно важно для мультимедийных приложений.
Протокол IEEE 1394 реализует три нижних уровня эталонной модели Международной организации по стандартизации OSI: физический, канальный и сетевой. Кроме того, существует «менеджер шины», которому доступны все три уровня. На физическом уровне обеспечивается электрическое и механическое соединение с коннектором, на других уровнях — соединение с прикладной программой.
На физическом уровне осуществляется передача и получение данных, выполняются арбитражные функции — для того чтобы все устройства, подключенные к шине Firewire, имели равные права доступа.
На канальном уровне обеспечивается надежная передача данных через физический канал, осуществляется обслуживание двух типов доставки пакетов — синхронного и асинхронного.
На сетевом уровне поддерживается асинхронный протокол записи, чтения и блокировки команд, обеспечивая передачу данных от отправителя к получателю и чтение полученных данных. Блокировка объединяет функции команд записи/чтения и производит маршрутизацию данных между отправителем и получателем в обоих направлениях.
«Менеджер шины» обеспечивает общее управление ее конфигурацией, выполняя следующие действия: оптимизацию арбитражной синхронизации, управление потреблением электрической энергии устройствами, подключенными к шине, назначение ведущего устройства в цикле, присвоение идентификатора синхронного канала и уведомление об ошибках.
Чтобы передать данные, устройство сначала запрашивает контроль над физическим уровнем. При асинхронной передаче в пакете, кроме данных, содержатся адреса отправителя и получателя. Если получатель принимает пакет, то подтверждение возвращается отправителю. Для улучшения производительности отправитель может осуществлять до 64 транзакций, не дожидаясь обработки. Если возвращено отрицательное подтверждение, то происходит повторная передача пакета.
В случае синхронной передачи отправитель просит предоставить синхронный канал, имеющий полосу частот, соответствующую его потребностям. Идентификатор синхронного канала передается вместе с данными пакета. Получатель проверяет идентификатор канала и принимает только те данные, которые имеют определенный идентификатор. Количество каналов и полоса частот для каждого зависят от приложения пользователя. Может быть организовано до 64 синхронных каналов.
Шина конфигурируется таким образом, чтобы передача кадра начиналась во время интервала синхронизации. В начале кадра располагается индикатор начала и далее последовательно во времени следуют синхронные каналы 1, 2… На рисунке изображен кадр с двумя синхронными каналами и одним асинхронным.
Оставшееся время в кадре используется для асинхронной передачи. В случае установления для каждого синхронного канала окна в кадре шина гарантирует необходимую для передачи полосу частот и успешную доставку данных.
Резюме
Таким образом, в скором будущем, на задней панели компьютера можно будет увидеть выходы всего двух последовательных шин: USB для низкоскоростных применений и Firewire — для высокоскоростных. Причем путь в жизнь у шины IEEE 1394 произойдет гораздо быстрее, чем у USB. В этом случае производители программных продуктов и аппаратуры действуют сообща. Уже сейчас доступны различные виды устройств с шиной Firewire, поддержка этой шины будет встроена в операционную систему Windows 98 и в ближайшем будущем ведущие производители чипсетов для PC встроят поддержку этой шины в свои продукты. Так что 1998 год станет годом Firewire.
Дополнительная информация
Дополнительную информацию о шине IEEE 1394 можно получить на сайтах:
IEEE 1394 против USB 2.0: холодная война с огоньком
Там где есть две стороны и соперничество, конкуренция, конфликт между ними, обычно одна одерживает верх. Ситуации же паритета — или, правильнее сказать, холодной войны — сравнительно редки и нестабильны. Именно в таком состоянии находились до середины минувшего года два стандарта высокоскоростных последовательных шин — USB 2.0 (Hi-Speed USB) и IEEE 1394 (FireWire или i.LINK). Война потеплела после интеграции контроллеров USB 2.0 в чипсеты для PC, но победитель все равно не ясен. Не ясно даже, определится ли он в будущем.
Ретроспектива
В первую очередь, как к ветерану, обратимся к стандарту 1394 — ведь у него уже солидная 15-летняя история. Идея быстрой последовательной шины зародилась в 1986 г. в недрах корпорации Apple Computer. Интерфейс Ultra SCSI-1 (шина задумывалась, как альтернатива ему) мог обеспечить пиковую пропускную способность в 20 Мбайт/с, а разработка Apple позволяла улучшить этот показатель в два с половиной раза — до 400 Мбит/с (кроме того, были предусмотрены режимы 100 и 200 Мбит/с). Тогда же Apple зарегистрировала торговую марку «FireWire», под которой в настоящее время шина и известна больше всего. Уже через год была выпущена первая спецификация. Apple начала продвигать интерфейс на рынок в качестве мощного и простого в употреблении средства для подключения (главным образом, к компьютерам собственного производства) видеокамер, высокоскоростных принтеров, внешних жестких дисков и прочих устройств, требовательных к пропускной способности соединения. Шли годы, поддержка FireWire со стороны производители чипов и бытовой цифровой электроники медленно, но верно возрастала. В 1994 г. Apple и множество сочувствующих компаний объединились в консорциум, чуть доработали спецификацию, и она была официально принята IEEE в 1995 г. Так родился оригинальный стандарт 1394 (IEEE 1394-1995).
Первый блин, как и следовало ожидать, вышел комом: всплыли проблемы совместимости, особенно в разнородном стане PC. Что ж, такова судьба многих стандартов на первых порах: многое дается на откуп интерпретаторским талантам реализаторов, а реализаторы, не имея нот перед глазами, неизбежно поют вразнобой, не смотря на чуткое следование палочке дирижера. Поэтому, следующим шагом стала разработка новой редакции стандарта — IEEE 1394a (официально принята в 2000 г.). Она прояснила темные места, сделала обязательными некоторые опционные части и добавила детали, улучшившие производительность. Кроме того, появилась спецификация 1394 OHCI (Open Host Controller Interface), благодаря которой остались в прошлом несовместимые друг с другом проприетарные FireWire-карты. Это (и тот факт, что 1394 стал абсолютным стандартом для DV-камер) поспособствовало росту популярности шины в лагере PC (в мультимедиа-ориентированных настольных системах и ноутбуках).
Компания Intel никогда негативно не отзывалась о FireWire и даже, было такое время, активно поддерживала разработки, инвестируя Zayante. По слухам, внутри компании долгое время шли серьезные баталии по поводу того, начинать ли с FireWire войну, продвигая по всем фронтам Hi-Speed USB, или, наоборот, сдаться на милость победителя. В конце концов, компания решила поддерживать обе технологии (но предпочтение все равно отдается USB). Можно предположить, что в неуверенности Intel (или в нежелании преждевременно бить по другой перспективной шине) кроется причина странной задержки с интегрированием контроллеров USB 2.0 в чипсеты. Изначально это предполагалось сделать еще в i815, но первым чипсетом с USB 2.0 стал вышедший в середине прошлого года i845G. Сейчас практически все производители чипсетов для PC встраивают в южные мосты контролеры USB 2.0. и только один — SiS — еще и контроллеры 1394a.
Что лучше?
Несмотря на то, что интерфейсы изначально проектировались для разных целей (USB для подключения периферии к ПК, а FireWire для передачи массивных потоков аудио/видеоданных между устройствами), их распространенные сегодня инкарнации имеют более-менее похожие характеристики. Перед конечным пользователем (а, следовательно, и перед производителем оборудования) встает дилемма: какой интерфейс выбрать? Дать однозначный ответ для всех случаев невозможно даже сейчас, когда Hi-Speed USB получил массовое распространение. В какой-то мере отсутствие тотальной гегемонии одного стандарта даже хорошо — есть возможность использовать уникальные свойства каждого из них (чтобы не томить читателя, сразу заметим, два главных плюса USB 2.0 — это совместимость с USB 1.Х и низкая цена).
Комбинированный контроллер Adaptec DuoConnect USB 2.0 + IEEE 1394.
Теоретически, максимальная пропускная способность Hi-Speed USB — 480 Мбит/с — на 20% выше, чем у распространенного сегодня 1394a. С продвижением Hi-Speed USB на рынке стали появляться устройства (например, внешние жесткие диски) со сдвоенным интерфейсом или одни и те же модели с разными интерфейсами. Казалось бы, работать по USB они должны быстрее, но на практике не всё так просто: при прочих равных условиях, подключая устройство через FireWire, вы получаете лучшую производительность (и гораздо меньше проблем с горячей заменой), чем при подключении через USB 2.0. Причины этого, думается, в сырости технологии и драйверов: тут, как с первым поколением USB, нужно дождаться версии X.1 — она будет работать стабильней, полноценней и, не сглазить бы, наконец-то сравняется по производительности с шиной 1394a (которая к тому времени уже несколько устареет).
FireWire позволяет соединять устройства в произвольных ветвлениях, оборудование можно подключать (не требуется устанавливать никаких драйверов) или отключать в любое время (даже когда идет интенсивный обмен данными), при этом шина тут же автоматически перестраивается. Ей не нужно управление (работает по схеме peer-to-peer): узлы равноправны и обращаются друг к другу напрямую. Поэтому можно, например, подключить DV-камеру к приводу DVD-RAM без компьютера вообще. А если он и подсоединен к шине, информация с камеры все равно будет идти непосредственно на DVD-RAM без посредничества PC (но он может контролировать траффик, если это необходимо). Через FireWire можно соединить «как попало» (для удобства прикупив два-три хаба) несколько компьютеров, камер, принтеров, внешних CD-R и любое другое оборудование. Всё это без проблем станет функционировать с момента подключения, есть только три ограничения:
• не больше 63 устройств на одной шине (но с использованием мостов можно соединять до 1023 шин);
• между двумя устройствами не должно быть больше 16 сегментов;
• в результате соединения не должны образовываться петли (это ограничение снято в 1394b).
Универсальный внешний интерфейс: IEEE 1394 (FireWire)
Внешний вид современного персонального компьютера радует глаз. Серенькие китайские «тазики» давно канули в Лету. Фирмы-производители корпусов соревнуются, предлагая покупателю ультрасовременный дизайн на любой вкус, но если посмотреть на заднюю стенку «системника», создается впечатление, что за последние 10-15 лет ничего не изменилось: та же путаница кабелей, множество разъемов самых разных форм и размеров…
Такое положение дел – следствие идеологической ошибки, допущенной на самых ранних этапах развития персоналок. Тогда никому и в голову не приходила идея о необходимости создания единого программно-аппаратного интерфейса для связи ПК с периферийным оборудованием. Для клавиатуры использовали разъем DIN, для принтера – LPT, для мыши – COM, причем разъемы COM существовали в двух конструктивах. Потом для подключения мыши и клавиатуры стали использовать разъемы mini-DIN (PS/2), свои разъемы устанавливались на звуковых картах для джойстиков и на SCSI-контроллерах. Словом, подключение периферийного оборудования к ПК стало для пользователей причиной изрядной головной боли, а для производителей периферии сложившаяся ситуация грозила падением объема продаж и снижением доходов. Со всей остротой встал вопрос о создании единого программно-аппаратного интерфейса для подключения к ПК любого периферийного оборудования.
В середине 90-х годов фирма Intel объявила о создании USB – Universal Serial Bus и начала активно продвигать свою разработку на рынок, однако первой была все-таки не она.
Еще в 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 Мбит/с).
Главными особенностями IEEE-1394 являются:
Интерфейс IEEE-1394 условно разбит на три уровня: физический уровень, уровень компоновки данных и уровень обработки (см. рис 1).

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

Рис. 2. Дерево узлов IEEE 1394
После окончания инициализации сеть переходит в рабочий режим. Арбитраж работы в сети осуществляет родительское устройство. Дочернее устройство, пославшее запрос на канал первым, выигрывает арбитраж и получает доступ к каналу. Одновременно остальным дочерним устройствам доступ к нему запрещается. Для того чтобы какое-нибудь одно устройство монопольно не захватило канал, введены специальные интервалы равнодоступности (fairness interval). В течение одного интервала каждое устройство получает однократную возможность передачи данных. После передачи порции данных доступ устройства к шине блокируется. Чтобы вновь получить доступ к шине, ему необходимо дождаться конца интервала равнодоступности и начала следующего цикла.
По сигналу разрешения начинается работа на уровне компоновки, где формируются пакеты данных по 512 байт с интервалами между ними, и определяется их адресация. 160 бит в каждом пакете занимает заголовок, куда входит информация об отправителе и получателе пакетов, а также о циклическом коде CRC исправления ошибок. Передача данных начинается по получению ответа о готовности запрашиваемого устройства к приему информации.
В течение времени до 0,75 мс после отправки каждого пакета данных ожидается получение подтверждения об их получении в виде байтовой посылки. Далее следует интервал > 1 мс, разделяющий пакеты, и т. д.
Синхронная передача данных применяется, как уже говорилось, в мультимедийных приложениях, когда приоритетом является минимум задержки на получение информации по сравнению с возможной потерей или ошибками какой-то ее части. В этом режиме данные передаются пакетами длительностью по 125 мс, т.е. чем выше скорость, тем больше данных может быть передано за это время. Пакеты следуют друг за другом, не ожидая байтов подтверждения получения. Для идентификации пакетов синхронной и асинхронной передачи промежуток между ними в первом случае короче, чем во втором. Это позволяет комбинировать и различать синхронные и асинхронные данные в каждом сеансе. На синхронные данные выделено до 85% канала передачи, из которых устройство может занимать не более 65%.
Интерфейсом IEEE1394 допускается одновременная передача информации на разных скоростях от разных устройств, причем способности их общения на какой-либо из скоростей определяются автоматически. Это делает интерфейс весьма дружественным, так как пользователю не нужно заботиться о правильности подключения устройств.
Как уже говорилось, при синхронной передаче данных проверка целостности информации не выполняется, поэтому пакеты механически следуют один за другим.
Кабели и разъемы
Поскольку скорость передачи информации весьма высока, для IEEE-1394 используют специальные кабели (см. рис. 3). Диаметр такого кабеля равен 6 мм, он содержит три витые пары проводников диаметром 0,87 мм, одна из которых типа 22 AWG предназначена для питания напряжением от 8 до 30 В и током до 1,5 А внешней нагрузки, а две другие – раздельно экранированные пары сигнальных проводов типа 28 AWG. Все шесть жил кабеля закрыты общим плетеным металлическим экраном и защищены изоляцией из ПВХ.

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

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

Рис. 7. Кабельный переходник IEEE 1394
Этот переходник и ему аналогичный 9↔6 контактов обеспечивает кабельную совместимость шины IEEE 1394b с предшествующими версиями IEEE 1394. В новом стандарте предусмотрено два режима передачи данных: β‑режим, когда общаются устройства, поддерживающие IEEE 1394b, и режим обратной совместимости, при котором возможно подключение к шине устройств IEEE 1394a и максимальная скорость автоматически уменьшается до 400 Мб/с.
Из других особенностей IEEE 1394b следует отметить новый способ арбитража. Если в предшествующих стандартах функцию арбитража выполняло корневое устройство, то теперь такую функцию выполняет любое устройство, постоянно посылающее сигналы запроса на передачу. Новый метод арбитража называется Bus Owner/Supervisor/Selector (BOSS). Его логическая схема показана на рисунке 8, а принцип работы заключается в следующем.

Рис. 8. Арбитраж 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 легко соединить между собой, причем не обязательно вокруг компьютера.









