IEEE 1394

Материал из ПИЭ.Wiki

Перейти к: навигация, поиск

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

Различные компании продвигают стандарт под своими торговыми марками:

Apple — FireWire

Sony — i.LINK

Yamaha — mLAN

TI — Lynx

Creative — SB1394


Содержание

История

На выставке 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 подсоединены к двум проводам, идущим к источнику питания, и двум витым парам сигнальных проводов. Каждая витая пара и весь кабель в целом экранированы.


Файл:1394cable.gif


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

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

Файл:1394conn.gif

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

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

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

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

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

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

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

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

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


Топология

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

Файл:1394.jpg


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

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

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

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


Протокол

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

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

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

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

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

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


Файл:1394struct.gif

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

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

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

Файл:1394packet.gif

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

Использование

Сеть поверх 1394

Существует стандарты RFC 2734 — IP поверх 1394 и RFC 3146 — IPv6 поверх 1394. Поддерживался в ОС Windows XP и Windows Server 2003. Поддержка со стороны Microsoft прекращена в ОС Windows Vista, однако существует реализация сетевого стека в альтернативных драйверах от компании Unibrain[1]. Поддерживается во многих ОС семейства UNIX (обычно требуется пересборка ядра с этой поддержкой).

Интересно то, что этот стандарт не подразумевает эмуляцию Ethernet над 1394, и, таким образом, использует совершенно иной протокол ARP.

Эмуляция Ethernet над 1394 была включена в ОС FreeBSD и специфична для данной ОС.

Внешние дисковые устройства

Существует стандарт SBP-2 — SCSI поверх 1394. Широко используется для подключения внешних корпусов с жесткими дисками к компьютерам — корпус содержит чип моста 1394-ATA. Скорость примерно до 27 МБ/с, что превышает скорость USB 2.0 как интерфейса к устройствам хранения данных, равную примерно 22 МБ/с.

Поддерживается в ОС семейства 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

Устройства IEEE 1394 организованы по трехуровневой схеме — Transaction, Link и Physical, соответствующие трем нижним уровням модели OSI.

Transaction Layer — маршрутизация потоков данных с поддержкой асинхронного протокола записи-чтения.

Link Layer — формирует пакеты данных и обеспечивает их доставку.

Physical Layer — преобразование цифровой информации в аналоговую для передачи и наоборот, контроль уровня сигнала на шине, управление доступом к шине.

Связь между шиной PCI и Transaction Layer осуществляет Bus Manager. Он назначает вид устройств на шине, номера и типы логических каналов, обнаруживает ошибки.

Данные передаются кадрами длиной 125 мкс. В кадре размещаются временные слоты для каналов. Возможен как синхронный, так и асинхронный режимы работы. Каждый канал может занимать один или несколько временных слотов. Для передачи данных устройство-передатчик просит предоставить синхронный канал требуемой пропускной способности. Если в передаваемом кадре есть требуемое количество временных слотов для данного канала, поступает утвердительный ответ и канал предоставляется.


Спецификации FireWire

IEEE 1394

В конце 1995 года IEEE принял стандарт под порядковым номером 1394. В цифровых камерах Sony интерфейс IEEE 1394 появился раньше принятия стандарта и под названием iLink.

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

Скорость передачи данных — 100, 200 и 400 Мбит/с, длина кабеля до 4,5 м.

IEEE 1394a

В 2000 году был утверждён стандарт IEEE 1394а. Был проведён ряд усовершенствований, что повысило совместимость устройств.

Было введено время ожидания 1/3 секунды на сброс шины, пока не закончится переходный процесс установки надёжного подсоединения или отсоединения устройства.

IEEE 1394b

В 2002 году появляется стандарт IEEE 1394b с новыми скоростями: S800 — 800 Мбит/с и S1600 — 1600 Мбит/с. Соответствующие устройства обозначаются FireWire 800 или FireWire 1600, в зависимости от максимальной скорости.

Изменились используемые кабели и разъёмы. Для достижения максимальных скоростей на максимальных расстояниях предусмотрено использование оптики, пластмассовой — для длины до 50 метров, и стеклянной — для длины до 100 метров.

