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


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

Ieee 1394 (Firewire, iLink)

IEEE 1394 (Firewire, iLink) – это последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами. Эта шина также идеально подходит для работы мультимедийных приложений в реальном времени. Интерфейс IEEE-1394 разрабатывался для того, чтобы обеспечить высокоскоростной доступ, главным образом к устройствам хранения информации, таким как жесткие диски, приводы CD и DVD.

Технические характеристики ieee 1394

Скорость передачи данных до 400 Mbits/s по стандарту IEEE-1394a и 800 Mbits/s по стандарту IEEE-1394b,

16-ти разрядный адрес позволяет адресовать до 64K узлов на шине

Предельная теоретическая длина шины 224 метра

- "горячее" подключение/отключение без потери данных

Автоматическое конфигурирование, аналогичное Plug&Play

Произвольная топология шины - по аналогии с локальными сетями может использоваться как "звезда" так и общая шина (только в виде цепочки, в отличие от сети на коаксиальном кабеле)

Отсутствие терминаторов (при подключении к SCSIна последнем устройстве необходим терминатор)

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

Максимальное расстояние между двумя устройствами в цепочке по IEEE-1394a - 4.5 м, по IEEE-1394b - 100 м.

При этом шина обеспечивает:

1. цифровой интерфейс - позволяет передавать данные между цифровыми устройствами без потерь информации

2. небольшой размер - тонкий кабель заменяет груду громоздких проводов

3. простота в использовании - отсутствие терминаторов, идентификаторов устройств или предварительной установки

4. небольшая стоимость для конечных пользователей

5. возможность обработки мультимедиа-сигнала в реальном времени

6. открытая архитектура - отсутствие необходимости использования специального программного обеспечения

Работа шины ieee 1394

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

рис. 1. Пример топологии IEEE-1394.

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

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

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

  • IEEE-1394 - обозначение стандарта интерфейса, принятое американским Институтом инженеров по электротехнике и радиоэлектронике (IEEE);
  • FireWire - зарегистрированный товарный знак фирмы Apple, принимавшей активное участие в его разработке. Название FireWire («огненный провод») принадлежит фирме Apple и может использоваться только для описания ее изделий, а по отношению к таким устройствам на PC принято употреблять термин IEEE-1394, то есть непосредственно название стандарта;
  • i.LINK - торговый знак и логотип для обозначения упрощенной шины соединения по интерфейсу IEEE-1394 между бытовыми цифровыми устройствами фирмы Sony (это четырехпроводной вариант FireWire - без проводов питания).

Области применения IEEE-1394

Интерфейс IEEE-1394 разрабатывался для того, чтобы обеспечить высокоскоростной доступ, главным образом к устройствам хранения информации, таким как жесткие диски, приводы CD и DVD. При этом планировалось сделать данный интерфейс универсальным и оснастить им по возможности также устройства ввода - сканеры, цифровые фото- и видеокамеры, и другую аудиовизуальную аппаратуру. Однако его превосходные характеристики - гибкость и простота использования, наряду со способностью при необходимости предоставлять при передаче приоритет тем данным, для которых синхронизация по времени является критичным фактором, оказались оптимальными для передачи цифрового видео и до сих пор практически не имеют в этой области альтернативы (во всяком случае, для непрофессиональных применений). И первыми аппаратными решениями для этого интерфейса стали именно платы для работы с цифровым видео.

Этот стандарт позволяет объединять аппаратные и программные средства для передачи потоков данных 100, 200, 400 Мбит/с, а в последней реализации интерфейса и до 800 Мбит/с. Добавим, что связь между устройствами с интерфейсом IEEE-1394 может включаться и выключаться непосредственно на время их работы (так называемое горячее подключение) без отключения питания и перезагрузки.

