Шина IEEE 1394 — FireWire
- Подробности
-
Родительская категория: Шина IEEE 1394 — FireWire
-
Категория: Управление шиной IEEE 1394
Сервисы управления шиной
Прикладные драйверы на каждом узле предоставляют специальный интерфейс управления шиной (Bus Management Interface), который взаимодействует с «уровнем» управления последовательной шиной (Serial Bus Management Layer). Этот «уровень» проходит по всем этажам архитектуры. Он включает:
- контроллер узла, управляющий уровнями PHY и LINK;
- мастер циклов;
- диспетчер изохронных ресурсов;
- диспетчер шины.
Взаимодействие происходит через сервисы управления последовательной шиной (Serial Bus Management Services) при помощи:
- запросов управления шиной — SB_CONTROL.request;
- подтверждений запросов — SB_CONTROL.confirmation, сообщающих результаты их выполнения;
- индикаторов событий шины, происходящих неожиданно для данного узла, — SB_EVENT.indication.
Запросы и подтверждения сервисов управления
Для функций управления и определения состояния предусмотрен ряд запросов, (SB_CONTROL.request), перечисленных ниже. На все запросы уровень управления отвечает подтверждениями (SB_CONTROL.confirmation), указывающими на успех или неудачу выполнения запроса. Сервисы управления включают следующие запросы:
- сброс шины (Bus Reset) — указание своему PHY подать сигнал сброса и реинициализироваться самому; LINK и уровень транзакций отбрасывают все ожидающие транзакции и субакции;
- инициализация узла — LINK и уровень транзакций данного узла отбрасывают все ожидающие транзакции и субакции и становятся готовыми к работе;
- включение LINK-уровня заданного узла. Этот запрос предоставляет только диспетчер шины и диспетчер изохронных ресурсов;
- конфигурирование физического уровня шины, предоставляют только диспетчер шины и диспетчер изохронных ресурсов:
-----принудительное назначение роли корня (Set Root Force) — установка бита RHB в указанном узле и сброс во всех остальных;
-----установка зазора арбитража (Set Gap Count);
-----посылка расширенных пакетов физического конфигурирования — пробных пакетов ping, удаленного доступа к регистрам PHY, пакета resume;
- Опрос состояния (Present Status), по которому в подтверждениях (SB_CONTROL confirmation) сообщается следующая информация:
-----идентификатор корневого узла (3Fh — корневой узел не является мастером циклов);
-----идентификатор (физический адрес) данного узла (0…3Eh);
-----состояние бита RHB, обеспечивающего победу данному узлу в состязаниях на роль корня;
-----текущее значение зазора арбитража (gap_cnt);
-----идентификатор диспетчера шины (3Fh — нет диспетчера);
-----идентификатор диспетчера изохронных ресурсов (3Fh — нет диспетчера);
-----идентификатор мастера циклов (3Fh — нет мастера);
-----значение, которое можно вычесть из содержимого регистра BANDWIDTH_ AVAILABLE при перераспределении полосы между изохронным и асинхронным трафиком.
Последние четыре параметра доступны только у узла, являющегося диспетчером шины или диспетчером изохронных ресурсов.