link980 link981 link982 link983 link984 link985 link986 link987 link988 link989 link990 link991 link992 link993 link994 link995 link996 link997 link998 link999 link1000 link1001 link1002 link1003 link1004 link1005 link1006 link1007 link1008 link1009 link1010 link1011 link1012 link1013 link1014 link1015 link1016 link1017 link1018 link1019 link1020 link1021 link1022 link1023 link1024 link1025 link1026 link1027 link1028 link1029 link1030 link1031 link1032 link1033 link1034 link1035 link1036 link1037 link1038 link1039 link1040 link1041 link1042 link1043 link1044 link1045 link1046 link1047 link1048 link1049 link1050 link1051 link1052 link1053 link1054 link1055 link1056 link1057 link1058 link1059 link1060 link1061 link1062 link1063 link1064 link1065 link1066 link1067 link1068 link1069 link1070 link1071 link1072 link1073 link1074 link1075 link1076 link1077 link1078 link1079 link1080 link1081 link1082 link1083 link1084 link1085 link1086 link1087 link1088 link1089 link1090 link1091 link1092 link1093 link1094 link1095 link1096 link1097 link1098 link1099 link1100 link1101 link1102 link1103 link1104 link1105 link1106 link1107 link1108 link1109 link1110 link1111 link1112 link1113 link1114 link1115 link1116 link1117

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

Шина IEEE 1394 — FireWire

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

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

Каждый порт через резисторы-терминаторы (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. Во время нормальной работы сигналы арбитража используются для запроса и предоставления права на передачу пакетов.