IEEE 1394 — стандарт интерфейса последовательной шины для высокоскоростной связи и изохронной передачи данных в реальном времени. Он был разработан в конце 1980-х и начале 1990-х годов компанией Apple в сотрудничестве с рядом компаний, в первую очередь Sony и Panasonic . Он наиболее известен под названием FireWire (Apple), хотя существуют и другие торговые марки, такие как i.LINK (Sony) и Lynx ( Texas Instruments ).
Медный кабель, используемый в наиболее распространенной реализации, может иметь длину до 4,5 метров (15 футов). Питание и данные передаются по этому кабелю, что позволяет устройствам с умеренными требованиями к питанию работать без отдельного источника питания. FireWire также доступен в версиях Cat 5 и оптоволокна .
Интерфейс 1394 сопоставим с USB . USB был разработан впоследствии и завоевал гораздо большую долю рынка. USB требует хост-контроллера, тогда как IEEE 1394 совместно управляется подключенными устройствами. [2]
FireWire — это название Apple для высокоскоростной последовательной шины IEEE 1394. Её разработка была инициирована Apple [1] в 1986 году [3] и продолжена рабочей группой IEEE P1394, в значительной степени благодаря вкладу Sony (102 патента), Apple (58 патентов), Panasonic (46 патентов) и Philips (43 патента), а также вкладу инженеров из LG Electronics , Toshiba , Hitachi , Canon , [4] INMOS /SGS Thomson (теперь STMicroelectronics ), [5] и Texas Instruments .
IEEE 1394 — это архитектура последовательной шины для высокоскоростной передачи данных, последовательная означает, что информация передается по одному биту за раз. Параллельные шины используют ряд различных физических соединений, и поэтому они обычно более дорогие и, как правило, более тяжелые. [6] IEEE 1394 полностью поддерживает как изохронные, так и асинхронные приложения.
Apple намеревалась сделать FireWire последовательной заменой параллельной шины SCSI , обеспечивая при этом подключение для цифрового аудио- и видеооборудования. Разработка Apple началась в конце 1980-х годов, позже была представлена IEEE [7] и была завершена в январе 1995 года. В 2007 году IEEE 1394 был составлен из четырех документов: исходного IEEE Std. 1394–1995, поправки IEEE Std. 1394a-2000, поправки IEEE Std. 1394b-2002 и поправки IEEE Std. 1394c-2006. 12 июня 2008 года все эти поправки, а также исправления и некоторые технические обновления были включены в заменяющий стандарт IEEE Std. 1394–2008. [8]
Apple впервые включила встроенный FireWire в некоторые из своих моделей Macintosh 1999 года (хотя с 1997 года он был опцией сборки на заказ на некоторых моделях), и большинство компьютеров Apple Macintosh, произведенных в период с 2000 по 2011 год, включали порты FireWire. Однако в феврале 2011 года Apple представила первый коммерчески доступный компьютер с Thunderbolt . Apple выпустила свои последние компьютеры с FireWire в 2012 году. К 2014 году Thunderbolt стал стандартной функцией во всей линейке компьютеров Apple (позже за исключением 12-дюймового MacBook, представленного в 2015 году, который имел только один порт USB-C), фактически став духовным преемником FireWire в экосистеме Apple. Последние продукты Apple с FireWire, Thunderbolt Display и 13-дюймовый MacBook Pro 2012 года , были сняты с производства в 2016 году. Ранее Apple продавала адаптер Thunderbolt to FireWire, который обеспечивал один порт FireWire 800. [9] Для его использования с Thunderbolt 3 требовался отдельный адаптер.
Реализация системы Sony, i.LINK , использовала меньший разъем с четырьмя сигнальными проводниками, опуская два проводника, которые обеспечивают питание устройств, в пользу отдельного разъема питания. Этот стиль был позже добавлен в поправку 1394a. [7] Этот порт иногда маркируется как S100 или S400, чтобы указать скорость в Мбит/с.
Система обычно использовалась для подключения устройств хранения данных и DV (цифровых видео) камер, но также была популярна в промышленных системах для машинного зрения и профессиональных аудиосистемах . Многие пользователи предпочитали ее более распространенному USB 2.0 из -за его более высокой тогда эффективной скорости и возможностей распределения питания. Тесты показывают, что устойчивые скорости передачи данных выше для FireWire, чем для USB 2.0, но ниже, чем для USB 3.0 . Результаты отмечены на Apple Mac OS X , но более разнообразны на Microsoft Windows . [10] [11]
Реализация IEEE 1394 [12] требует использования 261 выданных международных патентов [4], принадлежащих десяти [5] корпорациям. Использование этих патентов требует лицензирования; использование без лицензии, как правило, является нарушением патентных прав . [13] Компании, владеющие интеллектуальной собственностью IEEE 1394, сформировали патентный пул с MPEG LA, LLC в качестве администратора лицензий, которому они лицензировали патенты. MPEG LA сублицензирует эти патенты поставщикам оборудования, реализующего IEEE 1394. В соответствии с типичной лицензией патентного пула производитель выплачивает роялти в размере 0,25 долл. США за единицу при изготовлении каждого готового продукта 1394; [13] пользователи не выплачивают роялти.
Последний из патентов, MY 120654 компании Sony, истек 30 ноября 2020 года. По состоянию на 30 ноября 2020 года [обновлять]следующие лица являются держателями патентов на стандарт IEEE 1394, как указано в патентном пуле, управляемом MPEG LA . [4]
Лицо или компания могут просмотреть фактическую лицензию 1394 Patent Portfolio License по запросу в MPEG LA. [14] MPEG LA не предоставляет гарантии защиты лицензиатам за пределами своих собственных патентов. Известно, что по крайней мере один ранее лицензированный патент был удален из пула, [4] и существуют другие патенты на оборудование, которые ссылаются на IEEE 1394. [15]
Ассоциация торговли высокопроизводительными последовательными шинами 1394 ( TA 1394 ) была создана для содействия маркетингу IEEE 1394. Ее устав запрещает заниматься вопросами интеллектуальной собственности. [16] Ассоциация торговли 1394 работает на основе индивидуального бесплатного членства для дальнейшего усовершенствования стандартов 1394. Ассоциация торговли также является источником библиотеки для всей доступной документации и стандартов 1394.
FireWire может подключать до 63 периферийных устройств в древовидной или последовательной топологии [17] (в отличие от электрической шинной топологии Parallel SCSI). Он позволяет осуществлять одноранговую связь между устройствами — например, между сканером и принтером — без использования системной памяти или ЦП . FireWire также поддерживает несколько хост-контроллеров на шину. Он разработан для поддержки plug and play и горячей замены . Медный кабель, который он использует в своей наиболее распространенной реализации, может иметь длину до 4,5 метров (15 футов) и является более гибким, чем большинство параллельных кабелей SCSI . В своих шести- или девятипроводных вариантах он может подавать до 45 Вт мощности на порт при напряжении до 30 вольт, [18] позволяя устройствам с умеренным потреблением работать без отдельного источника питания.
Устройства FireWire реализуют модель конфигурации ПЗУ ISO/IEC 13213 для конфигурации и идентификации устройств, чтобы обеспечить возможность plug-and-play . Все устройства FireWire идентифицируются уникальным идентификатором IEEE EUI-64 в дополнение к общеизвестным кодам, указывающим тип устройства и поддерживаемые им протоколы .
Устройства FireWire организованы на шине в древовидной топологии. Каждое устройство имеет уникальный собственный идентификатор. Один из узлов выбирается корневым узлом и всегда имеет наивысший идентификатор. Собственные идентификаторы назначаются во время процесса самостоятельной идентификации, который происходит после сброса каждой шины. Порядок, в котором назначаются собственные идентификаторы, эквивалентен обходу дерева в глубину , в постпорядке.
FireWire способен безопасно эксплуатировать критически важные системы благодаря способу взаимодействия нескольких устройств с шиной и тому, как шина выделяет полосу пропускания устройствам. FireWire способен одновременно использовать как асинхронные , так и изохронные методы передачи. Изохронные передачи данных — это передачи для устройств, которым требуется непрерывная, гарантированная полоса пропускания. [6] Например, в самолете изохронные устройства включают управление рулем направления , операции мыши и данные с датчиков давления снаружи самолета. Все эти элементы требуют постоянной, непрерывной полосы пропускания. Для поддержки обоих элементов FireWire выделяет определенный процент изохронным данным, а остальное — асинхронным данным. В IEEE 1394 80% шины зарезервировано для изохронных циклов, оставляя асинхронным данным минимум 20% шины. [19]
FireWire использует кодирование Data/Strobe (кодирование D/S). [20] При кодировании D/S два сигнала без возврата к нулю (NRZ) используются для передачи данных с высокой надежностью. Отправленный сигнал NRZ подается вместе с тактовым сигналом через вентиль XOR , создавая стробирующий сигнал. [20] Затем этот стробирующий сигнал проходит через другой вентиль XOR вместе с сигналом данных для восстановления тактового сигнала. [20] Это, в свою очередь, действует как фазовая автоподстройка частоты шины для целей синхронизации. [20]
Процесс принятия шиной решения о том, какой узел должен передавать данные в какое время, называется арбитражем . [21] Каждый раунд арбитража длится около 125 микросекунд. [21] Во время раунда корневой узел (устройство, ближайшее к процессору) отправляет пакет начала цикла. [21] Все узлы, требующие передачи данных, отвечают, причем побеждает ближайший узел. [21] После завершения узла оставшиеся узлы меняются местами по порядку. Это повторяется до тех пор, пока все устройства не используют свою часть из 125 микросекунд, при этом изохронные передачи имеют приоритет. [21]
Предыдущие стандарты и три опубликованные поправки к ним теперь включены в заменяющий стандарт IEEE 1394-2008 . [8] Функции, добавленные по отдельности, дают хорошую историю на пути развития.
Первоначальный выпуск IEEE 1394-1995 [22] определил то, что сейчас известно как FireWire 400. Он может передавать данные между устройствами со скоростью 100, 200 или 400 Мбит/с в полудуплексном [23] режиме (фактическая скорость передачи составляет 98,304, 196,608 и 393,216 Мбит/с, т. е. 12,288, 24,576 и 49,152 МБ/с соответственно). [7] Эти различные режимы передачи обычно называются S100, S200 и S400.
Длина кабеля ограничена 4,5 метрами (14,8 футов), хотя до 16 кабелей могут быть соединены последовательно с использованием активных повторителей, например, внешних концентраторов или внутренних концентраторов, которые часто присутствуют в оборудовании FireWire. Стандарт S400 ограничивает максимальную длину кабеля любой конфигурации до 72 метров (236 футов). 6-проводной разъем обычно встречается на настольных компьютерах и может обеспечивать питание подключенного устройства.
6-проводной разъем питания, теперь называемый альфа-разъемом, добавляет выходную мощность для поддержки внешних устройств. Обычно устройство может потреблять от порта около 7-8 Вт; однако напряжение значительно различается в зависимости от устройства. [24] Напряжение указано как нерегулируемое и должно номинально составлять около 25 вольт (диапазон от 24 до 30). Реализация Apple на ноутбуках обычно связана с питанием от батареи и может быть всего 9 В. [24]
В 2000 году была выпущена поправка IEEE 1394a [25] , которая прояснила и улучшила исходную спецификацию. Она добавила поддержку асинхронной потоковой передачи , более быстрой перенастройки шины, конкатенации пакетов и энергосберегающего режима ожидания .
IEEE 1394a предлагает несколько преимуществ по сравнению с оригинальным IEEE 1394–1995. 1394a способен к арбитражным ускорениям, позволяя шине ускорять арбитражные циклы для повышения эффективности. Он также допускает арбитражный короткий сброс шины, при котором узел может быть добавлен или удален без значительного падения изохронной передачи. [19]
1394a также стандартизировал 4-проводной альфа-разъем, разработанный Sony и зарегистрированный как i.LINK , который уже широко используется на потребительских устройствах, таких как видеокамеры, большинство ноутбуков ПК, ряд настольных ПК и других небольших устройствах FireWire. 4-проводной разъем полностью совместим по данным с 6-проводными альфа-интерфейсами, но не имеет разъемов питания.
IEEE 1394b-2002 [26] представил FireWire 800 (название Apple для 9-проводной двуязычной версии S800 стандарта IEEE 1394b). Эта спецификация добавила новую схему кодирования, называемую бета-режимом, которая позволяла совместимым устройствам работать на скорости 786,432 Мбит/с в полнодуплексном режиме . Она обратно совместима с более медленными скоростями и 6-проводными альфа-разъемами FireWire 400. Однако, хотя стандарты IEEE 1394a и IEEE 1394b совместимы, разъем FireWire 800, называемый бета-разъемом, отличается от альфа-разъемов FireWire 400, что делает устаревшие кабели несовместимыми. Двуязычный кабель позволяет подключать старые устройства к новому порту. В 2003 году компания Apple первой представила коммерческие продукты с новым разъемом, включая новую модель Power Mac G4 и 17-дюймовый PowerBook G4 .
Полная спецификация IEEE 1394b поддерживает скорость передачи данных до 3200 Мбит/с (т. е. 400 МБ/с) по бета-режиму или оптическим соединениям длиной до 100 метров (330 футов). Стандартный кабель категории 5e поддерживает 100 метров (330 футов) при S100. Первоначальные стандарты 1394 и 1394a использовали кодирование данных/строба (D/S) , теперь известное как альфа-режим , с кабелями, в то время как 1394b добавил схему кодирования данных, называемую 8b/10b, называемую бета-режимом .
Режим Beta основан на 8b/10b (из Gigabit Ethernet , также используется для многих других протоколов). Кодирование 8b/10b включает расширение 8-битного слова данных до 10 бит с дополнительными битами после 5-го и 8-го битов данных. [27] Разделенные данные отправляются через функцию калькулятора Running Disparity . [27] Калькулятор Running Disparity пытается сохранить количество переданных единиц равным 0, [28] тем самым обеспечивая сбалансированный по постоянному току сигнал. Затем различные разделы отправляются через кодер 5b/6b для 5-битного раздела и кодер 3b/4b для 3-битного раздела. Это дает пакету возможность иметь по крайней мере две единицы, обеспечивая синхронизацию ФАПЧ на приемном конце с правильными границами бит для надежной передачи. [28] Дополнительной функцией схемы кодирования является поддержка арбитража для доступа к шине и общего управления шиной. Это возможно благодаря избыточным символам, предоставляемым расширением 8b/10b. (В то время как 8-битные символы могут кодировать максимум 256 значений, 10-битные символы допускают кодирование до 1024.) Символы, недопустимые для текущего состояния принимающего PHY , указывают на ошибки данных.
IEEE 1394c-2006 был опубликован 8 июня 2007 года. [29] Он обеспечил существенное техническое усовершенствование, а именно новую спецификацию порта, которая обеспечивает скорость 800 Мбит/с по тем же разъемам 8P8C (Ethernet) с кабелем категории 5e , который указан в пункте 40 IEEE 802.3 ( гигабитный Ethernet по медной витой паре ), вместе с соответствующим автоматическим согласованием, которое позволяет одному и тому же порту подключаться к устройствам как IEEE Std 1394, так и IEEE 802.3 ( Ethernet ).
В декабре 2007 года 1394 Trade Association объявила, что продукты будут доступны до конца 2008 года с использованием режимов S1600 и S3200, которые, по большей части, уже были определены в 1394b и были дополнительно уточнены в IEEE Std. 1394–2008. [8] Устройства 1,572864 Гбит/с и 3,145728 Гбит/с используют те же 9-проводные бета-разъемы, что и существующий FireWire 800, и полностью совместимы с существующими устройствами S400 и S800. Он конкурирует с USB 3.0 . [30]
Были созданы блоки разработки S1600 (Symwave [31] ) и S3200 (Dap Technology [32] ), однако из-за технологии ПЛИС DapTechnology сначала нацелилась на реализацию S1600, а S3200 не поступала в продажу до 2012 года.
Стив Джобс объявил FireWire мертвым в 2008 году. [33] По состоянию на 2012 год [обновлять]было выпущено несколько устройств S1600, единственным заметным пользователем была камера Sony. [34]
Проект под названием IEEE P1394d был сформирован IEEE 9 марта 2009 года для добавления одномодового оптоволокна в качестве дополнительной транспортной среды к FireWire. [35] Проект был отозван в 2013 году. [36]
Ожидалось, что другие будущие версии FireWire увеличат скорость до 6,4 Гбит/с и добавят дополнительные разъемы, такие как небольшой мультимедийный интерфейс. [37] [ необходима цитата ]
Полная поддержка IEEE 1394a и 1394b доступна для Microsoft Windows , FreeBSD , [38] Linux , [39] [40] Apple Mac OS 8.6 — macOS 14 Sonoma [ необходима ссылка ] и NetBSD .
В Windows XP снижение производительности устройств 1394 могло произойти при установке Service Pack 2. Это было исправлено в Hotfix 885222 [41] и в SP3 . Некоторые производители оборудования FireWire также предоставляют специальные драйверы устройств, которые заменяют стек драйверов хост-адаптера Microsoft OHCI, позволяя устройствам с поддержкой S800 работать на полной скорости передачи данных 800 Мбит/с в старых версиях Windows (XP SP2 без Hotfix 885222) и Windows Vista. На момент выпуска Microsoft Windows Vista поддерживала только 1394a, с заверениями, что поддержка 1394b появится в следующем пакете обновления. [42] С тех пор был выпущен Service Pack 1 для Microsoft Windows Vista, однако добавление поддержки 1394b нигде не упоминается в документации к выпуску. [43] [44] [45] Драйвер шины 1394 был переписан для Windows 7 для обеспечения поддержки более высоких скоростей и альтернативных носителей. [46]
В Linux поддержка изначально предоставлялась libraw1394, которая обеспечивала прямую связь между пользовательским пространством и шинами IEEE 1394. [47] Впоследствии был реализован новый стек драйверов ядра, получивший название JuJu. [48]
Согласно Кодексу FCC 47 CFR 76.640, раздел 4, подразделы 1 и 2, поставщики кабельного телевидения (в США, с цифровыми системами) должны по запросу клиента предоставить кабельную приставку с поддержкой высокой четкости и функциональным интерфейсом FireWire. Это применимо только к клиентам, арендующим кабельные приставки с поддержкой высокой четкости у своего кабельного провайдера после 1 апреля 2004 года. [49] Интерфейс может использоваться для отображения или записи кабельного телевидения, включая программы HDTV. [50] В июне 2010 года FCC издала приказ, разрешающий приставкам включать интерфейсы на основе IP вместо FireWire. [51] [52]
Хотя обе технологии обеспечивают схожие конечные результаты, между USB и FireWire есть фундаментальные различия . USB требует наличия хост-контроллера, как правило, ПК, который соединяет точку с USB-устройством. Это позволяет использовать более простые (и недорогие) периферийные устройства за счет снижения функциональности шины. Для подключения нескольких USB-устройств к одному хост-контроллеру USB требуются интеллектуальные концентраторы . Напротив, FireWire по сути является одноранговой сетью (где любое устройство может служить хостом или клиентом), что позволяет подключать несколько устройств к одной шине. [53]
Интерфейс хоста FireWire поддерживает DMA и отображаемые в память устройства, что позволяет передавать данные без загрузки центрального процессора хоста прерываниями и операциями копирования буфера. [10] [54] Кроме того, FireWire имеет две шины данных для каждого сегмента сетевой шины, тогда как до USB 3.0 USB имел только одну. Это означает, что FireWire может иметь связь в обоих направлениях одновременно (полный дуплекс), тогда как связь USB до 3.0 могла осуществляться только в одном направлении в любой момент времени (полудуплекс). [ необходима цитата ]
В то время как USB 2.0 расширился до полностью обратно совместимых USB 3.0 и 3.1 (использующих тот же тип основного разъема), FireWire использовал другой разъем между реализациями 400 и 800.
Порт удобства для клиентов (CCP) IDB-1394 был автомобильной версией стандарта 1394. [55]
IEEE 1394 был стандартным интерфейсом подключения Альянса аудио-видео сетей высокой четкости (HANA) для связи и управления компонентами A/V (аудио/визуальными). [56] HANA была распущена в сентябре 2009 года, и Торговая ассоциация 1394 взяла на себя контроль над всей интеллектуальной собственностью, созданной HANA.
Стандарт SAE Aerospace AS5643, первоначально выпущенный в 2004 году и подтвержденный в 2013 году, устанавливает стандарты IEEE-1394 в качестве военной и аэрокосмической сети шин данных в этих транспортных средствах. AS5643 используется несколькими крупными программами, включая F-35 Lightning II , самолет X-47B UCAV , оружие AGM-154 и полярный спутник JPSS-1 для NOAA. AS5643 объединяет существующие функции 1394-2008, такие как петлевая топология, с дополнительными функциями, такими как трансформаторная изоляция и синхронизация времени, для создания детерминированных сетей шин данных с двойной и тройной отказоустойчивостью. [57] [58] [59]
FireWire может использоваться для ad hoc (только терминалы, без маршрутизаторов, за исключением случаев, когда используется концентратор FireWire) компьютерных сетей . В частности, RFC 2734 определяет, как запускать IPv4 через интерфейс FireWire, а RFC 3146 определяет, как запускать IPv6 .
Mac OS X, Linux и FreeBSD поддерживают сетевое взаимодействие через FireWire. [60] Windows 95 , Windows 98 , Windows Me , [61] Windows XP и Windows Server 2003 поддерживают сетевое взаимодействие через IEEE 1394. [62] Windows 2000 не поддерживает сетевое взаимодействие через IEEE 1394, но может работать с драйверами сторонних производителей. Сеть может быть установлена между двумя компьютерами с помощью одного стандартного кабеля FireWire или несколькими компьютерами с помощью концентратора. Это похоже на сети Ethernet , основными отличиями которых являются скорость передачи данных, длина проводника и тот факт, что стандартные кабели FireWire могут использоваться для связи точка-точка .
4 декабря 2004 года Microsoft объявила, что прекратит поддержку IP -сетей через интерфейс FireWire во всех будущих версиях Microsoft Windows . [63] Соответственно, поддержка этой функции отсутствует в Windows Vista и более поздних версиях Windows. [64] [65] Microsoft переписала свой драйвер 1394 в Windows 7 [66], но сетевой поддержки FireWire нет. Unibrain предлагает бесплатные сетевые драйверы FireWire для Windows, называемые ubCore, [67] которые поддерживают Windows Vista и более поздние версии.
Более ранние модели консоли PlayStation 2 (серии SCPH 1000x - 3900x) имели разъем 1394 с фирменной символикой i.LINK. Он использовался для работы в сети до выпуска адаптера Ethernet позднее в течение срока службы консоли, но очень немногие программные продукты поддерживали эту функцию. Разъем был удален из серии SCPH 5000x [68] и далее.
IIDC (Instrumentation & Industrial Digital Camera) — стандарт формата данных FireWire для живого видео, используемый камерой Apple iSight A/V. Система была разработана для систем машинного зрения [69], но также используется для других приложений компьютерного зрения и для некоторых веб-камер. Хотя их легко спутать, поскольку они оба работают через FireWire, IIDC отличается от повсеместного AV/C (Audio Video Control), используемого для управления камкордерами и другими потребительскими видеоустройствами, и несовместим с ним. [70]
Цифровое видео ( DV ) — стандартный протокол , используемый некоторыми цифровыми камкордерами . Все DV-камеры, которые записывали на ленточные носители, имели интерфейс FireWire (обычно 4-проводной). Все DV-порты на камкордерах работают только на более медленной скорости FireWire 100 Мбит/с. Это создает эксплуатационные проблемы, если камкордер последовательно подключен к более быстрому устройству S400 или через общий концентратор, поскольку любой сегмент сети FireWire не может поддерживать многоскоростную связь. [71]
Маркировка порта различается у разных производителей, Sony использует либо свою торговую марку i.LINK, либо буквы DV . Многие цифровые видеомагнитофоны имеют разъем FireWire для входа DV (обычно это разъем Alpha), который можно использовать для записи видео напрямую с DV-камкордера (без компьютера). Протокол также обеспечивает дистанционное управление (воспроизведение, перемотка и т. д.) подключенными устройствами и может передавать временной код с камеры.
USB не подходит для передачи видеоданных с ленты, поскольку лента по своей природе не поддерживает переменную скорость передачи данных. USB в значительной степени зависит от поддержки процессора, и это не гарантировало своевременное обслуживание порта USB. Более поздний переход от ленты к твердотельной памяти или дисковым носителям (например, картам SD, оптическим дискам или жестким дискам) облегчил переход к передаче через USB, поскольку данные на основе файлов можно перемещать сегментами по мере необходимости.
Интерфейс IEEE 1394 обычно используется в фрейм-грабберах — устройствах, которые захватывают и оцифровывают аналоговый видеосигнал; однако IEEE 1394 сталкивается с конкуренцией со стороны интерфейса Gigabit Ethernet (из-за проблем со скоростью и доступностью). [72]
iPod , выпущенные до iPod с Dock Connector, использовали порты IEEE 1394a для передачи музыкальных файлов и зарядки, но в 2003 году порт FireWire в iPod был заменен на док-разъем Apple , и были сделаны кабели IEEE 1394 с 30-контактным разъемом. Apple начала удалять обратную совместимость с кабелями FireWire, начиная с первого поколения iPod nano и пятого поколения iPod , оба из которых могли синхронизироваться только через USB, но сохраняли возможность зарядки через FireWire. Это также было перенесено на второе и третье поколения nano, а также на iPod Classic . Обратная совместимость была полностью удалена, начиная с iPhone 3G , второго поколения iPod touch и четвертого поколения iPod nano , [73] все из которых могли заряжаться и синхронизироваться только через USB.
Устройства на шине FireWire могут взаимодействовать посредством прямого доступа к памяти (DMA), где устройство может использовать аппаратное обеспечение для отображения внутренней памяти в физическое пространство памяти FireWire . SBP-2 ( Serial Bus Protocol 2 ), используемый дисководами FireWire, использует эту возможность для минимизации прерываний и буферных копий. В SBP-2 инициатор (управляющее устройство) отправляет запрос, удаленно записывая команду в указанную область адресного пространства FireWire цели. Эта команда обычно включает адреса буферов в физическом адресном пространстве FireWire инициатора , которые цель должна использовать для перемещения данных ввода-вывода к инициатору и от него. [74]
Во многих реализациях, особенно таких, как ПК и Mac, использующих популярный OHCI , сопоставление между физическим пространством памяти FireWire и физической памятью устройства выполняется аппаратно, без вмешательства операционной системы. Хотя это обеспечивает высокоскоростную и малозадерживаемую связь между источниками данных и приемниками без ненужного копирования (например, между видеокамерой и программным приложением для записи видео или между дисководом и буферами приложений), это также может быть риском безопасности или ограничения прав на медиа, если ненадежные устройства подключены к шине и инициируют атаку DMA . Одним из приложений, известных тем, что использует это для получения несанкционированного доступа к работающим компьютерам Windows, Mac OS и Linux, является шпионское ПО FinFireWire . По этой причине высокозащищенные установки обычно либо используют более новые машины, которые отображают пространство виртуальной памяти в пространство физической памяти FireWire (например, Power Mac G5 или любая рабочая станция Sun ), либо отключают соответствующие драйверы на уровне операционной системы, [75] отключают аппаратное отображение OHCI между FireWire и памятью устройства, физически отключают весь интерфейс FireWire или предпочитают не использовать FireWire или другое оборудование, такое как PCMCIA , PC Card , ExpressCard или Thunderbolt , которые открывают DMA для внешних компонентов.
Незащищенный интерфейс FireWire может использоваться для отладки машины, операционная система которой вышла из строя, а в некоторых системах — для удаленных консольных операций. Windows изначально поддерживает этот сценарий отладки ядра, [76] хотя более новые сборки Windows Insider Preview больше не включают эту возможность из коробки. [77] Во FreeBSD драйвер dcons обеспечивает оба варианта, используя gdb в качестве отладчика. В Linux существуют firescope [78] и fireproxy [79] .
Стандарт цифровой связи 1394 был задуман в 1986 году технологами Apple Computer
{{cite book}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite book}}
: CS1 maint: числовые имена: список авторов ( ссылка )Доступен проект P1394a 5.0 [ постоянная неработающая ссылка ] .{{cite book}}
: CS1 maint: числовые имена: список авторов ( ссылка )[ мертвая ссылка ]{{cite web}}
: CS1 maint: archived copy as title (link){{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: numeric names: authors list (link)