link420 link421 link422 link423 link424 link425 link426 link427 link428 link429 link430 link431 link432 link433 link434 link435 link436 link437 link438 link439 link440 link441 link442 link443 link444 link445 link446 link447 link448 link449 link450 link451 link452 link453 link454 link455 link456 link457 link458 link459 link460 link461 link462 link463 link464 link465 link466 link467 link468 link469 link470 link471 link472 link473 link474 link475 link476 link477 link478 link479 link480 link481 link482 link483 link484 link485 link486 link487 link488 link489 link490 link491 link492 link493 link494 link495 link496 link497 link498 link499 link500 link501 link502 link503 link504 link505 link506 link507 link508 link509 link510 link511 link512 link513 link514 link515 link516 link517 link518 link519 link520 link521 link522 link523 link524 link525 link526 link527 link528 link529 link530 link531 link532 link533 link534 link535 link536 link537 link538 link539 link540 link541 link542 link543 link544 link545 link546 link547 link548 link549 link550 link551 link552 link553 link554 link555 link556 link557 link558 link559

PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Шина IEEE 1394 — FireWire

Физический уровень шины IEEE 1394

Общая информация о физическом уровне

Физический уровень PHY (Physical Layer) IEEE 1394 обеспечивает связь узлов в единую шину. Физический уровень стандарта определяет механические характеристики соединительных разъемов, а также требования к их характеристикам передачи сигналов. В стандарте определено несколько типов разъемов, соответствующих применяемым кабелям. В 1394b в физическом уровне введено дополнительное разделение: введен подуровень PMD (Physical Medium Dependent), зависящий от используемой среды передачи (разновидностей медных и оптических кабелей).

В современной редакции стандарта IEEE 1394 фигурирует два типа сигнализации — традиционная DS-сигнализация шин 1394 и 1394a и бета-сигнализация, введенная в IEEE 1394b. Эти типы используют разные схемы сигнального кодирования — DS-кодирование и кодирование 8B10B; бета-сигнализация допускает и разнообразие типов среды передачи (электрические и оптические кабели). Все эти различия в основном сосредоточены на физическом уровне.

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

Физический уровень узла обеспечивает функционирование шины (включая трансляцию сигналов и отработку автоконфигурирования) без участия и даже при отключенном LINK-уровне (и вышестоящих). Узел может и не иметь LINK-уровня — его многопортовый PHY будет выполнять функции кабельного сетевого концентратора-повторителя.

Физический уровень отвечает за кабельное питание — его подачу или потребление. На физическом уровне может быть организована гальваническая развязка узлов. Для DS-сигнализации эта развязка реализуется в интерфейсе PHY-LINK, для бета-сигнализации развязка возможна в сигнальных цепях кабеля.

Первый вариант физического интерфейса шины был определен в IEEE 1394–1995 и в дополнениях 1394a–2000 не претерпел существенных изменений. В этом варианте каждое кабельное соединение состоит из двух пар сигнальных электрических проводов и, дополнительно, пары проводов для подачи питания. Обе сигнальные пары используются для двунаправленной передачи сигналов, дифференциальных и линейных. При передаче данных по одной паре узел передает данные в последовательном коде, по другой — стробы. Этот режим получил название DS-Mode (DataStrobe), он обеспечивает простой механизм синхронизации приемника и передатчика при любой скорости обмена. Для служебной сигнализации (например, об обнаружении подключения/отключения узла) используется сигнализация постоянным током. Кроме того, требуется различать несколько уровней напряжения для сигнализации скорости. Из-за этого гальваническая развязка узлов на уровне кабельного интерфейса оказывается невозможной.

В IEEE 1394b введен режим сигнализации Beta-Mode, в котором используются две встречные однонаправленные сигнальные линии. Примененный метод сигнального кодирования 8B/10B избавляет от постоянной составляющей сигнала; избыточность кодирования позволяет использовать «лишние» символы для специальной сигнализации. Приемнику не требуется распознавать несколько уровней сигнала. Это позволяет использовать как электрическую, так и оптическую передачу, а для электрической передачи возможна полная гальваническая развязка приемников и передатчиков через импульсные трансформаторы. Порты 1394b могут быть универсальными «двуязычными» (bilingual), поддерживающими оба режима, или чисто бета-портами.