Фирма Sony одной из первых осознала преимущества стандарта IEEE-1394 (быстрая передача данных, масштабируемость, обработка в реальном времени, простота подключения и низкая стоимость) и активно начала разработку интегральных схем для этого стандарта. Вслед за цифровыми видеокамерами специалисты Sony перешли к разработке решений для персональных компьютеров, цифровых видеомагнитофонов и цифровых приемников спутникового телевидения (STB, Set Top Box), а также для жестких дисков и дисководов CD-ROM и DVD-ROM. Все эти изделия значительно расширяют возможности подключения аудио- и видеоаппаратуры к персональным компьютерам и в недалеком будущем послужат для создания единой домашней аудиовизуальной сети.

Аудио- и видеооборудование (проигрыватели цифровых CD-, MD-, VideoCD- и DVD-дисков, цифровые STB и Digital VHS) уже сейчас можно интегрировать с компьютерами и таким образом управлять ими. Из этого оборудования можно составлять системы - простым соединением устройств друг с другом с помощью одного кабеля. После этого при помощи персонального компьютера, выступающего в качестве контроллера, можно производить следующие операции: записывать с CD-проигрывателя на мини-диск, запоминать цифровые радиопередачи, принятые через STB, вводить цифровое видео в персональный компьютер для последующего монтажа и редактирования. Разумеется, при этом сохраняется возможность и прямого обмена данными между аудио- и видеооборудованием без использования компьютера или, напротив, обмена данными между двумя компьютерами безотносительно к аудио или видео, как в локальных сетях на базе традиционных Ethernet-технологий.

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

Тем временем фирма Sony продолжает развивать концепцию домашней сети, основанной на стандарте IEEE-1394, и собирается поддерживать разработки, имеющие практическую направленность, выпуском еще более емких, высокоскоростных, компактных компонентов с низким энергопотреблением для широкого диапазона применений и последующей интеграции в системные чипсеты. Сегодня Sony демонстрирует новые образцы бытовой электроники, способные образовывать домашнюю сеть на базе i.Link. Вся эта архитектура носит гордое название Home Audio/Video Interoperability (HAVi). Похоже, усилиями Sony скоро мы действительно будем жить если не в цифровом доме, то по крайней мере в цифровой квартире.

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

В вышедшей осенью 2000 года операционной системе Microsoft Windows Millennium Edition впервые появилась встроенная поддержка локальных сетей на базе контроллеров IEEE-1394. Такая сеть имеет скорость передачи данных в четыре раза большую, чем Fast Ethernet, и очень удобна для дома или малого офиса. Единственное неудобство при построении такой сети заключается в малой предельной длине одного сегмента (длина кабеля до 4,2 м). Для устранения подобного недостатка выпускаются усилители сигнала - репитеры, а также размножители-концентраторы на несколько портов (до 27).

С интерфейсом IEEE-1394 в последнее время активно конкурирует новый USB-интерфейс (версии 2.0), который обеспечивает передачу данных со скоростью до 480 Мбит/с против старых 12 Мбит/с, то есть в 40 раз быстрее существующего USB-стандарта!

Шина USB получила широкое распространение благодаря своей дешевизне и мощной поддержке в виде контроллера, встраиваемого непосредственно в чипсеты для материнских плат. При этом заявлялось, что высокоскоростной USB 2.0 также будет реализован в виде встроенного в чипсет контроллера (Intel ICH3). Однако фирма Microsoft объявила о приоритетности поддержки интерфейса IEEE-1394, а не USB 2.0, и, кроме того, асинхронность передачи по USB не позволяет ему всерьез конкурировать с FireWire в области цифрового видео.

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

Иными словами, все IEEE-1394-устройства, такие как цифровые видео- и фотокамеры, DVD-устройства и другие приборы, прекрасно стыкуются как с персональными компьютерами, оснащенными подобным интерфейсом (его поддерживают и Maс, и PC-компьютеры), так и между собой. Это означает, что теперь пользователи могут передавать, обрабатывать и сохранять данные (в том числе изображения, звук и видео) с высокой скоростью и практически без ухудшения качества.

Контроллеры IEEE-1394

Однако пора переходить к практической части. В продаже имеется довольно большое количество контроллеров от разных производителей на различных вариантах схемотехники. Для работы под Windows Me/Windows 2000 необходимы контроллеры, совместимые со стандартом OHCI (Open Host Controller Interface).

