Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Послідовні шини USB і FireWire.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
293 Кб
Скачать
☆

4.2.1. Фізичний рівень мережі

Кабельна мережа 1394 збирається по простих правилах — всі пристрої з'єднуються один з одним кабелями по будь-якій топології (деревовидною, цепочечной, зіркоподібною). Кожен «повнорозмірний» пристрій (вузол мережі) зазвичай має три рівноправні сполучні роз'єми. Деякі малогабаритні пристрої можуть мати тільки один роз'єм, що обмежує можливі варіанти їх місцеположення. Стандарт допускає і до 27 роз'ємів на одному пристрої, який гратиме роль кабельного концентратора. Допускається безліч варіантів підключення пристроїв, але з наступними обмеженнями:

• між будь-якою парою вузлів може бути не більше 16 кабельних сегментів;

• довжина сегменту стандартного кабелю не повинна перевищувати 4,5 м;

• сумарна довжина кабелю не повинна перевищувати 72 м (застосування якіснішого кабелю дозволяє ослабити вплив цього обмеження);

• топологія не повинна мати петель, хоча в подальших ревізіях передбачається автоматичне виключення петель в «патологічних» конфігураціях.

Стандартний кабель 1394 містить 6-проводов, увязнених в загальний екран, і має однотипні 6-контактні роз'єми на кінцях (мал. 4.6, а). Дві виті пари використовуються для передачі сигналів (ТРА і ТРВ) роздільно для приймача і передавача, два дроти задіяно для живлення пристроїв (8-40 В, до 1,5 А). У стандарті передбачена гальванічна розв'язка пристроїв, для чого використовуються трансформатори (напруга ізоляції розв'язки до 500 В) або конденсатори (у дешевих пристроях з напругою розв'язки до 60 В щодо загального дроту). Деякі побутові пристрої мають тільки один 4-контактний роз'єм меншого розміру (мал. 4.6,б), у якого реалізовані тільки сигнальні ланцюги. Ці пристрої підключаються до шини через спеціальний перехідною кабель тільки як крайові (хоча можливе застосування спеціальних адаптерів-розгалуджувачів). У кабелях FireWire сигнальні пари з'єднуються перехресний (табл. 4.2), оскільки всі порти равноправны.

_

Мал. 4.6. Роз'єми FireWire: а — 6-контактне гніздо, би — 4-контактне гніздо

Таблиця 4.2. Сполучні кабелі FireWire

Роз'їм А

Роз'їм Би

4-конт.

6-конт.

Ланцюг

Дріт

Ланцюг

6-конт.

4-конт.

-

1

Power

Білий

Power

1

-

2

GND

Чорний

GND

2

1

3

TPB-

Червоний

ТРА-

5

3

2

4

TPB+

Зелений

Тра+

6

4

3

5

ТРА-

Оранжевий

ТРВ-

3

1

4

6

Тра+

Синій

Трв+

4

2

Екран

Екран

Екран

Екран

Екран

Екран

Екран

У прийдешній версії, яка поки називається Р1394b, передбачаються і нові варіанти середовища передачі:

• кабель UTP категорії 5 із стандартними коннекторами RJ-45 (використовуються дві пари проводів), довжина сегменту до 100 м — дешевий варіант для S100;

• пластикове оптоволокно (два волокна POF для невеликих відстаней і HPCF для великих дистанцій) — дешевий варіант для S200;

• багатомодове оптоволокно (два волокна 50 мкм) — дорожчий варіант для майбутніх швидкостей аж до S3200.

Кожен пристрій, що має більш за один роз'єм 1394, є повторителем. Сигнал, виявлений на вході приймача з будь-якого роз'єму, ресинхронизируется по внутрішньому тактовому генератору і виводиться на передавачі решти всіх роз'ємів. Таким чином здійснюється доставка сигналів від кожного пристрою до всіх останніх і запобігає накопичення «тремтіння» (jitter) сигналу, що веде до втрати синхронізації.