Кабели и коннекторы для DS-режима

Разъемы, используемые в кабельной шине IEEE 1394, специально разработаны для обеспечения «горячего» подключения/отключения. Контакты, используемые для цепей земли и питания (VG и VP), длиннее других — они при подключении соединяются раньше, а при отключении разъединяются позже сигнальных. На портах устанавливаются гнезда, на кабелях — вилки.

Стандарт IEEE 1394 определяет малогабаритный 6-контактный разъем для подключения устройств. Его экранирующий кожух используется как дополнительный контакт и связывается с оплетками витых пар и контактом цепи VG.

В IEEE 1394a дополнительно определен миниатюрный 4-контактный разъем: вилка (на кабель) с плоскими контактами и розетка с пружинными контактами. В качестве дополнительного контакта (цепь VG) используется экранирующий кожух. Подача питания через такой разъем не предусмотрена. Существуют кабели-адаптеры с 4-контактной и 6-контактной вилками на разных концах.

В IEEE 1394b определен миниатюрный 9-контактный разъем: вилка с пружинными контактами и розетка с плоскими контактами. Разъемы имеют две модификации:

  • для бета-портов с широким ключом на кожухе;
  • для «двуязычных» портов с узким ключом.

На вилках имеются соответствующие ключи; к бета-порту можно подключить кабель только с бета-вилкой, к «двуязычному» — с любой вилкой 1394b. Кабель с «двуязычной» вилкой может на противоположном конце иметь вилку любого типа (4-, 6- или 9-контактную). Контакт 7 (SC, Status Contact) пока не используется (остается неподключенным).

Стандартный 6-проводный кабель 1394 содержит две экранированные витые пары для передачи сигналов (TPA и TPB) и, дополнительно, два провода для питания устройств. Все эти провода помещаются в общий экран. Сигнальные пары проводников соединяются перекрестно. При необходимости могут использоваться адаптеры-переходники с разъемами разных типов.

Таблица. Соединительные кабели FireWire

Разъем А Разъем B
4-конт. 6-конт. 9-конт. Цепь Цепь 9-конт. 6-конт. 4-конт.
- 1 8 VP VP 8 1 -
Экран 2 6 VG VG 6 2 Экран
1 3 1 TPB– TPA– 3 5 3
2 4 2 TPB+ TPA+ 4 6 4
3 5 3 TPA– TPB– 1 3 1
4 6 4 TPA+ TPB+ 2 4 2
- - 5 TPA(R) TPB(R) 9 - -
- - 9 TPB(R) TPA(R) 5 - -
- - 7 SC (не соединен) SC (не соединен) 7 - -
Экран Экран Экран Экран Экран Экран Экран Экран

В IEEE 1394b для борьбы с помехами по земляным проводам предпринят ряд мер, возможных с применением 9-контактного разъема. Обратные (общие) провода — экранные оплетки пар TPA(R) и TPB(R) — выведены на отдельные контакты (5 и 9). Цепь TPB(R) соединяется со схемной землей и проводом VG непосредственно, а TPA(R) соединяется со схемной землей через параллельно соединенный резистор (1 МОм) и конденсатор (0,1 мкФ). Общий экран соединяется со схемной землей через такую же RC-цепочку. Схему соединения «земель» узлов иллюстрирует рисунок ниже.

 

Кабели и коннекторы бета-режима 1394b

В IEEEE 1394b для бета-режима введены новые варианты среды передачи (см. таблицу): и соответствующие типы разъемов (см. рисунок).

Таблица. Варианты среды передачи для бета-режима IEEE 1394b