Цены на FireWire-адаптеры существенно снижены: контроллеры на чипсете от фирмы Texas Instruments - от 50 долл., от фирмы Lucent Technologies - от 35 долл., а недавно появившиеся платы на базе набора микросхем от компании VIA Technologies - еще дешевле.

Установка такого контроллера очень проста: все необходимое имеется в самой операционной системе - Windows Me/2000. Вам необходимо только вставить диск с дистрибутивом системы и, если потребуется, инсталлировать все необходимые компоненты.

Контроллер FireWire обычно делит прерывание с контроллером USB, но конфликты не возникают даже при их одновременной работе.

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

DVeasy

Другой представитель семейства - PCI-плата без внутренних портов. Вообще говоря, существует много причин, требующих наличия по крайней мере одного внутреннего порта, но изготовители платы Dveasy и ей подобных, кажется, считают иначе… Непонятно только, почему по цене эти платы не уступают тем, у которых такой порт имеется.

Отличие этой платы в том, что она включает несколько нетрадиционное ПО для видеомонтажа - Main Actor, интерфейс которого более похож на фактический стандарт в этой области - Adobe Premiere, чем на претенциозные Video Studio или VideoWave. Более того, Main Actor имеет такие полезные элементы, как фоновый рендеринг, который помогает «скрасить» время ожидания результата.

Дополнительно комплект включает AVCap 32 - приложение для ввода и управления видеофрагментами, которое может выполняться в командном режиме (batch capture).

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

Dazzle DV-Editor (для ноутбуков)

Теперь, когда переносные компьютеры работают почти с такой же скоростью, что и их настольные собратья, портативные решения все чаще используются для ввода и редактирования видео прямо на ходу, а также для использования другой Firewire-периферии. Этот и подобные ему комплекты дают пользователю ноутбука возможность подключить любое устройство IEEE-1394 к карточке PCMCIA Type II. Карта поставляется со специальным 4-проводным кабелем (по типу i.LINK). К сожалению, многие устройства IEEE-1394 (в том числе некоторые видеокамеры) требуют 6-проводного кабеля (с питанием) и работать с этой карточкой не будут.

В комплект поставки включена упрощенная программа Video Studio 4, предназначенная для ввода и редактирования видео. Программа незамысловатая, но благодаря использованию оригинальной технологии SmartRender фирмы Ulead сокращается время работы - за счет просчитывания эффектов только при финальном экспорте готового фильма.

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

Fireline PCI Combocard

Эта любопытная плата имеет четыре порта IEEE-1394 (три внешних и один внутренний), а также два USB-порта (в ее новой версии - USB 2.0). Таким образом, она позволяет воспользоваться преимуществами обоих интерфейсов.

Но главное то, что относительно недорогая плата Evergreen имеет в комплекте все необходимые шнуры (и USB, и FireWire, причем как с 4-, так и с 6-контактными разъемами), то есть пользователь этой платы обеспечен на все случаи жизни. Программное обеспечение у нее не слишком мудреное: все тот же базовый пакет для ввода и редактирования видео - Video Studio базовой версии SE. Пакет, конечно, не профессионального уровня, зато не переплачивают те, кто покупает эту плату не для работы с видео.

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

Movie DV Suite 3.0

В большинстве современных плат IEEE-1394 делается упор на аппаратное решение. В конце концов, не все их пользователи озабочены вводом и редактированием цифрового видео - все-таки это универсальный интерфейс. А недорогое программное обеспечение для видеомонтажа прилагается обычно как традиционное дополнение (впрочем, и среди видеолюбителей им мало кто пользуется). У Movie DV Suite баланс обратный: программное обеспечение - это наиболее важная ее часть (хотя и недорогая), а аппаратные средства служат только для поддержки интерфейса IEEE-1394.

Одноименное ПО Movie DV Suite - программа нелинейного монтажа, достаточно мощная для того, чтобы конкурировать с такими грандами, как Adobe Premiere или Ulead Media Studio. Она включает много довольно внушительных эффектов нового поколения и реализует самые замысловатые переходы. Среди эффектов есть и трехмерные, в том числе трехмерные титры и импорт 3D-объектов (хотя их реализация испытывает недостаток аппаратного ускорения, поскольку подобные возможности могут потребовать довольно много времени для счета).