Стандарт 1394 визначає дві категорії шин: кабельні шини і кросс-шины (Backplane). Під кросс-шинами маються на увазі зазвичай паралельні інтерфейси, об'єднуючі внутрішні підсистеми пристрою, підключеного до кабелю 1394. Мережа може складатися з безлічі шин, сполучених мостами — спеціальними пристроями, що здійснюють передачу пакетів між шинами, фільтрацію графіка, а для з'єднання різнорідних шин ще і необхідні перетворення інтерфейсів. Інтерфейсна карта шини FireWire для РС є мостом PCI — 1394. Мостами є також з'єднання кабельної шини 1394 з кросс-шинами периферійних пристроїв. Мости можуть сполучати і кабельні шини, що розширює топологічні можливості з'єднання пристроїв.4.2.2. Протокол IEEE 1394

Протокол 1394 реалізується на трьох рівнях (мал. 4.7).

• Рівень транзакцій (Transaction Layer) перетворить пакети в дані, що надаються додаткам, і навпаки. Він реалізує протокол запитів-відповідей, відповідний стандарту ISO/IEC 13213:1994 (ANSI/IEEE 1212, редакції 1994 р.) архітектура регістрів управління і стану CSR (Control and Status Register) для мікрокомп'ютерних шин (читання, запис, блокування). Це полегшує зв'язок шини 1394 із стандартними паралельними шинами.

• Рівень зв'язку (Link Layer) з даних фізичного рівня формує пакети і виконує зворотні перетворення. Він забезпечує обмін вузлів датаграмами з підтвердженнями. Рівень відповідає за передачу пакетів і управління ізохронними передачами.

- - - - - - - - - - - - - - - - -

- - - - - - - - -

- - - - - - - - -

- - - - - - - - -

• Фізичний рівень (Physical Layer) виробляє і приймає сигнали шини. Він забезпечує ініціалізацію і арбітраж, припускаючи, що у будь-який момент часу працює тільки один передавач. Рівень передає потоки даних і рівні сигналів послідовної шини вищестоящому рівню. Між цими рівнями можлива гальванічна розв'язка, при якої мікросхеми фізичного рівня харчуються від шини. Гальванічна розв'язка необхідна для запобігання паразитним контурам загального дроту, які можуть з'явитися через дроти захисного заземлення блоків живлення.

Апаратна частина FireWire зазвичай складається з двох спеціалізованих мікросхем — трансиверів фізичного рівня PHY Transceiver і моста зв'язку з шиною LINK Chip. Зв'язок між ними можливий, наприклад, по інтерфейсу IBM-Apple LINK-PHY. Мікросхеми рівня зв'язку виконують всі функції свого рівня і частина функцій рівня транзакцій; решта частини рівня транзакцій виконується програмно.

Для передачі асинхронних повідомлень використовується 64-бітова адресація регістрів пристроїв 1394. У адресі виділяється 16 битий для адресації вузлів мережі: 6-бітове поле ідентифікатора вузла допускає до 63 пристроїв в кожній шині; 10-бітове поле ідентифікатора шини допускає використання в системі до 1023 шин різного типу (включаючи внутрішні), сполучених мостами. Протокол шини дозволяє звертатися до пам'яті (регістрам) пристроїв в режимі DMA. У адресному просторі кожного пристрою є конфігураційні регістри, в яких міститься вся інформація, необхідна для взаємодії з ним інших пристроїв. Дані передаються пакетами, на початку кожного пакету передаються біти стану арбітражу. Пристрій може передавати дані тільки після успішного проходження арбітражу. Є два основні типи передач даних — ізохронний, ради якого і будувалася шина, і асинхронний. Ізохронні передачі забезпечують гарантовану смугу пропускання і час затримки, асинхронні передачі забезпечують гарантовану доставку.

Асинхронні повідомлення передаються між двома пристроями. Ініціатор посилає запит необхідному пристрою, на який воно відразу (через короткий інтервал зазору, в якому шина знаходиться у спокої) відповідає підтвердженням прийому, позитивним (АСК) або негативним (NACK), якщо виявлена помилка даних. Змістовна відповідь на запит (якщо потрібний) буде передана назад аналогічним чином (одержувач повинен послати підтвердження). Якщо підтвердження АСЬК не отримано, передачі повторюватимуться кілька разів до досягнення успіху або фіксації помилки.