Среда Дальность S100 S200 S400 S800 S1600
UTP-5 100 м - - - - -
POF 50 м + - - - -
HPCF 100 м + - - - -
MMF 100 м - + + + +
STP 4,5 м - + + + +
  • UTP-5 (Unshielded Twisted Pair Cat 5) — неэкранированная витая пара категории 5 со стандартными коннекторами RJ-45, длина сегмента до 100 м. Параметры линии должны соответствовать стандарту на структурированные кабельные системы TIA-568 (или ISO 11801). Используются две пары проводов: контакты 1, 2 для TPB+ и TPB–; 7, 8 для TPA+ и TPA–. Порт должен поддерживать возможность перекрестного соединения: по умолчанию (No_Crossover) он передает сигнал по TPB и принимает по TPA. По управляющему запросу Crossover порт меняет назначение пар TPA и TPB. Питание через кабель UTP-5 не предусматривается. Кабель UTP подключается через разделительные трансформаторы, обеспечивающие гальваническую развязку, выдерживающую один из следующих тестов (на выбор):
       ---1500 В переменного тока 50–60 Гц в течение 1 мин;
       ---2250 В постоянного тока в течение 1 мин;
       ---последовательность из десяти импульсов чередующейся полярности амплитудой 2400 В с временами фронта и спада 1,2/50 мс;
  • POF и HPCF — оптоволоконные варианты с разъемами PN (дуплексные, диаметр стержня 2,5 мм, шаг 10,16 мм). Передатчики — светодиоды с длиной волны 650 нм.:
       ---POF (Plastic Optical Fiber) — пара пластиковых волокон диаметром 1000 мкм со ступенчатым индексом преломления. Это самый дешевый вариант оптической связи на малых расстояниях;
       ---HPCF (Hard Polymer Clad Fiber) — пара твердых полимерных волокон диаметром 225 мкм с градиентным индексом преломления;
  • MMF (Multi Mode Fiber) — пара многомодовых стеклянных волокон 50/125 мкм, Параметры линии должны соответствовать стандарту на структурированные кабельные системы TIA-568 (или ISO 11801). Разъемы — малогабаритные дуплексные LC. Передатчики — коротковолновые лазерные диоды с длиной волны 830–860 нм, выходная мощность не менее –10 дБм. Чувствительность приемников не хуже –16,5 дБм.;
  • STP (Shielded Twisted Pair) — экранированные витые пары с более высокими характеристиками передачи, чем в прежних версиях IEEE 1394. Кабели для бетарежимов вплоть до S1600, обеспечивающие длину сегмента до 4,5 м, должны иметь витые пары калибра 25AWG; они имеют на оболочке маркировку «1394b 2PR/25AWG 2C/22AWG». Более тонкие пары (30AWG) обеспечивают длину до 2 м, они маркируются «1394b 2PR/30AWG 2C/26AWG». Для питания у них используются провода калибров 22AWG и 26AWG (больший номер калибра соответствует более тонким проводам).

Микросхемы PHY 1394b поддерживают любую среду передачи; соответствующие преобразования сигналов осуществляются в элементах PMD: RC-цепях для STP, трансформаторах для UTP и оптических трансиверах для POF, HPCF и MMF.

Порт с электрическим интерфейсом в бета-режиме (для STP или UTP) несложно преобразовать в оптический. Для этого требуется оптический трансивер, поддерживающий требуемую скорость передачи, и несложные схемы преобразования уровней сигналов. При использовании трансиверов с низковольтным псевдоЭСЛ интерфейсом (LV PECL) эти схемы содержат всего 8 резисторов, задающих смещение уровней сигналов трансиверов, и 4 разделительных конденсатора.

Распознавание подключения-отключения устройств и состояние порта. Сигнализация арбитража

Распознавание подключения-отключения устройств и состояние порта

Каждый порт через резисторы-терминаторы (55 Ом) подает от источника смещения TpBias напряжение 1,6–2 В на линии пары A и измеряет среднее значение на линиях пары B (приемник состояния Port_Status). Если измеренное напряжение превышает 1 В, это означает, что на противоположном конце кабеля имеется подключенное устройство. Уровень напряжения ниже 0,6 В является признаком отключения устройства. Поскольку кабель соединяет линии A и B пары устройств перекрестно, оба устройства видят присутствие или отсутствие друг друга. Подключение партнера определяется сигналом Port_Status, вырабатываемым детектором состояния (линейным приемником пары B).

