Шина IEEE 1394 — FireWire

Конфигурирование шины

Конфигурирование шины происходит автоматически при включении питания, при подключении/отключении устройств, а также по инициативе какого-либо узла. Процесс конфигурирования выполняется только с участием уровней PHY — вышестоящие компоненты могут быть отключены. Процесс состоит из трех последовательных этапов:

  • сброс (Bus Reset) — приведение всех узлов в исходное (несконфигурированное) состояние;
  • идентификация дерева — построение иерархической структуры шины;
  • самоидентификация узлов — назначение физических адресов и сообщение ими своих свойств, относящихся к шине. На этом этапе выбирается (не обязательно) и узел-диспетчер изохронных ресурсов.

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

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

Весь процесс конфигурирования занимает доли секунды. На время сброса и конфигурирования передача полезного трафика останавливается, все ожидающие транзакции сбрасываются. После конфигурирования могут измениться адреса узлов. Номера изохронных каналов, вещавших до сброса, могут и сохраниться — ранее вещавшие узлы имеют приоритет при выделении изохронных ресурсов, что позволяет минимизировать потери вещания.

Яндекс.Метрика