что значит 1394 на материнской плате
«1394» зачем нужен этот вход?
Разъём FireWire 6pin
Различные компании продвигают стандарт под своими торговыми марками:
Apple — FireWire
Sony — i.LINK
Yamaha — mLAN
TI — Lynx
Creative — SB1394
Использование
[править]
Сеть поверх 1394
Cтандарт не подразумевает эмуляцию Ethernet над 1394, и использует совершенно иной протокол ARP. Несмотря на это, эмуляция Ethernet над 1394 была включена в ОС FreeBSD и является специфичной для данной ОС.
[править]
Внешние дисковые устройства
Существует стандарт SBP-2 — SCSI поверх 1394. В основном используется для подключения внешних корпусов с жесткими дисками к компьютерам — корпус содержит чип моста 1394-ATA. При этом скорость передачи данных может достигать 27 МБ/с, что превышает скорость USB 2.0 как интерфейса к устройствам хранения данных, равную примерно 22 МБ/с. Однако гораздо ниже таковой для USB 3.0.
Поддерживается в ОС семейства Windows с Windows 98 и по сей день (октябрь 2009). Также поддерживается в популярных ОС семейства UNIX.
Около 1998 г. содружество компаний, в том числе Microsoft, развивали идею обязательности 1394 для любого компьютера и использования 1394 внутри корпуса, а не только вне него. Существовали даже карты контроллеров с одним из разъемов, направленным внутрь корпуса. Также существовала идея Device Bay, то есть отсека для устройства со встроенным в отсек разъемом 1394 и поддержкой горячей замены.
Все это прослеживается в материалах Microsoft той поры, предназначенных для разработчиков компьютеров. Можно сделать вывод, что 1394 предлагали как замену ATA, то есть на роль, ныне выполняемую SATA.
Все эти идеи быстро кончились провалом, одна из главных причин — лицензионная политика Apple, требующего выплат за каждый чип контроллера.
[править]
MiniDV видеокамеры
Исторически первое использование шины. Используется и по сей день как средство захвата фильмов с MiniDV в файлы. Возможен и захват с камеры на камеру.
Видеосигнал, идущий по 1394, идет практически в том же формате, что и хранится на видеоленте. Это упрощает камеру, снижая требования к ней по наличию памяти.
В ОС Windows подключенная по 1394 камера является устройством DirectShow. Захват видео с такого устройства возможен в самых разнообразных приложениях — Adobe Premiere, Ulead Media Studio Pro, Windows Movie Maker. Существует также огромное количество простейших утилит, способных выполнять только этот захват. Возможно также и использование тестового инструмента Filter Graph Editor из свободно распространяемого DirectShow SDK.
Использование 1394 c miniDV положило конец проприетарным платам видеозахвата.
[править]
Отладчик WinDbg
Интересным свойством контроллеров 1394 является способность читать и писать произвольные адреса памяти со стороны шины без использования процессора и ПО. Это проистекает из богатого набора асинхронных транзакций 1394, а также из ее структуры адресации.
Эта возможность чтения и редактирования памяти через 1394 без помощи процессора послужила причиной использования 1394 в двухмашинном отладчике ядра Windows — WinDbg. Такое использование существенно быстрее последовательного порта, но требует ОС не ниже Windows XP с обеих сторон.
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) — новая последовательная шина
Введение
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
С чего всё начиналось
Свою лепту в развитие IEEE 1394 внесла и Texas Instruments, организовавшая массовое производство действительно дешёвых микросхем для реализации IEEE 1394 интерфейса, что сыграло огромную роль в бурном росте количества IEEE 1394 контролёров в персональных компьютерах.
Несмотря на такой успех нового стандарта (он оказался востребованным ещё до выхода окончательной спецификации), разработчики не стояли на месте. Уже в 2000 году вышла 1394a-2000 версия протокола, сразу же с энтузиазмом воспринятая производителями. А сегодня разрабатывается P1394b.
Что же такого хорошего в IEEE 1394?
Как это всё работает?
IEEE 1394 делится на несколько уровней. Выглядит это так:
Уровнем выше расположен уровень канала (Link Layer). Сюда доставляются уже готовые пакеты данных. Именно этот уровень отвечает за пересылку данных вверх и вниз, тут происходят следующие процессы:
Эти два уровня реализованы в «железе», т.е. выполняются аппаратно. Они полностью отвечают за формирование сигнала из данных, формирование данных из сигнала, и приём/передачу в нужное время и в нужное место. Поэтому, только этих двух уровней и хватает при синхронной передаче, когда никакого контроля над тем что передаётся и получается не требуется. При асинхронной передаче это не так, и там в действие вступает:
Все уровни (в том числе и первые два) контролируются firmware, и этот процесс называется менеджмент последовательной шины (Serial Bus management).
Такие процессы происходят в каждом IEEE 1394 устройстве, и два любых устройства образовывают между собой соединение типа точка-точка (point-to-point). Но, кроме этого, IEEE 1394 позволяет объединять множество таких устройств и соединений в одну логическую сеть. Для этого физический уровень (physical layer) позволяет иметь больше одного физического интерфейса на одном устройстве.
Рассмотрим подробнее, как разные устройства в одной логической сети разбираются, кто, когда, и что должен делать.
Инициализация сети происходит в несколько этапов:
Примечание: Первое, что определяет устройство после включения, это сколько подключенных портов оно имеет. Один (leaf) или несколько (branch). Затем определяется родительские (parent) и дочерние (child) устройства (какое к какому подключено). На основе этих данных строится дерево и определяется корневое устройство.
Устройство, которое хочет начать передачу, вначале посылает запрос своему родительскому устройству. Родительское устройство, получив запрос, запрещает передачу всем остальным дочерним (в один момент обрабатывается только один запрос) и, в свою очередь, передаёт запрос дальше, своему родительскому устройству, где всё повторяется. В итоге запрос доходит до корневого устройства, которое, в свою очередь, разрешает передачу тому устройству, чей запрос пришёл первым. Всем остальным передача запрещается. Таким образом, если два устройства одновременно пошлют запрос на передачу данных, то ответ будет зависеть от того, чей запрос первым достигнет корневого устройства. Оно выигрывает арбитраж и получает право начать передачу. Проигравшее устройство. не получив разрешения на передачу, вынуждено ждать, пока выигравшее не освободит шину.
Для того, чтобы одно устройство, начав передавать данные, не заняло весь канал, не оставив соседям никаких шансов начать передачу, пока оно не закончит, введено понятие 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а версия стандарта.
1394а
Ничего принципиально нового в этой версии стандарта не появилось, но множество небольших улучшений, которые он вобрал в себя, позволяют говорить о следующем шаге в развитии стандарта. Изменения коснулись как физической составляющей, так и логической. Рассмотрим их подробнее:
Arbitrated (Short) Bus Reset. В IEEE 1394 устройство, которое передаёт данные, не может обнаружить сигнал на сброс пока не закончит передавать текущий пакет. Поэтому сброс шины должен длиться дольше, чем максимальное время передачи одного пакета. Однако, если сброс шины происходит сразу после того, как одно из устройств выигрывает арбитраж, то в этом нет никакой необходимости (всё равно никто другой не начнёт передачу), и сброс шины можно произвести гораздо быстрее. Это позволило уменьшить время, затрачиваемое на сброс шины, с 300 миллисекунд до 100 в худшем случае, и с 165 до 5 миллисекунд в обычном случае.
Transmission Delay Calculation (PHY Pinging). В первой версии стандарта такой простой команды как ping вообще не было предусмотрено. Любое устройство должно было ответить не больше, чем через 144 наносекунды, в противном случае считалось, что оно недоступно. Именно это ограничение и определило максимальную длину кабеля в IEEE 1394 в 4.5 метра. Введение такой простой команды (одно устройство отсылает пакеты, другое отвечает, а время отклика замеряется) позволяет соседним устройствам точно знать, когда следует ждать ответа. Это дало возможность преодолеть ограничение в обязательные 144 наносекунды и использовать кабели большей длины.
Повышение эффективности
Как уже писалось, главным инструментом в контроле над шиной и передачей в IEEE 1394 является промежуток в передаче (gap), отделяющий друг от друга каждый пакет. Gap сбрасывает шину, позволяет определить тип передаваемых данных (асинхронные, синхронные), но он же является и источником проблем с эффективностью. Первая версия спецификации обеспечивала великолепную эффективность с пакетами большого размера. Но стоило уменьшать размер пакета или увеличь скорость шины, как количество пакетов на один и тот же объём данных (или на один и тот же промежуток времени) возрастало, а длина gap оставалась прежней. Таким образом, чем больше количество передаваемых пакетов, тем больше времени шина просто простаивает в молчании, и тем меньше времени остаётся на передачу непосредственно данных. С этим надо было что то делать, что и потребовало изменений в протоколе на логическом уровне.
Arbitration Improvements (Fairness Optimization). Как уже говорилось, fairness interval это отрезок, во время которого одно устройство может выиграть шину только один раз. Даже если всё остальное время шина никому не нужна, оно вынуждено ждать начала следующего цикла, чтобы продолжить передачу. А потом ещё выжидать reset gap, самые длинные промежутки, предусмотренные стандартом. Поэтому, в версии 1394а протокола появилась возможность одному устройству запрашивать (и получать) право на передачу несколько раз (до 63) в течении одного fairness interval.
Что дальше? 1394b
В настоящее время полным ходом идут работы над 1394b версией стандарта, которая должна стать большим шагом вперёд в его развитии. Изменения коснутся всего, в том числе физической составляющей (кабелей и разъёмов).
Разъёмы
Для обеспечения обратной совместимости, в 1394b устройствах возможно использование старых разъёмов, но «чистое» 1394b устройство будет использовать свой, новый разъём, который не похож ни на один из используемых ранее. Означает ли это, что не будет никакой возможности подключить устройство со старым интерфейсом к новому? Не думаю. Подобные опасения уже высказывались с появлением четырёхконтактных фишек для IEEE 1395. Тем не менее, ничего подобного не произошло, появились 4 на 6 IEEE 1394 кабеля, которые полностью решали проблему. Логически и электрически 1394b устройства должны быть обратно совместимыми с своими предшественниками, поэтому никаких проблем в кабеле новый разъём/старый разъём я не вижу. Тем не менее, разъёмы изменились. Фотографий новых разъёмов у меня нет, поэтому придётся ограничится их чертежами, взятыми из драфта спецификации.
Кроме этого, 1394b будет full-duplex стандартом (в отличии от теперешнего 1394), поэтому в нём будет использоваться новый метод арбитража. В отличии от 1394 и 1394а, где главным арбитром во всех спорах из за шины было корневое устройство в дереве, в 1394b такие права может получить то устройство, которому они наиболее нужны. Новый метод арбитража называется BOSS (Bus Owner/Supervisor/Selector). Конечно же, наряду с этим, поддерживаются и методы арбитража из 1394 и 1394а. Рассмотрим новый метод подробнее.
Знакомьтесь, Bus Owner/Supervisor/Selector. Или просто BOSS
Этот метод арбитража может работать только в 1394b среде. То есть, если в сети есть хоть одно старое устройство, для арбитража будет применяться старый метод. Принципиальная схема BOSS метода выглядит так: