Інтерфейс IEEE 1394 – FireWire
Групою компаній при активній участі Apple була розроблена технологія послідовної високошвидкісної шини, призначеної для обміну цифровою інформацією між комп’ютером і іншими електронними пристроями. У 1995 році ця технологія була стандартизована IEEE (стандарт IEEE 1394-1995). Компанія Apple просуває цей стандарт під торговою маркою FireWire, а компанія Sony – під торговою маркою i-Link.
Інтерфейс IEEE 1394 є дуплексною, послідовною, загальною шиною для периферійних пристроїв. Вона призначена для підключення комп’ютерів до таких побутових електронних приладів, як що записує і відтворююча видео- і аудіоапаратура, а також використовується як інтерфейс дискових накопичувачів (таким чином, вона змагається з шиною SCSI).
Первинний стандарт (1394a) підтримує швидкості передачі даних 100 Мбіт/с, 200 Мбіт/с і 400 Мбіт/с. Подальші удосконалення стандарту (1394b) забезпечують підтримку швидкості передачі даних 800 і 1600 Мбіт/с (FireWire-800, FireWire-1600).
Пристрої, які передають дані на різних швидкостях, можуть бути одночасно підключені до кабелю (оскільки пари тих, що обмінюються даними пристроїв використовують для цього одну і ту ж швидкість). Максимальна довжина кабелю, що рекомендується, між пристроями складає 4,5 м. До кабелю загальною довжиною до 72 м може бути одночасно підключене до 63 пристроїв, званих вузлами (nodes). Для збільшення числа шин аж до максимального значення (1023) можуть бути використані мости.
Кожен пристрій володіє 64-розрядною адресою:
- 6 битий – ідентифікаційний номер пристрою на шині
- 10 битий – ідентифікаційний номер шини
- 48 битий – використовуються для адресації пам’яті (кожен пристрій може адресувати до 256 Тбайт пам’яті).
Шина припускає наявність кореневого вузла, що виконує деякі функції управління. Кореневий вузол може бути вибраний автоматично під час ініціалізації шини, або його атрибут може бути примусово привласнений конкретному вузлу (швидше за все, ПК). Некореневі вузли є або гілками (якщо вони підтримують більш ніж одне активне з’єднання), або листям (якщо вони підтримують тільки одне активне з’єднання).
Як правило, пристрої мають по 1-3 порти, причому один пристрій може бути включене в будь-яке інше (з урахуванням обмежень на те, що між будь-якими двома пристроями може бути не більше 16 прольотів і вони не можуть бути сполучені петлею). Допускається підключення в “гарячому” режимі, тому пристрої можуть підключатися і відключатися у будь-який момент. При підключенні пристроїв адреси призначаються автоматично, тому привласнювати їх уручну не доведеться.
IEEE 1394 підтримує два режими передачі даних (кожен з яких використовує пакети змінної довжини).
- Асинхронна передача використовується для пересилки даних за конкретною адресою з підтвердженням прийому і виявленням помилок. Трафік, який не вимагає дуже високих швидкостей передачі даних і не чутливий до часу доставки, цілком підходить для даного режиму (наприклад, для передачі деякій інформації, що управляє).
- Ізохронна передача припускає пересилку даних через рівні проміжки часу, причому підтвердження прийому не використовуються. Цей режим призначений для пересилки оцифрованої видео- і аудіоінформації.
Пакети даних пересилаються порціям, які мають розмір, кратний 32 бітам, і називаються квадлетами (guadlets). При цьому пакети починаються, щонайменше, з двох квадлетов змінне число квадлетов корисної інформації. Для заголовка і корисних даних контрольні суми (CRC) указуються окремо. Довжина заголовків асинхронних пакетів складає, як мінімум, 4 квадлета. У ізохронних пакетів може бути заголовок довжиною 2 квадлета, оскільки єдиним необхідним при цьому адресою є номер каналу. заголовка, після чого слідує
IEEE 1394 виділяє наступні функції пристроїв:
- Господар циклу (cycle master) – виконується кореневим вузлом, має найвищий пріоритет доступу до шини, забезпечує загальну синхронізацію решти пристроїв на шині, а також ізохронних сеансів передачі даних.
- Диспетчер шини (bus manager) управляє живленням шини і виконує деякі функції оптимізації.
- Диспетчер ізохронних ресурсів (isochronous resource manager) розподіляє тимчасові інтервали серед вузлів, що збираються стати передавачами (talkers).
Всі функції диспетчеризації можуть виконуватися одним і тим же або різними пристроями. Господар циклу посилає синхронізуюче повідомлення про початок циклу через кожних 125 мкс (як правило). Теоретично 80% циклу (100 мкс) резервується для ізохронного трафіку, а решта частини стає доступною для асинхронного трафіку. Спочатку вузли з ізохронними даними для пересилки, а також ті вузли, яким був призначений номер каналу, намагаються дістати доступ до шини на час передачі (відразу ж після кожного повідомлення про початок циклу), і вузол, який щонайближче знаходиться до кореневого вузла, першим отримає дозвіл на передачу даних. Кожен подальший вузол з призначеним номером каналу і ізохронним трафіком для пересилки послідовно отримує дозвіл на передачу даних. Потім намагаються дістати доступ до шини і вузли з асинхронним трафіком.
Для підключення до даного інтерфейсу застосовується 6-контактний з’єднувач. Використовуваний при цьому кабель має круглу форму і містить:
- екрановану виту пару А, в якій використовується симетрична, різницева напруга (для забезпечення необхідної перешкодостійкості), а дані передаються в обох напрямах за допомогою схеми кодування NRZ2). Фактично напруга складає 172-265 мВ;
- екрановану виту пару В (ТРВ), що пересилає стробуючий сигнал, який змінює стан всякий раз, коли два послідовні розряди даних (на іншій парі) однакові (т.з. кодування даних із стробуванням – data-strobe encoding), і гарантує зміну полягання в парі для передачі даних або стробуючих сигналів по фронту кожного розряду;
- дроти, що забезпечують живлення невеликих пристроїв. При цьому по дроту VP подається напруга 8-40 В, що забезпечує навантаження до 1,5 А, а дріт VG заземлений. Втім, існують варіанти з’єднання, в якому дроти живлення відсутні;
- а також загальний екран, який ізольований від екранів пар і прикріплений до корпусів з’єднувачів.
У IEEE 1394b допускається застосовувати також прості UTP-кабели 5-ої категорії, але тільки на швидкостях до 100 Мбіт/с. Для досягнення максимальних швидкостей на максимальних відстанях передбачено використання оптоволокна (пластмасового – для довжини до 50 метрів, і скляного – для довжини до 100 метрів).