Movie DV Suite 3.0, конечно, не такая быстрая, как профессиональная плата Matrox RT2000, но довольно удачная в качестве недорогого, но весьма продвинутого решения для видеомонтажа. По крайней мере здесь вполне очевидно, за что платятся дополнительные деньги, в отличие, скажем, от неоправданно дорогих решений фирм Pinnacle Systems или FAST Multimedia.

Studio DV

Studio DV - это самое дешевое решение от весьма популярной в области видео фирмы Pinnacle. Она, как и многие другие аналогичные платы IEEE-1393, имеет три порта (два внешних и один внутренний), но комплектуется в отличие от них одноименным оригинальным программным обеспечением для ввода-вывода и монтажа цифрового видео - Pinnacle Studio DV.

Основное преимущество этой программы (которая, к слову, работает только с платами фирмы Pinnacle) - это так называемая Smart Capture, то есть возможность ввести часовую miniDV - ленту в файл размером около 150 Мбайт (с потерей качества, естественно). Эта низкокачественная версия затем может использоваться для быстрого «чернового» редактирования, что существенно снижает системные требования. Когда же все работы по предварительному монтажу выполнены, программа сама введет нужные фрагменты в полном разрешении и смонтирует «начисто». Это изящное решение, которое экономит как пространство на жестком диске, так и ваше время. По возможностям программа Studio DV аналогична таким несложным пакетам для непрофессионального пользователя, как Ulead Video Studio или VideoWave 4.

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

DV.now Lite

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

Tape Scan дает вам возможность быстро просмотреть ленту, а Fast Forward снабжает специальным кодеком, который позволяет управлять процессом захвата видеофрагментов. Эти программы помогут вам справиться с большим количеством фрагментов, последовательных или разбросанных по пленке. Кроме того, ПО FAST Multimedia легко справляется с 2-гигабайтным ограничением на размеры AVI-файла Windows. Однако компания FAST сэкономила на документации, поставляя с платой только карманное руководство пользователя, а в качестве ПО для видеомонтажа здесь предлагается упрощенная версия Adobe Premiere LE.

Интересное решение, но Studio DV справляется с подобными задачами с меньшими затратами и более эффективно.

DV-Wizard Pro

Очень эффектное решение для домашнего использования!

DV-Wlzard Pro предлагает законченное решение для записи так называемых CDVD-дисков (так теперь принято называть DVD-фильмы на CD-носителе). Оно включает пакет для видеомонтажа MediaStudio Ulead 6.0 SE, «машинку» для трехмерного титрования - Cool3D и, наконец, программу Nero 5.0 для записи CDR/RW. К тому же программа MediaStudio считается сегодня чуть ли не лучшим инструментом для нелинейного монтажа и редактирования видео (NLE, non-linear edition) - более устойчивым, чем Adobe Premiere, и в то же время более интеллектуальным и экономичным по рендерингу. А программа Nero 5 - лучшая на сегодняшний день программа записи CD-дисков. Обе они также поддерживают звук MP3-формата.

Аппаратная часть этой платы также на высоте. Вы получаете четыре порта IEEE-1394 (три внешних и один внутренний) и удобный 4-проводной кабель.

Может быть, DV-Wizard Pro и обойдется вам чуть дороже, чем другие платы, зато дополнительное программное обеспечение вам уж точно искать не придется.

Идеальное решение для создания и записи видео на компакт-диски.

КомпьютерПресс 7"2001

