Сетевое железо - статьи

       

Протокол


Устройства, входящие в кластер, используют один и тот же канал Wireless USB. Канал Wireless USB - это непрерывная последовательность связанных управляющих пакетов (Microschedule Management Commands - ММС), передаваемых хостом в зарезервированные интервалы времени. Канал Wireless USB инкапсулируется в канал WiMedia/MBOA (время резервируется с помощью DRP). Используются WiMedia/MBOA PHY/MAC-совместимые компоненты - сигнализация и формат кадров WiMedia/MBOA PHY, формат заголовков и безопасность WiMedia/MBOA МАС-уровня.

В целом, терминология Wireless USB будет понятна любому разработчику, знакомому с проводной версией стандарта. Спецификация оперирует привычными понятиями Endpoint, Token, Handshake, используются те же виды трафика (Control, Bulk, Interrupt и Isochronous). Многие протокольные особенности также унаследованы от проводного USB.

Канал Wireless USB

Одно из новых понятий, вводимых Wireless USB, - транзакционная группа (Transaction Group). Это набор всех транзакций в канале, описываемых одним ММС-пакетом. Объединение транзакции в группы - одно из отличий Wireless USB от классического USB. Это лучше учитывает особенности беспроводной среды и позволяет тратить меньше времени на переключение между режимами приема и передачи трансивера.

С каждой транзакцией в группе ММС сопоставлен Channel Time Allocation (СТА) - элемент, который содержит исчерпывающую информацию о планируемой транзакции: время начала, адресат, количество передаваемой информации, направление обмена, правила передачи. Требуемое разрешение таймеров - 1 мкс. Интересно, что размер СТА - от 4 до 16 байт, то есть управление каналом подразумевает небольшие накладные расходы.

В нормальном режиме работы транзакции на шине происходят по требованию хоста, когда периферийные устройства являются пассивным источником или приемником данных. Исключение составляют транзакции, происходящие во время так называемых Device Notification Time Slots (DNTS), которые специально резервируются хостом и описываются СТА-элементами определенного вида.
DNTS предназначены для передачи асинхронных нотификаций от устройств к хосту. Этот механизм используется, в частности, для первичного обнаружения устройств, в процессе их начального конфигурирования, для управления потоком (flowcontrol), а также в случае возникновения ситуаций сбоя.

В Wireless USB поддерживается пакетная передача (Data bursting), когда один СТА-элемент описывает несколько пакетов в канале. Это позволяет лучшеутилизировать пропускную способность за счет сокращенных межпакетных промежутков (inter-frame gaps), а также возможности использовать укороченную преамбулу (1.875 мкс, в пять раз короче стандартной - 9.375 мкс) для всех пакетов в пачке после первого. Как и во многих других случаях, размер burst определяется возможностями периферийного устройства по буферизации данных. Максимальный размер пакета -около 3 Кб, максимальный размер burst - 16 пакетов. При "сборке" данных на приемной стороне используется метод "скользящего окна" (sliding window), который подразумевает получение подтверждений в фазе handshake и повторную передачу пакетов в случае потерь.


Содержание раздела