link700 link701 link702 link703 link704 link705 link706 link707 link708 link709 link710 link711 link712 link713 link714 link715 link716 link717 link718 link719 link720 link721 link722 link723 link724 link725 link726 link727 link728 link729 link730 link731 link732 link733 link734 link735 link736 link737 link738 link739 link740 link741 link742 link743 link744 link745 link746 link747 link748 link749 link750 link751 link752 link753 link754 link755 link756 link757 link758 link759 link760 link761 link762 link763 link764 link765 link766 link767 link768 link769 link770 link771 link772 link773 link774 link775 link776 link777 link778 link779 link780 link781 link782 link783 link784 link785 link786 link787 link788 link789 link790 link791 link792 link793 link794 link795 link796 link797 link798 link799 link800 link801 link802 link803 link804 link805 link806 link807 link808 link809 link810 link811 link812 link813 link814 link815 link816 link817 link818 link819 link820 link821 link822 link823 link824 link825 link826 link827 link828 link829 link830 link831 link832 link833 link834 link835 link836 link837 link838 link839

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

Шина IEEE 1394 — FireWire

Сервисы управления шиной. Запросы и подтверждения

Сервисы управления шиной

Прикладные драйверы на каждом узле предоставляют специальный интерфейс управления шиной (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 при перераспределении полосы между изохронным и асинхронным трафиком.

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