Высокопроизводительная последовательная шина (High Performance Serial Bus) IEEE 1394 — FireWire создавалась как более дешевая и удобная альтернатива параллельным шинам (SCSI) для соединения равноранговых устройств. Шина позволяет связать до 63 устройств без применения дополнительной аппаратуры (хабов). Устройства бытовой электроники — цифровые камкордеры (записывающие видеокамеры), камеры для видеоконференций, фотокамеры, приемники кабельного и спутникового телевидения, цифровые видеоплееры (CD и DVD), акустические системы, цифровые музыкальные инструменты, а также периферийные устройства компьютеров (принтеры, сканеры, устройства хранения данных) и сами компьютеры могут объединяться в единую сеть. Шина не требует управления со стороны компьютера. Шина поддерживает динамическое реконфигурирование — возможность «горячего» подключения и отключения устройств. События подключения/отключения вызывают сброс и реинициализацию: определение структуры шины (дерева), назначение физических адресов всем узлам и, если требуется, выборы мастера циклов, диспетчера изохронных ресурсов и контроллера шины. Через доли секунды после сброса все ресурсы становятся доступными для последующего использования, и каждое устройство имеет полное представление обо всех подключенных устройствах и их возможностях. Благодаря наличию линий питания, интерфейсная часть устройства может оставаться подключенной к шине даже при отключении питания функциональной части устройства.

По инициативе VESA шина позиционируется как основа «домашней сети», объединяющей всю бытовую и компьютерную технику в единый комплекс. Эта сеть является одноранговой (peer-to-peer), чем существенно отличается от USB .

Основные свойства шины FireWire перечислены далее:

Шина IEEE 1394 поддерживает два типа передач данных:

  • асинхронные передачи без каких-либо требований к скорости и задержке доставки. Целостность данных контролируется CRC-кодом. По адресации различают две разновидности:
  1. направленная асинхронная передача адресуется конкретному узлу, гарантированную доставку обеспечивает механизм квитирования и повторов;
  2. широковещательная асинхронная передача адресуется всем узлам и выполняется без гарантии доставки (квитирование и повторы не применяются).
  • Изохронные передачи с гарантированной пропускной способностью. Целостность данных контролируется CRC-кодом, гарантии доставки нет — квитирование и повторы не применяются.

Направленные асинхронные передачи являются основой для выполнения асинхронных транзакций — логически завершенных обменов между парами узлов. Протокол шины позволяет узлам с помощью асинхронных транзакций обращаться к памяти (регистрам) друг друга в режиме прямого доступа (DMA). При этом они не нуждаются в памяти и процессорных ресурсах «третьих лиц».

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

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

Арбитражем занимается физический уровень каждого узла шины. Арбитраж выполняется распределенно иерархически: им занимаются все узлы, «верховным» арбитром является корневой узел (root node), автоматически выбираемый на этапе конфигурирования шины.

Физический уровень (PHY) предоставляет канальному уровню (LINK) следующие сервисы арбитража, перечисленные в порядке нарастания приоритетности:

  • справедливый арбитраж (fair arbitration service), используемый для передачи обычных асинхронных пакетов;
  • приоритетный арбитраж (priority arbitration service), используемый для передачи пакетов начала цикла и приоритетных асинхронных пакетов;
  • немедленный арбитраж (immediate arbitration service), используемый для передачи пакетов квитирования;
  • изохронный арбитраж (isochronous arbitration service), используемый для передачи изохронных пакетов.

Приоритет в арбитраже на шине IEEE 1394 определяется длительностью зазора арбитража (arbitration gap) — временем, в течение которого узел наблюдает покой шины перед началом передачи запроса арбитража. Чем меньше этот зазор, тем больше шансов у узла получить право на передачу. Исходная схема арбитража 1394 усовершенствовалась дважды: в 1394a были введены механизмы ускоренного арбитража, а в 1394b с его дуплексными соединениями был введен новый механизм — BOSS-арбитраж. Все усовершенствования направлены на снижение непродуктивных затрат времени.

