Интерфейс бета-режима построен с учетом возможности использования различных сред передачи сигналов по двум встречным однонаправленным линиям. Здесь исключена сложная дифференциально-линейная сигнализация с распознаванием различных уровней смещения и анализом состояния сигналов арбитража, являющихся результатом одновременной работы передатчиков соединенных устройств на одну и ту же сигнальную пару. Вся информация в бета-режиме передается с помощью 10-битных символов, передаваемых последовательно простым кодированием по методу NRZ. Чтобы избежать электромагнитных помех от шины, сосредоточенных в узких полосах спектра при передаче монотонных данных или служебных сигналов, передаваемые потоки скремблируются. Скремблированные данные проходят через кодер 8B/10B, который из байтов данных делает 10-битные символы. Это избыточное кодирование позволяет сформировать битовый поток, в котором ограничена длина повторяющихся битов (не более пяти нулей или единиц подряд) и среднее число нулей совпадает со средним числом единиц. Такой поток удобно передавать по различным средам передачи (отсутствует постоянная составляющая) и декодировать, синхронизируясь по перепадам сигнала, встречающимся не реже чем через 5 битовых интервалов. При приеме битовая последовательность подвергается обратным преобразованиям. Аналогичное кодирование-декодирование применяется в Ethernet, FDDI и других коммуникационных технологиях.
В структуре PHY узла 1394b появился сменный нижний уровень PMD (Physical Media Dependent), соответствующий физической среде передачи. Для коротких медных линий (STP) это дифференциальные приемопередатчики, для длинных (UTP) они содержат и разделительные трансформаторы. Для оптоволокна это оптические трансиверы с лазерным или светодиодным излучателем. «Двуязычный» порт должен иметь и традиционный набор дифференциальных и линейных приемопередатчиков, работающих только на традиционный кабель.
В бета-режиме в линию передаются символы, несущие полезную и служебную информацию:
Байты данных и запросов скремблируются и кодируются в 10-битные символы единообразно, их можно различать только по контексту. Управляющие маркеры кодируются так, что они в 10-битных символах явно отличимы от данных и запросов. Избыточное кодирование является помехозащищенным — недопустимые комбинации считаются ошибочными. Для обеспечения побайтной синхронизации используются специальные символы, не совпадающие с символами, представляющими байты передаваемой информации.
Традиционные порты с DS-сигнализацией могут передавать и принимать пакеты на любой из доступных им скоростей, поскольку битовая синхронизация автоматически обеспечивается функцией XOR от состояния данных и строба. В бетарежиме передача и прием возможны только на одной скорости, согласованной портами-партнерами. На эту скорость настраивается система фазовой автоподстройки частоты (PLL) приемника. При этом эффективная скорость передачи информации может совпадать с согласованной скоростью порта или же составлять от нее 1/2, 1/4, 1/8, …, 1/32 части. Последний случай относятся к порту, работающему на S3200 и передающему пакет на скорости S100.
Пакеты могут передаваться как в традиционном (Legacy) формате, так и в бетаформате. Пакеты бета-формата передаются только между бета-узлами, в традиционные фрагменты гибридной шины они не транслируются. Передачи на скоростях S800 и выше возможны только в бета-формате. Общая структура формата передачи приведена на рисунке ниже. Для сохранения возможности обмена с узлами, поддерживающими различные скорости и форматы, применяются специальные меры:
Префикс пакета начинается с кода скорости, за которым следует один или несколько символов-маркеров начала данных DATA_PREFIX. Код скорости определяет относительную скорость передачи (отношение эффективной и согласованной скорости) и формат. Отсутствие кода скорости означает передачу традиционного пакета на скорости S100. Кодирование скорости и формата приведено в таблице ниже. Здесь буквой В обозначен символ SPEEDb, буквой C обозначен символ SPEEDc, Cm означает m повторов символа SPEEDc. Букве X соответствует SPEEDа для традиционного пакета и SPEEDb для бета-пакета, по этим символам и определяется формат пакета. В таблице приведено и время Ts, отводимое для сигнализации скорости.
Содержимое пакета — символы, кодирующие передаваемые байты, — «разбавляется» управляющими маркерами SPEEDc. Их количество определяется отношением скоростей: 1 для 1/2, 3 для 1/4, 7 для 1/8, 15 для 1/16 и 31 для 1/32. На рисунке изображены символы-заполнители Cz для случая, когда скорость порта в 4 раза выше эффективной скорости передачи пакета. По пути к узлу-получателю пакет может проходить через сегменты с различными согласованными скоростями, в результате количество символов-заполнителей может меняться (сокращаться при прохождении через «медленные» сегменты или увеличиваться при прохождении более скоростных). Понятно, что пройти через сегмент, для которого согласованная скорость ниже эффективной, пакет не сможет.
Признаком завершения пакета может быть любой из символов-маркеров (возможно, повторяющийся многократно) ARB_CONTEXT, DATA_END, DATA_PREFIX, DATA_NULL, GRANT, GRANT_ISOCH или LEGACY_PHASE. Традиционные пакеты могут завершаться и одним из символов DATA_END/GRANT/GRANT_ISOCH (их цепочкой), за которым следует LEGACY_PHASE (один или несколько).
Скорость порта | Эффективная скорость | |||||
S100 | S200 | S400 | S800 | S1600 | S3200 | |
S100 | X | |||||
S200 | CX | X | ||||
S400 | CCXC | CX | X | |||
S800 | CCCXC4 | CCXC | CX | B | ||
S1600 | CCCCXC11 | CCCXC4 | CCXC | CB | B | |
S3200 | CCCCCXC26 | CCCCXC11 | CCCXC4 | CCBC | CB | B |
Ts, нс | 80 | 40 | 20 | 10 | 5 | 2,5 |