USB: понимание состояний RESUME и SUSPENDED - PullRequest
0 голосов
/ 04 ноября 2019

Мне не понятны режимы «RESUME» и «SUSPENDED» в протоколе USB (USB 2.0).

В спецификации USB 2.0 указано:

Все устройства должны быть приостановленыесли активность шины не наблюдалась в течение промежутка времени, указанного в главе 7. Подключенные устройства должны быть готовы к приостановке в любое время, когда они включены, независимо от того, назначен ли им адрес не по умолчанию или они настроены. Активность шины может прекратиться из-за перехода хоста в собственный режим ожидания.

Продолжительность времени, указанная в главе 7, составляет 3 кадра. Я не понимаю, что означает «отсутствие активности в шине»: означает ли это отсутствие пакетов вообще? означает ли это, что никакие пакеты не отправляются на это устройство (и поэтому, если устройство обнаруживает пакеты SOF, оно не должно переходить в режим SUSPENDED?)

Кроме того, устройство USB также должно переходить в состояние приостановки, когдаПорт концентратора, к которому он подключен, отключен. Это называется выборочной приостановкой.

Как отключить порт концентратора? Это порт самой концентратора, который решает сделать это (при каких условиях?), Или это хост, который посылает команду концентратору, чтобы сделать это (что это за команда?)? Правильно ли предположить, что для точки зрения устройства приостановка и выборочная приостановка одинаковы, поскольку в обоих случаях устройство не видит только активности шины?

Устройство USB выходит из режима ожидания, когда имеетсяавтобусная деятельность. USB-устройство может также запросить у хоста выход из режима приостановки или выборочного приостановки с помощью электрической сигнализации для индикации удаленного пробуждения.

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

Спасибо за помощь.

1 Ответ

1 голос
/ 04 ноября 2019

Активность шины относится к любому пакету, замеченному устройством.

Я не знаю всех подробностей о выборочной приостановке, но я полагаю, что операционная система может сказать, когда ничего не пытается использовать устройство USBи затем попросите порт USB приостановить работу устройства для экономии энергии.

Что касается того, почему USB-устройство запрашивает у хоста выход из режима ожидания: вы когда-нибудь замечали, что можете разбудить компьютер из спящего режима? нажатием клавиши на клавиатуре или нажатием кнопки мыши?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...