Если на шине используются изохронные передачи, то все транзакции организуются в последовательность циклов — интервалов времени с номинальной длительностью 125 мкс. Начало каждого цикла отмечается широковещательным пакетом начала цикла (Cycle Start). Эти пакеты посылает узел, являющийся мастером циклов. Право на передачу этого пакета мастер получает через арбитраж, используя высокий приоритет. Организация циклов представлена на рисунке, где изображена работа двух изохронных каналов (Ch#J и Ch#K) и передача асинхронных пакетов A и B. После пакета начала цикла каждый узел, которому выделены изохронные каналы, имеет право передать по одному пакету для каждого канала (до прихода следующего пакета начала цикла). Для изохронных передач используется короткий зазор арбитража, так что асинхронные транзакции, использующие более длинный зазор, в изохронную часть цикла вклиниться не могут. После того как иссякнут изохронные пакеты данного цикла, выполняются асинхронные передачи, у которых для арбитража используются более длинные зазоры. Когда наступает пора посылки следующего пакета начала цикла, мастер цикла, дождавшись освобождения шины, снова получает право доступа (пользуясь своим приоритетом, обусловленным его положением в корне дерева) и посылает следующий пакет начала цикла. Таким образом, длительность цикла может отклоняться от номинального значения 125 мкс. Отклонения длительности цикла от номинального не страшны, поскольку пакет начала цикла несет значение системного времени точно на момент фактической передачи этого пакета.

Если на шине не используются изохронные передачи, то мастер циклов может отсутствовать и пакетов начала цикла на шине не будет. В этом случае все время на шине может заполняться асинхронными передачами с их длинными зазорами арбитража.

Конфигурирование шины IEEE 1394 выполняется в различных ситуациях:

  • автоматически при изменении конфигурации — при подсоединении и отсоединении устройств, а также включении/выключении их PHY-уровня;
  • при обнаружении каким-либо узлом фатальной ошибки — «зависания» шины;
  • по инициативе какого-либо узла, желающего, например, изменить топологию (сменить корневой узел).

Конфигурирование состоит из трех последовательных этапов.

  1. Сброс (Bus Reset), с момента которого прекращается передача полезного трафика.
  2. Идентификация дерева (Tree Identification), во время которой узлы выстраиваются в иерархическую структуру.
  3. Самоидентификация узлов (Self Identification), во время которой узлы присваивают себе уникальные физические идентификаторы.

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

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

Свойства любого узла сконфигурированной шины наблюдаемы и управляемы через его архитектурные регистры и память конфигурации. Они доступны со стороны шины через асинхронные транзакции к определенным адресам. Архитектурные регистры определяют поведение узла на шине. Память конфигурации раскрывает «прикладную ценность» узла и обеспечивает его уникальную идентификацию, не зависящую от непостоянного физического идентификатора.

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

  • неуправляемая шина, нуждающаяся только в корневом узле (root), управляющем арбитражем. Корень, который становится «верховным арбитром», выбирается на этапе идентификации дерева. Первоначальный кандидат на эту «должность» выбирается исходя из топологии соединений, с возможным случайным розыгрышем этого права между двумя победителями предпоследнего тура. После завершения выборов корня производится самоидентификация (и назначение физических адресов) узлов, после чего шина становится готовой к асинхронным транзакциям между узлами. Впоследствии программным путем (через асинхронные сообщения по шине) возможно переназначение корня (с определением новой структуры дерева и адресов узлов);
  • частично управляемая шина, которая в дополнение к корню должна иметь узлы, выполняющие роль мастера циклов и диспетчера изохронных ресурсов. Их работа обеспечивает возможность использования шины для изохронных передач;
  • полностью управляемая шина, которая должна иметь узел-диспетчер шины, обеспечивающий дополнительные сервисы управления.

Мастер циклов

Мастер циклов (Cycle Master) отвечает за регулярную передачу пакетов начала цикла. Для этого он должен быть устройством с поддержкой изохронных обменов, иметь регистры CYCLE_TIME и BUS_TIME. В информационном блоке BUS_INFO_BLOCK его памяти конфигурации должен быть установлен бит cmc (Cycle Master Capable) — признак способности к исполнению этой роли. Текущим мастером циклов является узел, у которого в регистре состояния (STATE) установлен бит cmstr (Cycle Master). Все узлы, кроме корневого, во время идентификации дерева (после сброса) должны обнулить у себя этот бит; корневой узел должен сохранять значение, которое было до сброса.

Если выбранный корневой узел не способен быть мастером циклов, а требуются изохронные передачи, то из узлов, способных быть мастером (судя по биту cmc), выбирается новый кандидат на роль корня. Для этого посылается широковещательный PHY-пакет конфигурирования с идентификатором нового кандидата и установленным битом R. Этот узел установит у себя бит RHB, а остальные его сбросят, что и обеспечит выбор данного узла новым корнем во время идентификации, вызванной посылкой этого пакета.

Мастер циклов является источником системного времени; для этого он имеет регистры CYCLE_TIME и BUS_TIME. Текущее значение регистра CYCLE_TIME передается мастером циклов в пакетах начала цикла. Сброс на шине (в любой форме) на значения этих регистров не влияет.

Регистр CYCLE_TIME (32 бита, рис. а) состоит из трех полей, соответствующих значениям трех счетчиков, соединенных каскадно:

  • cycle_offset — 12-битный счетчик по модулю 3072 (максимальное значение 3071, после него обнуляется), считающий импульсы с частотой 24,576 МГц. Период этого счетчика соответствует номинальной длительности цикла — 125 мкс;
  • cycle_count — 13-битный счетчик по модулю 8000, считающий циклы. Период этого счетчика — 1 с;
  • second_count — 7-битный счетчик, считающий секунды; период счета — 128 с.

Регистр BUS_TIME (32 бита, рис. б) содержит значение системного времени в секундах. Его младшие 7 бит (second_count_lo) отображают поле second_count предыдущего регистра. Остальные 25 бит (second_count_hi) отсчитывают 128-секундные интервалы. Период счетчика составляет 232 = 4 294 967 296 с (около 136 лет).

Важность взаимодействия между различными компонентами и устройствами в компьютерной технике сложно переоценить. Без такого взаимодействия просто не было бы самой компьютерной техники. Но, с самого начала развития компьютеров каждый производитель решал (а кое-где и продолжает решать) эти проблемы по-своему. Как грибы после дождя росло количество всевозможных шин и разъёмов, по которым перегонялись данные, как внутри компьютера, так и снаружи. Но, если такое разнообразие решений внутри железной коробки шло (и идёт) во благо, стимулируя технический прогресс, то с периферией всё происходит наоборот. Море разных шин и разъёмов, которыми периферия может подключаться к компьютерам не выгодно никому - ни производителям самих компьютеров, ни производителям периферии. Стало ясно, что нужны универсальные шины. И они появились. К сожалению, общий беспорядок(когда каждый тянул одеяло на себя), не миновал и эту область. Поэтому, в середине девяностых годов, взглянув на заднюю стенку компьютера, можно было увидеть кучу разнообразных разъёмов: 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а версия стандарта.

История

На выставке Comdex’93 было впервые продемонстрировано небывалое по тем временам достижение: компьютер в одном окне показывал видеоклип с жесткого диска, а в другом - полномасштабную видеозапись в реальном времени, которая считывалась с цифровой видеокамеры. Процессор компьютера при этом не тратил вычислительные ресурсы на показ видео в реальном времени, поскольку в видеопамять по шине 1394 поступала уже сформатированная картинка.

Изобретателем нового высокоскоростного последовательного интерфейса является фирма Apple. Еще в 1986 году она предложила использовать подобный метод при построении системной шины, а также внешнего и внутреннего интерфейса для подключения отдельных компонентов и высокоскоростных периферийных устройств для компьютеров Macintosh. FireWire (такое название дала ему фирма Apple) вначале разрабатывался как высокоскоростной последовательный вариант SCSI. Взяв за основу относительно медленную шину, инженеры Apple сначала увеличили скорость передачи данных до 50 Мбит/с, а затем еще в два раза.

Основными требованиями при разработке этого интерфейса были следующие: двунаправленная скорость передачи до 400 Мбит/с (в настоящее время готовятся к выходу устройства, работающие на скоростях до 800 Мбит/с), а также возможность «горячего» подключения, то есть подсоединения внешних устройств без перезагрузки системы. Общее число подключенных устройств в одном бридже может достигать 63.

Решение Apple «открыть» стандарт привело к сотрудничеству с заинтересованными в таком проекте разработчиками из Texas Instruments, Stewart Connector, Molex, Adaptec и Western Digital (впоследствии к ним присоединился IBM, представитель которого и возглавил работы над всем проектом).

В стандарте кабелей FireWire существует два варианта кабелей с общим экраном: 6-проводной со скоростью обмена до 400 Мбит/с и 4-проводной (без проводов питания) со скоростью обмена до 100 Мбит/с. Они заканчиваются небольшими компактными разъемами.

Техническое описание этой шины в виде стандарта IЕЕЕ-1394 (IEEE, Institute of Electrical and Electronics Engineers) вышло в 1990 году. А к моменту публикации окончательного варианта стандарта на шину IEEE-1394 максимальная скорость обмена данных по шине достигла 400 Мбит/с.

Массовое распространение новинка получила главным образом после заключения в конце апреля 1995 года лицензионного соглашения между фирмами Apple и Adaptec, в результате чего вскоре появились контроллеры Adaptec IEEE-1394, а чуть позже - и цифровые DV-камеры фирмы Sony с вариантом соединения по FireWire-интерфейсу (i.Link). Таким образом, данный интерфейс начал широко применяться в области цифрового видео, хотя основным его назначением и областью его развития и совершенствования были и остаются компьютерные технологии.

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

Прежде всего, посмотрите на заднюю стенку своего компьютера. Там можно найти множество всяких разъемов: последовательный порт для модема, принтерный порт для принтера, разъемы для клавиатуры, мыши и монитора, 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).