Ізохронні передачі ведуться широкомовно. У мережі може бути організоване до 64 ізохронних каналів, і кожен пакет ізохронної передачі, окрім власне даних, несе номер каналу. Цілісність даних контролюється CRC-кодом. Ізохронні передачі всіх каналів «чують» всі пристрої шини, але зі всіх пакетів приймають тільки дані каналів, що цікавлять їх. Пристрій-джерело ізохронних даних (камера, приймач, програвач) на етапі конфігурації отримує номер і параметри виділеного йому каналу.

Шина підтримує динамічне реконфігурування — можливість «гарячого» підключення і відключення пристроїв. Коли пристрій включається в мережу, воно широкомовно передає короткий асинхронний пакет самоідентифікації. Всі вже підключені пристрої, прийнявши такий пакет, фіксують появу новачка і виконують процедуру скидання шини. По скиданню проводиться визначення структури шини, кожному вузлу призначається фізична адреса і проводиться арбітраж майстра циклів, диспетчера ізохронних ресурсів і контроллера шини (див. нижчий). Через секунду після скидання всі ресурси стають доступними для подальшого використання, і кожен пристрій має повне уявлення про всі підключені пристрої і їх можливості. Відключення пристрою від шини також виявляється всіма пристроями. Завдяки наявності ліній живлення інтерфейсна частина пристрою може залишатися підключеною до шини навіть при відключенні живлення функціональної частини пристрою.

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

Диспетчер ізохронних ресурсів — пристрій, що відає розподілом номерів каналів і смуги шини для ізохронних передач. Диспетчер потрібний, коли на шині з'являється хоч один пристрій, здібний до ізохронної передачі. Диспетчер вибирається за допомогою арбітражу з числа пристроїв, що підтримують ізохронний обмін. Після скидання пристрої, що потребують ізохронної передачі, запрошують необхідну смугу. Смуга вимірюється в спеціальних одиницях розподіли, число яких в 125-микросекундном циклі складає 6144. Одиниця займає близько 20 нс, що відповідає часу передачі одного квадлета (quadlet, 32-бітове слово) на частоті 1600 Мбіт/с. Такий спосіб вимірювання смуги враховує можливість спільної роботи пристроїв з різними швидкостями — в одному циклі сусідні пакети можуть передаватися на різних швидкостях. Як мінімум 25 мкс циклу резервується під асинхронний трафік, тому сумарна розподілювана смуга ізохронного трафіку складає 4915 одиниць. Для цифрового відео, наприклад, потрібна смуга 30 Мбіт/с (25 Мбіт/с на відеодані і 3-4 Мбіт/с на аудіодані, синхронізацію і заголовки пакетів). У S100 пристрою цифрового відео запрошують близько 1800 одиниць, в S200 — близько 900. Якщо необхідна смуга недоступна, диспетчер відмовить пристрою і не виділить йому номер каналу. Пристрій, що не отримав канал, періодично повторюватиме запит. Коли ізохронний обмін стає непотрібним вузлу, він повинен звільнити свою смугу і номер каналу, щоб цими ресурсами змогли скористатися інші пристрої. Обмін інформацією пристроїв, що управляє, з диспетчером проводиться асинхронними повідомленнями.

Контроллер шини (Bus Master) — необов'язковий елемент мережі 1394, який здійснює управління пристроями. Їм може бути комп'ютер, що редагує пристрій цифрового запису або спеціальний інтелектуальний пульт управління. Контроллер шини, що реалізовує карти топології і швидкостей (Topology_Map і Speed_Map), допускає використання декількох частот в одній шині, відповідно до можливостей конкретної пари пристроїв, що беруть участь в обміні. Інакше при підключенні пристроїв, розрахованих на різні швидкості, всі передачі відбуватимуться на швидкості, доступній для всіх активних пристроїв.