IEEE 1394


IEEE 1394 (FireWire, i-Link) - послідовна високошвидкісна шина, призначена для обміну цифровою інформацією між комп'ютером і іншими електронними пристроями.

Різні компанії просувають стандарт під своїми торговими марками:


1. Історія

  • у 1986 році членами Комітету із Стандартів мікрокомп'ютер (Microcomputer Standards Committee) прийнято рішення об'єднати існуючі в той час різні варіанти послідовної шини (Serial Bus)
  • в 1992 році розробкою інтерфейсу зайнялася Apple
  • у 1995 році прийнятий стандарт IEEE 1394

2. Переваги

  • Гаряче підключення - можливість переконфігурувати шину без вимикання комп'ютера
  • Різна швидкість передачі даних - 100, 200 і 400 Мбіт / с в стандарті IEEE 1394/1394a, додатково 800 і 1600 Мбіт / с в стандарті IEEE 1394b і 3200 Мбіт / с у специфікації S3200.
  • Гнучка топологія - рівноправ'я пристроїв, що допускає різні конфігурації (можливість "спілкування" пристроїв без комп'ютера)
  • Висока швидкість - можливість обробки мультимедіа-сигналу в реальному часі
  • Підтримка ізохронний трафіку
  • Підтримка атомарних операцій - порівняння / обмін, атомарну збільшення (операції сімейства LOCK - compare / swap, fetch / add і т. д.).
  • Відкрита архітектура - відсутність необхідності використання спеціального програмного забезпечення
  • Наявність живлення прямо на шині (малопотужні пристрої можуть обходитися без власних блоків живлення). До півтора ампер і напруга від 8 до 40 вольт.
  • Підключення до 63 пристроїв.

Шина IEEE 1394 може використовуватися для:


3. Основні відомості

Кабель являє собою 2 виті пари - А і B, розпаяні як A до B, а на іншій стороні кабелю як B до A. Також можливий необов'язковий провідник харчування.