В 1394a введена возможность приостановки узла, которая подтверждается снятием напряжения смещения. Для узла 1394 это будет означать отключение устройства. В 1394a введена дополнительная схема обнаружения подключения/отключения: в приемопередатчик пары A введен источник маленького тока Icd (не более 76 мкА) и детектор отключения. Когда противоположный узел подключен, этот ток проходит в землю через нагрузку около 5 кОм (терминаторы на противоположном узле и заземляющий резистор), так что на входе детектора отключения напряжение не превышает 0,4 В. При отсоединении противоположного узла нагрузка снимается и напряжение на входе детектора поднимается выше 0,4 В. Эта схема обнаружения отключения включается только после согласования перехода в режим Suspend, когда снимается подача напряжения смещения. В состоянии покоя шины (Bus Idle State), когда активные порты двух узлов соединены друг с другом, на обоих парах A и B присутствует напряжение смещения (TpBias).

В 1394a введены дополнительные состояния порта:

  • Disabled — работа порта запрещена, он не передает никаких сигналов (но смещение подает) и не воспринимает сигналы;
  • Suspended — порт приостановлен, при этом он не подает напряжение смещения и включает детектор отключения.

Сигнализация арбитража

Каждый порт может по своим линиям передавать сигналы Arb_A(Tx) и Arb_B(Tx) и принимать сигналы Arb_A(Rx) и Arb_B(Rx), принимающие значения 0, 1 или Z. Сигнал, передаваемый узлом-1 по линии A, приходит на соседний узел-2 по линии B; при этом он может «сталкиваться» с сигналом, передаваемым узлом-2 по линии B. Для сигнала, передаваемого по линии B, действует симметричное правило. Таким образом, принимаемый сигнал является функцией от передаваемых сигналов двух передатчиков: Arb_A1(Rx) зависит от Arb_A1(Tx) и Arb_B2(Tx), Arb_B1(Rx) зависит от Arb_A2(Tx) и Arb_B1(Tx). Если один из передатчиков находится в состоянии Z, то приемник видит сигнал от другого передатчика без изменений. Если оба передатчика передают один и тот же сигнал, то приемник его так и воспринимает.

При декодировании сигналов арбитража действуют следующее правило доминирования единицы:

  • если порт передает сигнал 0, а принимает Z (это значит, что соседний узел передает 1), то это состояние декодируется как «1»;
  • если порт передает сигнал 1, а принимает Z (это значит, что соседний узел передает 0), то это состояние тоже декодируется как «1».

Сигналы арбитража используются для сброса шины, конфигурирования и собственно арбитража. Состояние передаваемых (Arb_A(Tx), Arb_B(Tx)) и принимаемых (Arb_A(Rx), Arb_B(Rx)) сигналов в различных фазах работы шины приведено в табице. В качестве принимаемых значений здесь указаны декодированные состояния (с учетом посылаемых сигналов и правила доминирования единицы).

Таблица. Сигналы арбитража в различных фазах шиныф

Передаваемое состояние Arb_A(Tx), Arb_B(Tx) Принимаемое состояние Arb_A(Rx), Arb_B(Rx)
Сброс шины
Bus Reset [1 1] Bus Reset [1 1]
Идентификация дерева
Tx_Parent_Notify, поиск родителей [0 Z] Rx_Parent_Notify [Z 0]
Tx_Child_Notify, подтверждение родительских прав [1 Z] Rx_Parent_Handshake [0 1]
Снятие Tx_Parent_Notify [Z Z] Rx_Child_Handshake [1 Z]
Оба узла посылают Tx_Parent_Notify [0 Z] Rx_Root_Contention — состязание за роль корня [0 0]
Самоидентификация
Tx_Self_ID_Grant, предоставление права самоидентификации [Z 0] Rx_Self_ID_Grant [0 0]
Tx_Ident_Done, завершение самоидентификации [1 Z] Rx_Ident_Done [Z 1]
Нормальный арбитраж
Tx_Request, узел посылает запрос передачи через p-порт [Z 0] Rx_Request [0 Z]
Tx_Grant, узел разрешает передачу через c-порт [Z 0] Rx_Grant [0 0]
Узел снимает запрос [Z Z] Rx_Request_Cancel —узел видит снятие запроса [Z 0]
Префикс данных Tx_Data_Prefix [0 1] Rx_Data_Prefix [1 0]
Конец пакета данных Tx_Data_End [1 0] Rx_Data_End [0 1]
Tx_Disable_Notify, сигнал на запрещение порта [Z 1] Rx_Disable_Notify [1 Z]
Tx_Suspend, сигнал приостановки порта [0 0] Rx_Suspend [0 0]

 Сброс шины (Bus Reset) может быть сигнализирован в любой момент любым устройством. Сигнал сброса имеет приоритет над всеми сигналами (благодаря правилу доминирования единиц). Сигнал сброса, сгенерированный или обнаруженный узлом, распространяется на все его порты (кроме запрещенных). Длительность генерируемого сигнала сброса составляет 167 мкс, в 1394a введен и короткий сброс длительностью 1,4 мкс. По сигналу сброса узел инициализируется и переводит все свои порты в состояние покоя (Bus Idle). После этого начинается фаза идентификации дерева.

