Канализационный насос CNP WQ торговый дом югсп промышленные насосы CNP r-wt.ru.
Диспетчер шины (Bus Manager) обеспечивает полное управление шиной. Им может стать любой узел, способный (и обязанный после избрания диспетчером) выполнять следующие функции:
Диспетчер шины может находиться в любом месте шины. Он выбирается из узловкандидатов на роль диспетчера изохронных ресурсов. Из этих кандидатов диспетчером шины может стать узел, способный выполнять блокированные транзакции compare_swap с регистром Bus_Manager_ID уже избранного диспетчера изохронных ресурсов. После самоидентификации каждый узел, претендующий на роль диспетчера шины, пытается с помощью транзакции compare_swap записать свой идентификатор в регистр Bus_Manager_ID. В качестве аргумента (arg_value) этой транзакции передается значение 3Fh, а в качестве значения (data_value) — идентификатор. Значение, полученное в ответ, несет информацию о назначенном диспетчере шины: 3Fh — диспетчером стал данный узел, другое значение — идентификатор узла, успевшего стать диспетчером ранее. Если из-за ошибки передачи транзакция не удалась, узел должен ее автоматически повторить. При этом он может получить в ответе свой PHY_ID — это означает, что он стал диспетчером еще в предыдущей попытке, но не получил подтверждения.
Для поиска диспетчера шины узел должен прочитать регистр Bus_Manager_ID диспетчера изохронных ресурсов. Идентификатор диспетчера изохронных ресурсов узлы запоминают в ходе самоидентификации (см. предыдущий параграф).
У каждого узла при подключении к шине должен быть включен физический уровень (PHY) и контроллер шины, обеспечивающие инициализацию, самоидентификацию и трансляцию сигналов между портами. Остальные компоненты (LINK и прикладная часть) могут быть отключены, об активности (включении) верхних уровней (LINK и уровень транзакций) узел сообщает битом L в пакете самоидентификации. Отношение узла к линиям питания может быть различным, и о нем он сообщает в своем пакете самоидентификации в поле pwr.
Диспетчер шины во время самоидентификации собирает информацию от всех узлов шины об их отношении к питанию (из поля pwr). Он подсчитывает баланс питания (сумма запрашиваемых мощностей не должна превышать сумму подаваемых мощностей). Если баланс не сходится — питания для всех узлов недостаточно, то сервис управления питанием посылает управляющему приложению индикацию события SB_EVENT с указанием на недостаток питания. Дальнейшие действия зависят от приложения: или пользователю предлагается выбрать часть устройств, которые включать, или не включается ни одно устройство (с уведомлеуровнем сервис SB_CONTROL посылает пакет Link_On — директиву на включение питания. Если питанием управляет диспетчер изохронных ресурсов (за неимением диспетчера шины), то он лишь посылает пакеты Link_On всем узлам с неактивным LINK-уровнем, не заботясь о бюджете мощности. нием пользователя). Если питания достаточно, то всем узлам с неактивным LINKуровнем сервис SB_CONTROL посылает пакет Link_On — директиву на включение питания. Если питанием управляет диспетчер изохронных ресурсов (за неимением диспетчера шины), то он лишь посылает пакеты Link_On всем узлам с неактивным LINK-уровнем, не заботясь о бюджете мощности.
В IEEEE 1394b для бета-режима введены новые варианты среды передачи (см. таблицу): и соответствующие типы разъемов (см. рисунок).
Среда | Дальность | S100 | S200 | S400 | S800 | S1600 |
UTP-5 | 100 м | - | - | - | - | - |
POF | 50 м | + | - | - | - | - |
HPCF | 100 м | + | - | - | - | - |
MMF | 100 м | - | + | + | + | + |
STP | 4,5 м | - | + | + | + | + |
Микросхемы PHY 1394b поддерживают любую среду передачи; соответствующие преобразования сигналов осуществляются в элементах PMD: RC-цепях для STP, трансформаторах для UTP и оптических трансиверах для POF, HPCF и MMF.
Порт с электрическим интерфейсом в бета-режиме (для STP или UTP) несложно преобразовать в оптический. Для этого требуется оптический трансивер, поддерживающий требуемую скорость передачи, и несложные схемы преобразования уровней сигналов. При использовании трансиверов с низковольтным псевдоЭСЛ интерфейсом (LV PECL) эти схемы содержат всего 8 резисторов, задающих смещение уровней сигналов трансиверов, и 4 разделительных конденсатора.
Запрос от LINK к PHY посылается в последовательном виде по линии LReq. Обобщенный формат запроса приведен на рисунке, по сравнению с запросами традиционного интерфейса он усложнен. Запрос начинается с единичного старт-бита (LReq0 = 1) и завершается нулевым стоп-битом. За старт-битом следует код типа запроса (биты RT[0:3], см. таблицу), за которым следуют поля, необходимые для данного типа запроса:
В ответ на запросы передачи PHY, выиграв арбитраж, предоставляет LINK’у право на передачу пакета. По запросу записи в регистр PHY выполняется соответствующая операция, никакого ответа не предусматривается. В ответ на запрос чтения регистра PHY данные (и адрес) будут переданы по линии Pint.
Код запроса RT[0:3] | Назначение | Требуемые поля |
0000 | Резерв | |
0001 | PH_IMMED_REQ, немедленный запрос передачи (для посылки пакета квитирования) | RF, RS |
0010 | PH_NEXT_EVEN, запрос очередной передачи асинхронного пакета в четной фазе интервала справедливости | RF, RS |
0011 | PH_NEXT_ODD, запрос очередной передачи асинхронного пакета в нечетной фазе интервала справедливости | RF, RS |
0100 | PH_CURRENT, запрос очередной передачи асинхронного пакета в текущей фазе интервала справедливости | RF, RS |
0101 | Резерв | |
0110 | PH_ISOCH_REQ_EVEN, запрос передачи изохронного пакета в четном периоде | RF, RS |
0111 | PH_ISOCH_REQ_ODD, запрос передачи изохронного пакета в нечетном периоде | RF, RS |
1000 | PH_CYC_START_REQ, запрос передачи пакета начала цикла | RF, RS |
1001 | Резерв | |
1010 | PH_REG_READ, запрос чтения регистра PHY | RA |
1011 | PH_REG_WRITE, запрос записи в регистр PHY | RA, RD |
1100 | PH_ISOCH_PHASE_EVEN, сообщение от LINK’а (не мастера циклов) о приеме пакета начала цикла с четной фазой, обеспечивает синхронизацию LINK’а и PHY, если последний изза ошибки не принял маркер Cycle Start | |
1101 | PH_ISOCH_PHASE_ODD, то же для нечетной фазы | |
1110 | PH_CYCLE_START_DUE, сообщение от LINK’а (не мастера циклов) о приеме уведомления о начале цикла | |
1111 | Резерв |
Каждому узлу выделяется адресное пространство размером 256 Терабайт, которое является частью адресного пространства одной шины. Шин в системе может быть множество; все связанные шины объединяются в общее адресное пространство размером 16 Экзабайт (264 байт). Объединение шин осуществляется мостами; объединяться могут любые шины, отвечающие архитектуре CSR (как последовательные, так и параллельные). Формат адреса для IEEE 1394 приведен на рисунке ниже.
ВНИМАНИЕ!
в IEEE 1394 принято соглашение об адресации Big Endian: старший бит адреса имеет номер 0; адрес указывает на старший байт адресуемой структуры; последующие адреса относятся к байтам по убывающему старшинству. Типовой адресуемой едиицей является квадлет (quadlet) — 4-байтное (32-битное) число.
На рисунках старший бит квадлета (бит 0) изображается слева, по шине он передается первым.
Распределение адресного пространства узла изображено на следующем рисунке. Начальное пространство памяти (Initial Memory Space), занимающее большую часть пространства узла, используется для основного взаимодействия между устройствами, связанными шиной.
Приватное пространство (Private Space) размером 256 Мбайт используется для локальных нужд узла.
Пространство регистров (Register Space) имеет размер 256 Мбайт. Разрядность всех регистров — 32 бит. В дальнейшем описании в скобках указаны относительные адреса регистров; полный адрес (внутри узла) получается сложением относительного адреса и FFFF F000 0000h. Пространство регистров делится на две части:
Транзакции записи начинаются с пакета запроса, в котором передается полный адрес назначения, идентификатор источника, которому нужно будет послать ответ, и сами данные записи. Пакет ответа записи несет код результата выполнения.
Транзакции чтения в пакете запроса несут полный адрес назначения, длину запрашиваемого блока и идентификатор источника. Запрашиваемая длина определяется кодом типа транзакции (чтение квадлета или блока), а для чтения блока — полем длины. Пакет ответа чтения несет код результата выполнения и собственно данные чтения.
Блокированные транзакции чтения-модификации-записи в пакете запроса кроме адреса назначения несут значения аргумента и данных транзакции. Эти значения могут быть как 32, так и 64-битными (одинаковой длины), аргумент может и отсутствовать. Расширенный код транзакции задает тип выполняемой операции (таблица) и, соответственно, наличие или отсутствие аргумента. Поле длины определяет разрядность аргумента и данных и может принимать значение 4 (только 4-байтные данные), 8 (аргумент и данные по 4 байта или только данные размером 8 байт) или 16 (аргумент и данные по 8 байт). Пакет ответа по формату аналогичен ответу на чтение блока, где в поле данных возвращаются старые данные (считанные перед модификацией). Длина блока данных ответа может составлять 4 или 8 байт.
Расширенный код транзакции | Имя | Назначение |
0000h | Резерв | Резерв |
0001h | mask_swap | Биты целевой ячейки, которым соответствуют единичные значения в arg_value, заменяются на биты из data_value |
0002h | compare_swap | Содержимое целевой ячейки заменяется на data_value, если ее прежнее значение совпадает с arg_value |
0003h | fetch_add | Содержимое целевой ячейки складывается с data_value; числа рассматриваются как целые, целевой адрес указывает на самый старший байт числа (big endian) |
0004h | litle_add | То же, но целевой адрес указывает на самый младший байт числа (litle endian) |
0005h | bounded_add | Если содержимое целевой ячейки не равно arg_value, то она заменяется на сумму прежнего и data_value; иначе целевая ячейка не изменяется |
0006h | wrap_add | Если содержимое целевой ячейки не равно arg_value, то она заменяется на сумму прежнего и data_value; иначе она заменяется на data_value |
0007h | vendor | Назначение определяется разработчиком |
0008-FFFFh | Резерв | Резерв |
Анкета Оксана https://ram.sibirki.org/id_9860.html район и метро на сайте Сибирки.