Пристрій може мати до 4 портів (роз'ємів). В одній топології може бути до 64 пристроїв. Максимальна довжина шляху в топології - 16. Топологія деревоподібна, замкнуті петлі не допускаються.

При приєднанні і від'єднанні пристрої відбувається скидання шини, після якого пристрою самостійно вибирають із себе головне, намагаючись звалити цей "верховенство" на сусіда. Після визначення головного пристрою стає зрозуміла логічна спрямованість кожного відрізка кабелю - до головного або ж від головного. Після цього можлива роздача номерів пристроям. Після роздачі номерів можливе виконання звернень до пристроїв.

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

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

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

Ізохронний операції - це передача пакетів даних в ритмі, суворо приуроченому до ритму 8 КГц, що задається провідним пристроєм шини шляхом ініціації транзакцій "запис в регістр поточного часу". Замість адрес в ізохронних трафіку використовуються номери каналів від 0 до 31. Підтверджень не передбачено, ізохронний операції є одностороннє мовлення.

Ізохронний операції вимагає виділення ізохронних ресурсів - номера каналу і смуги пропускання. Це робиться атомарної асинхронної транзакцією на якісь стандартні адреси одного з пристроїв шини, обраного як "менеджер ізохронних ресурсів".

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


4. Використання

4.1. Мережа поверх 1394

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

Cтандарт не має на увазі емуляцію Ethernet над 1394, і використовує зовсім інший протокол ARP. Незважаючи на це, емуляція Ethernet над 1394 була включена в ОС FreeBSD і є специфічною для даної ОС.


4.2. Зовнішні дискові пристрої

Існує стандарт 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, що вимагає виплат за кожен чіп контролера.


4.3. MiniDV відеокамери

Історично перше використання шини. Використовується і донині як засіб захоплення фільмів з MiniDV у файли. Можливий і захоплення з камери на камеру.

Відеосигнал, що йде по 1394, йде практично в тому ж форматі, що і зберігається на відеострічці. Це спрощує камеру, знижуючи вимоги до неї по наявності пам'яті.

В ОС Windows підключена по 1394 камера є пристроєм DirectShow. Захоплення відео з такого пристрою можливий в найрізноманітніших додатках - Adobe Premiere, Ulead Media Studio Pro, Windows Movie Maker. Існує також величезна кількість найпростіших утиліт, здатних виконувати тільки цей захоплення. Можливо також і використання тестового інструменту Filter Graph Editor з вільно розповсюджуваного DirectShow SDK.

Використання 1394 c miniDV поклало кінець пропрієтарним платам відеозахоплення.


4.4. Відладчики

Цікавою властивістю контролерів 1394 є здатність читати і писати довільні адреси пам'яті з боку шини без використання процесора і ПО. Це виникає з багатого набору асинхронних транзакцій 1394, а також з її структури адресації.

Ця можливість читання і редагування пам'яті через 1394 без допомоги процесора послужила причиною використання 1394 у двухмашинні відладчик ядра Windows - WinDbg. Таке використання істотно швидше послідовного порту, але вимагає ОС не нижче Windows XP з обох сторін. Також можливість використовується в відладчик для інших ОС, наприклад firescope для linux. [2]


5. Організація пристроїв IEEE 1394

Пристрої IEEE 1394 організовані за трирівневою схемою - Transaction, Link і Physical, відповідні трьом нижнім рівням моделі OSI.

Transaction Layer - маршрутизація потоків даних з підтримкою асинхронного протоколу запису-читання.

Link Layer - формує пакети даних і забезпечує їх доставку.

Physical Layer - перетворення цифрової інформації в аналогову для передачі і навпаки, контроль рівня сигналу на шині, управління доступом до шині.

Зв'язок між шиною PCI і Transaction Layer здійснює Bus Manager. Він призначає вид пристроїв на шині, номери і типи логічних каналів, виявляє помилки.

Дані передаються кадрами довжиною 125 мкс. У кадрі розміщуються тимчасові слоти для каналів. Можливий як синхронний, так і асинхронний режими роботи. Кожен канал може займати один або декілька тимчасових слотів. Для передачі даних пристрій-передавач просить надати синхронний канал необхідної пропускної спроможності. Якщо в переданому кадрі є необхідна кількість тимчасових слотів для даного каналу, поступає ствердна відповідь і канал надається.


6. Специфікації FireWire

6.1. IEEE 1394

В кінці 1995 IEEE прийняв стандарт під порядковим номером 1394. У цифрових камерах Sony інтерфейс IEEE 1394 з'явився раніше ухвалення стандарту і під назвою iLink.

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

Швидкість передачі даних - 98,304, 196,608 і 393,216 Мбіт / с, які округлюють до 100, 200 і 400 Мбіт / с. Довжина кабелю до 4,5 м.


6.2. IEEE 1394a

У 2000 році був затверджений стандарт IEEE 1394а. Було проведено ряд удосконалень, що підвищило сумісність пристроїв.

Було введено час очікування 1/3 секунди на скидання шини, поки не закінчиться перехідний процес установки надійного під'єднування або від'єднання пристрою.

6.3. IEEE 1394b

В 2002 з'являється стандарт IEEE 1394b з новими швидкостями: S800 - 800 Мбіт / с і S1600 - 1600 Мбіт / с. Відповідні пристрої позначаються FireWire 800 або FireWire 1600, залежно від максимальної швидкості.

Змінилися використовувані кабелі і роз'єми. Для досягнення максимальних швидкостей на максимальних відстанях передбачено використання оптики, пластмасової - для довжини до 50 метрів, і скляної - для довжини до 100 метрів

Незважаючи на зміну роз'ємів, стандарти залишилися сумісні, що дозволяє використовувати перехідники.

12 грудня 2007 була представлена ​​специфікація S3200 [3] з максимальною швидкістю - 3,2 Гбіт / с. Для позначення даного режиму використовується також назва "beta mode" (схема кодування 8B10B (Англ.) ). Максимальна довжина кабелю може досягати 100 метрів.


6.4. IEEE 1394.1

У 2004 році побачив світ стандарт IEEE 1394.1. Цей стандарт був прийнятий для можливості побудови великомасштабних мереж і різко збільшує кількість пристроїв, що підключаються до гігантського числа - 64 449 [4].

6.5. IEEE 1394c

З'явився в 2006 стандарт 1394c дозволяє використовувати кабель Cat 5e від Ethernet. Можливо використовувати паралельно з Gigabit Ethernet, тобто використовувати дві логічні і один від одного не залежать мережі на одному кабелі. Максимальна заявлена ​​довжина - 100 м, Максимальна швидкість відповідає S800 - 800 Мбіт / с.

7. Роз'єми

Існують чотири (до IEEE 1394c - три) виду роз'ємів для FireWire:

  • 4pin (IEEE 1394a без живлення) стоїть на ноутбуках і відеокамерах. Вита пара (два контакти) для передачі сигналу (інформації) і друга вита пара (ін два контакти) - для прийому.
  • 6pin (IEEE 1394a). Додатково два дроти для живлення.
  • 9pin (IEEE 1394b). Додатково два контакти для екранів кручених пар (прийому і передачі інформації). І ще один контакт - резерв.
  • RJ-45 (IEEE 1394c).

Примітки