Шина IEEE 1394 — FireWire

Интерфейс для кросс-шины (Backplane)

Физический интерфейс для использования в кросс-шине имеет ряд особенностей, отличающих его от кабельного варианта. Эти особенности касаются только PHY-уровня; на работе LINK-уровня и вышестоящих они не сказываются. Интерфейс отличается следующими моментами.

Вместо двух дифференциальных пар (TPA и TPB), соединяющих порты узлов попарно, используются два сигнальных провода STRB и DATA, к которым подключены все соединяемые порты 1394 на шасси. Уровни сигналов на этих линиях стандартом не оговариваются. Для работы шины существенно лишь, чтобы в случае столкновения передач логического «0» и «1» состояние линии воспринималось бы всеми узлами как «1». То есть шина должна обеспечивать логическую функцию «Проводное ИЛИ». В случае ТТЛ-интерфейса шины логической единице соответствует низкий уровень напряжения и передатчиками являются элементы с открытым коллектором. Приемопередатчики узлов должны быть способными одновременно и передавать, и принимать сигнал.

Здесь также используется DS-кодирование, но с более низкими скоростями: формальной скорости S100 соответствует скорость около 50 Мбит/с, S200 — 100 Мбит/с.

Механизм арбитража для такой физической шины изменен. Для получения доступа к шине устройство должно послать 10-битную последовательность арбитража. Последовательность арбитража передается с использованием DS-кодирования, причем всегда на низкой скорости (49,152 Мбит/с). Последовательность начинается с 4-битного кода приоритета, за которым следует 6-битный арбитражный номер узла (его PHY_ID). Посылая эту последовательность, узел следит за состоянием линии (принимает эту последовательность). Как только узел видит, что очередной принимаемый бит отличается от передаваемого, он понимает, что арбитраж в данной попытке проигран. Последовательность арбитража узел имеет право посылать, только дождавшись покоя шины. При этом последовательность одновременно могут начать посылать несколько узлов. Выиграет арбитраж тот узел, который посылает последовательность с самым большим значением кода приоритета, а из узлов с одинаковым приоритетом — тот, у которого самый большой номер. Исходя из этого код приоритета 0000 используется для запроса справедливого арбитража, код 1111 — для запроса передачи пакета мастером циклов.

Межпакетные зазоры в кросс-шине значительно сокращены; здесь они определяются в арбитражных тактах (частоты 49,152 МГц):

  • зазор пакета подтверждения Acknowledge Gap — 4 такта на обнаружение (около 183 нс), на шину пакет подтверждения выдается после 8 тактов покоя;
  • зазор между субакциями (Subaction Gap) — 16 тактов на обнаружение, пакет передается после 20 тактов покоя (около 410 нс);
  • зазор сброса арбитража (Arbitration Reset Gap) — 28 тактов на обнаружение, шину можно занимать после 32 тактов покоя (около 651 нс).

Сигнал сброса по кросс-шине не передается. Подключение/отключение узлов на ходу допускается, но механизм автоконфигурирований (самоидентификации узлов) не используется — физические идентификаторы узлам назначаются какимилибо сторонними способами.

Кросс-шина 1394 используется как дополнительная шина в составе параллельных шин VME64, FutureBus, GTLP. Здесь ее роль является вспомогательной (как SMBus в PCI). Несмотря на низкую (по отношению к кабельному варианту) скорость, последовательная шина остается высокопроизводительным каналом связи, поддерживающим все передачи 1394.



Sitelinkx by eXtro-media.de
Яндекс.Метрика