Мне не понятны режимы «RESUME» и «SUSPENDED» в протоколе USB (USB 2.0).
В спецификации USB 2.0 указано:
Все устройства должны быть приостановленыесли активность шины не наблюдалась в течение промежутка времени, указанного в главе 7. Подключенные устройства должны быть готовы к приостановке в любое время, когда они включены, независимо от того, назначен ли им адрес не по умолчанию или они настроены. Активность шины может прекратиться из-за перехода хоста в собственный режим ожидания.
Продолжительность времени, указанная в главе 7, составляет 3 кадра. Я не понимаю, что означает «отсутствие активности в шине»: означает ли это отсутствие пакетов вообще? означает ли это, что никакие пакеты не отправляются на это устройство (и поэтому, если устройство обнаруживает пакеты SOF, оно не должно переходить в режим SUSPENDED?)
Кроме того, устройство USB также должно переходить в состояние приостановки, когдаПорт концентратора, к которому он подключен, отключен. Это называется выборочной приостановкой.
Как отключить порт концентратора? Это порт самой концентратора, который решает сделать это (при каких условиях?), Или это хост, который посылает команду концентратору, чтобы сделать это (что это за команда?)? Правильно ли предположить, что для точки зрения устройства приостановка и выборочная приостановка одинаковы, поскольку в обоих случаях устройство не видит только активности шины?
Устройство USB выходит из режима ожидания, когда имеетсяавтобусная деятельность. USB-устройство может также запросить у хоста выход из режима приостановки или выборочного приостановки с помощью электрической сигнализации для индикации удаленного пробуждения.
Я не понимаю эту часть. Почему USB-устройство запрашивает у хоста выход из режима приостановки или выборочного приостановления, потому что это всегда хост, инициирующий транзакции?
Спасибо за помощь.