Во время фазы идентификации дерева (Tree Identification) с помощью сигналов арбитража «дети» ищут своих «родителей» и выстраивается дерево шины. Во время фазы самоидентификации (Self Identification) с помощью сигналов арбитража узлам поочередно предоставляется право передать пакет(ы) самоидентификации и сообщить о завершении передачи этих пакетов. Подробнее о процессах идентификации см. в главе 20. Во время нормальной работы сигналы арбитража используются для запроса и предоставления права на передачу пакетов.

Механизм арбитража

В фазе нормальной работы шины (после самоидентификации) механизм арбитража работает следующим образом:

  • узел, который собирается отправить пакет, дожидается покоя шины (Bus Idle, [Z Z]), длящегося в течение определенного интервала (соответствующего приоритетности данного пакета), и посылает через свой p-порт сигнал запроса передачи TX_REQUEST;
  • промежуточные узлы-ветки доводят этот запрос до корня, если этому не помешает запрос от другого узла, появившийся раньше;
  • корневой узел принимает запрос и отвечает на него сигналом TX_GRANT;
  • сигнал TX_GRANT доводится до источника запроса;
  • источник запроса посылает во все свои порты сигнал префикса данных, после которого начинается передача пакета;
  • все промежуточные узлы, получившие префикс данных, начинают транслировать его (а затем и собственно данные) во все свои порты.

Сигналы арбитража распространяются промежуточными узлами шины. Запрос передается «вверх» сигналом TX_REQUEST (через p-порт); он достигает c-порта соседнего узла сигналом RX_REQUEST («переворачиваясь» в кабеле). Сигнал запроса, обнаруженный на c-порте, узел обязан транслировать к корню, если к этому моменту он уже не транслирует запрос от другого порта или же не запрашивает передачу сам. Таким образом, запрос арбитража от какого-либо узла достигает корня.

Корневой узел посылает сигнал предоставления (TX_GRANT) на тот свой порт, запрос с которого обнаружен первым (или порту с меньшим номером, если запросы обнаружены одновременно). На остальные порты посылается сигнал префикса данных (DATA_PREFIX), который указывает на занятость шины.

Промежуточный узел-ветка, получивший «сверху» предоставление (сигнал RX_GRANT), транслирует его «вниз» (сигналом TX_GRANT) на тот порт, чей запрос был им принят; на остальные порты посылается сигнал префикса данных (DATA_PREFIX). Если узел сам является источником запроса, он на все свои c-порты передает сигнал префикса данных. Таким образом, сигнал предоставления достигает узла-источника запроса, награждая его правом передачи пакета. Узел, который во время передачи сигнала TX_REQUEST получает сверху префикс данных, должен прекратить подачу запроса и транслировать вниз префикс данных. Если этот узел сам является источником запроса, он «понимает», что в данном случае арбитраж им проигран и попытку получения доступа придется повторить позже.

Узел-победитель снимает сигнал запроса и устанавливает префикс данных. Получив префикс данных, промежуточный узел прекращает подачу сигнала TX_GRANT (вниз) и транслирует префикс данных на все остальные порты. Корень, являясь промежуточным узлом, также прекратит подачу сигнала TX_GRANT и продолжит трансляцию префикса данных на другие порты. Таким образом, все узлы увидят сигнал префикса данных (занятость шины), исходящий от победителя. Теперь победитель может начинать передачу пакета.