Несмотря на изменение разъёмов, стандарты остались совместимы, что позволяет использовать переходники.

12 декабря 2007 года была представлена спецификация S3200 [2] с максимальной скоростью — 3,2 Гбит/с. Для обозначения данного режима используется также название «beta mode» (схема кодирования 8B10B (англ.)). Максимальная длина кабеля может достигать 100 метров.

IEEE 1394.1

В 2004 году увидел свет стандарт IEEE 1394.1. Этот стандарт был принят для возможности построения крупномасштабных сетей и резко увеличивает количество подключаемых устройств до гигантского числа — 64 449 [3].

IEEE 1394c

Появившийся в 2006 году стандарт 1394c позволяет использовать кабель Cat 5e от Ethernet. Возможно использовать параллельно с Gigabit Ethernet, то есть использовать две логические и друг от друга не зависящие сети на одном кабеле. Максимальная заявленная длина — 100 м, Максимальная скорость соответствует S800 — 800 Мбит/с.


Разъёмы

Существуют четыре (до IEEE 1394c — три) вида разъёмов для FireWire:

4pin (IEEE 1394a без питания) стоит на ноутбуках и видеокамерах. Два провода для передачи сигнала (информации) и два для приема.

6pin (IEEE 1394a). Дополнительно два провода для питания.

9pin (IEEE 1394b). Дополнительные провода для приёма и передачи информации.

RJ-45 (IEEE 1394c).

Файл:Firewire_469pin.png


Вопросы безопасности

Устройства на шине FireWire могут связаться прямым доступом к памяти (DMA), где устройство может использовать аппаратные средства, чтобы отобразить внутреннюю память на "Пространство Физической памяти FireWire". SBP-2 (Протокол последовательной шины 2) используемый дисководами FireWire использует эту возможность минимизировать прерывания и буферные копии. В SBP-2 инициатор (управляющее устройство) отправляет запрос при удаленной записи команды в указанную область адресного пространства FireWire цели. Эта команда обычно включает буферные адреса в FireWire инициатора "Физическое адресное пространство", которое цель, как предполагается, использует для движущихся данных ввода-вывода для и от инициатора.

На многих реализациях особенно те как PCs и Macs, используя популярный OHCI, отображение между FireWire "Пространство Физической памяти" и физической памятью устройства сделаны в аппаратных средствах без вмешательства операционной системы. В то время как это включает высокоскоростной и передача низкой задержки между источниками данных и приемниками без ненужного копирования (такой как между видеокамерой и приложением видеозаписи программного обеспечения, или между дисководом и буферами приложения), это может также быть угрозой безопасности, если незащищенные устройства присоединены к шине. Поэтому установки высокой степени безопасности будут обычно или покупать более новые машины, которые отображают пространство виртуальной памяти на FireWire "Пространство Физической памяти" (такое как Power Mac G5, или любая рабочая станция Sun), отключают аппаратные средства OHCI, отображающиеся между FireWire и памятью устройства, физически отключают весь интерфейс FireWire, или не имеют FireWire.

Эта функция может быть использована, чтобы отладить машину, операционная система которой отказала, и в некоторых системах для операций удаленного терминала. На FreeBSD dcons драйвер предоставляет обоим, используя gdb как отладчик. Под Linux, firescope и fireproxy существует.


Литература

1)Интерфейс IEEE 1394 По материалам курса Kramer AV Academy — Архив журнала «625» № 7/2005 картинки, грамотно показаны как функциональные схемы, дерево узлов, схемы арбитража, так и разрез кабеля и смысл переходников.

2)http://ru.wikipedia.org/wiki/

3)http://www.ixbt.com/

4)http://en.wikipedia.org/wiki/

5)КомпьютерПресс 2011

6)http://www.max-up.ru/

Romikos 07:15, 16 января 2011 (UTC)

Просмотры
Инструменты

Besucherzahler russian mail order brides
счетчик посещений
Rambler's Top100
Лингафонные кабинеты  Интерактивные доски  Интерактивная приставка Mimio Teach