Спецификация USB.Rev1.0

       

Получение Состояния Порта


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

BmRequestType

bRequest

wValue

wIndex

wLength



Данные

10100011B

get_status

Нуль

Порт

Четыре

Индикаторы Состояния Порта и Изменений

Номер порта должен быть допустимым номером порта для этого концентратора, большим чем нуль.

Первое слово данных содержит wPortStatus (обратитесь к Таблица 11-16). Второе слово данных содержит wPortChange (обратитесь к Таблица 11-17).

Возвращенные поля организованы таким образом что позволяют системному программному обеспечению определить, какие состояния изменилась. Расположение бит в wPortStatus и wPortChange полях взаимно-однозначном соответствуют где это приемлемо.

Таблица 11-16.  Поле Состояния Порта, wPortStatus

БИТ

ОПИСАНИЕ

0

Текущее Состояние Соединение:  (port_connection) Это поле отражает, соединено или нет в настоящее время устройство с этим портом. Это значение отражает текущее состояние порта, и не может соответствовать непосредственно событию, которое вызвало установку в единицу Изменение Состояния Вставки (Бит 0 описанный ниже).

                                0 = Никакое устройство не присоединено к этому порту

1 = Устройство присутствует на этом порте

                                ПРИМЕЧАНИЕ: Это поле всегда =1 для портов, которые имеют не-сменные присоединенные устройства.

1

Порт Enabled/Disabled: (port_enable) Порты могут быть разблокированы только программным обеспечением хоста. Порты могут быть заблокированы или условием неисправности (событие разъединения или другое условие неисправности, включая индикацию сверхтока) или программным обеспечением хоста.

                                0 = Порт заблокирован

1 = Порт неблокированный

2

Suspend: (port_suspend) Это поле указывает, подвешено или нет устройство на этом порте. Установка этого поля заставляет устройство подвешиваться, не распространением трафика шины вниз по иерархии. Сброс этого поля заставляет устройство возобновлять работу. Трафик шины не может быть возобновлен в середине транзакции шины. Если устройство само передает сигнал возобновления, это поле будет очищено концентратором.

                                0 = Не подвешено

                                1 = Подвешено

3

Индикатор Сверхтока: (port_over_current) Это поле применяется только в концентраторах, которые сообщают об условии сверхтока на базиса работающих портов (сообщается в Дескрипторе Концентратора).

Если концентратор не сообщает о сверхтоке на базиса работающих портов концентратора, это поле зарезервировано и следующие за определением ниже биты ЗАРЕЗЕРВИРОВАНЫ.

               

Это поле указывает, что устройство, присоединенное к этому порту затребовало ток, значение которого превышает определенный максимум, и мощность от этого порта была отключена. Отключение мощности порта также отражено в поле Мощности Порта описанного выше. Для больших подробностей, обратитесь к Разделу 7.2.1.2.1.

Это поле указывает, что создается условие сверхтока на присоединенном к этому порту устройстве.

                                0 = Все операции мощности для этого порта в норме.

                                1 =На этом порте существует условие сверхтока. Мощность была отключена от этого порта.

4

Сброс: (port_reset) Это поле установлено, когда хост хочет сбросить присоединенное устройство. Оно остается установленным, пока сигнал сброса будет снят концентратором, и не будет установлено поле изменения состояния сброса.

0 = Сигнал сброса, не утвержден

1 = Сигнал сброса утвержден

5-7

Зарезервированы

Эти биты при чтении возвращают 0.

8

Мощность Порта: (port_power)  Это поле отражает состояние мощности порта. Так как концентраторы могут выполнять различные методы переключения мощности порта, значение этого поля изменяется в зависимости от используемого типа переключения мощности. Дескриптор устройства сообщает тип переключения мощности, реализованный в концентраторе. Концентраторы не выдают мощности на свои порты, пока они не находятся в конфигурированном состоянии.

                                                0 = На этот порт питание не подано

               

1 = На этот порт питание подано

                                                Примечание: Концентраторы, которые не поддерживают переключение мощности, всегда, возвращают в этом поле единицу.

9

Присоединено Низко скоростное Устройство: (port_low_speed)  Это поле важно только, если устройство присоединено.

                                0 = Полно скоростное устройство, присоединено к этому порту

1 = Низко скоростное устройство, присоединено к этому порту

10-15

Зарезервированы

Эти биты при чтении возвращают 0.

<
Таблица 11-17.  Поле Изменения Порта, wPortChange

БИТ

ОПИСАНИЕ

0

Изменение Состояния Соединения: (c_port_connection) Указывает, что произошло изменение в Текущем Состоянии Соединения порта. Устройство концентратора устанавливает это поле при любых изменениях   состояния соединения порта устройства, даже если системное программное обеспечение не очистило изменение состояния соединения.[1]

                                0 = Не произошло никакого изменения в Текущем Состоянии Соединения

1 = Текущее Состояние Соединения изменилось

Примечание:  Для портов, которые имеют, не-сменные присоединенные устройства, это поле устанавливается только после условия СБРОСА указывающего системному программному обеспечению, что устройство присутствует на этом порте.

1

Изменение Порта Enable/Disable: (c_port_enable) Это поле активизируется только, когда было обнаружено изменение  неблокированое/заблокированое состояние порта как аппаратное изменение. Это поле не устанавливается, если системное программное обеспечение вызвало изменение порта неблокированное/заблокированное .

                         0 = Не произошло никакого изменения в состоянии Порта Неблокированное/Заблокированное

                         1 = Произошло изменения в состоянии Порта Неблокированное/Заблокированное

2

Изменение Suspend: (c_port_suspend) Это поле указывает изменение в видимом хостом состоянии мощности присоединенного устройства. Оно указывает, что  устройство вышло из подвешенного состояния. Вход в подвешенное состояние не будет устанавливать это поле. Поле Изменение Suspend устанавливается только, когда весь процесс возобновления завершен. То есть концентратор прекратил сигнал возобновления на этом порте, и 3 мс подождать(have passed), чтобы позволить устройству засинхронизироваться с SOF.

                                0 = Нет изменений

1 = Возобновление завершено

3

Изменение Индикатора Сверхтока: (c_port_over_current) Это поле применяется только в концентраторах, которые сообщают об условии сверхтока на базисе работающих портов " (сообщается в Дескрипторе Концентратора).

Если концентратор не сообщает о сверхтоке на базисе работающих портов концентратора, то это поле зарезервировано и следующие ниже за определением биты ЗАРЕЗЕРВИРОВАНЫ.

 

Это поле сообщает, произошло ли изменение Индикатора Сверхтока порта.

 

                                0 = Не произошло никаких изменений Индикатора Сверхтока

1 = Индикатор Сверхтока изменился

 

4

Изменение Сброса: (c_port_reset) Это поле установлено, когда завершается обработка сброса на этом порте. Как сброс обработка завершения сброса, также устанавливает неблокированное состояние порта и сбрасывает поле изменения suspend.( As a reset of completing reset processing, the enabled status of the port is also set and the suspend change field reset.)

0 = Нет изменения

1 = Сброс Завершен

5-15

Зарезервированы

Эти биты при чтении возвращают 0.


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