Преимущества

Горячее подключение - возможность переконфигурировать шину без выключения компьютера

Различная скорость передачи данных - 100, 200 и 400 Мбит/с в стандарте IEEE 1394/1394a, дополнительно 800 и 1600 Мбит/с в стандарте IEEE 1394b и 3200 Мбит/с в спецификации S3200.

Гибкая топология - равноправие устройств, допускающее различные конфигурации (возможность «общения» устройств без компьютера)

Высокая скорость - возможность обработки мультимедиа-сигнала в реальном времени

Поддержка изохронного трафика

Поддержка атомарных операций - сравнение/обмен, атомарное увеличение (операции семейства LOCK - compare/swap, fetch/add и т. д.).

Открытая архитектура - отсутствие необходимости использования специального программного обеспечения

Наличие питания прямо на шине (маломощные устройства могут обходиться без собственных блоков питания). До полутора ампер и напряжение от 8 до 40 вольт.

Подключение до 63 устройств.

Шина IEEE 1394 может использоваться для:

Создания компьютерной сети.

Подключения аудио и видео мультимедийных устройств.

Подключения принтеров и сканеров.

Подключения жёстких дисков, массивов RAID.

Основные сведения

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

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

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

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

Устройство может иметь до 4 портов (разъёмов). В одной топологии может быть до 64 устройств. Максимальная длина пути в топологии - 16. Топология древовидная, замкнутые петли не допускаются.

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

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

Операции шины делятся на асинхронные и изохронные.

Асинхронные операции - это запись/чтение 32-битного слова, блока слов, а также атомарные операции. Асинхронные операции используют 24-битные адреса в пределах каждого устройства и 16-битные номера устройств (поддержка межшинных мостов). Некоторые адреса зарезервированы под главнейшие управляющие регистры устройств. Асинхронные операции поддерживают двухфазное исполнение - запрос, промежуточный ответ, потом позже окончательный ответ.

Изохронные операции - это передача пакетов данных в ритме, строго приуроченном к ритму 8 КГц, задаваемому ведущим устройством шины путем инициации транзакций «запись в регистр текущего времени». Вместо адресов в изохронном трафике используются номера каналов от 0 до 31. Подтверждений не предусмотрено, изохронные операции есть одностороннее вещание.

Изохронные операции требует выделения изохронных ресурсов - номера канала и полосы пропускания. Это делается атомарной асинхронной транзакцией на некие стандартные адреса одного из устройств шины, избранного как «менеджер изохронных ресурсов».

Помимо кабельной реализации шины, в стандарте описана и наплатная (реализации неизвестны).

Топология

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

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

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

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

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

Протокол

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

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

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

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

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

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

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

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

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

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







2024 © gtavrl.ru.