Шина USB обеспечивает устройства питанием по линии Vbus с номинальным напряжением 5 В относительно линии GND. Питание подается на нисходящие порты хабов; устройства-функции могут только потреблять питание (как и хаб по своему восходящему порту). Естественно, устройства могут пользоваться и собственным питанием. Мощность питания от шины выделяют единицами по 100 мА, устройству шина может предоставить максимум 5 единиц (0,5А). При начальном подключении (до конфигурирования) устройство может потреблять не более 1 единицы (100 мА). Порт, обеспечивающий 5 единиц, называют мощным (high-power port); маломощный порт (low-power port) обеспечивает лишь 1 единицу. По отношению к питанию от шины различают следующие типы устройств:
Способ питания устройства (и хаба) и максимальный ток, потребляемый от шины (с точностью до 2 мА), описываются в дескрипторе конфигурации устройства. У хаба с собственным питанием возможна ситуация, когда это питание в процессе работы теряется. В этом случае хаб должен отключиться от шины и автоматически повторно подключиться, но уже сообщая в своем дескрипторе о питании от шины. При этом временно отсоединяются и все находящиеся за ним устройства, после чего они конфигурируются уже исходя из бюджета новых условий питания.
Питание на порты хабов подается с защитой от перегрузок, из расчета 5 А на порт (это не отменяет нормы потребления). Срабатывание токовой защиты может индицироваться, например, гудком динамика системной платы ПК. Управление подачей питания у хаба может быть как общим (на все порты сразу), так и селективным — эти возможности описаны в дескрипторе нулевой конечной точки хаба.
При питании от шины до устройств доходит напряжение меньшее, чем дает хаб, из-за сопротивления питающих проводов и контактов разъемов. На каждом кабеле (между вилками A и B) в каждой из линий GND и Vbus может падать напряжение до 0,125 В. Худший случай по питанию — когда между источником питания (хабом с собственным питанием) и устройством находится один хаб с питанием от шины, вносящий свое падение напряжения (до 350 мВ). Мощный порт хаба должен под нагрузкой выдавать напряжение в диапазоне 4,75–5,25 В, маломощный — 4,4–5,25 В. Устройство, питающееся от шины, должно быть способно сообщать конфигурационную информацию при напряжении питания на вилке «A» своего кабеля от 4,4 В; маломощное устройство при таких условиях должно и нормально работать. Для нормальной работы мощного устройства требуется как минимум 4,75 В на его вилке.
USB имеет развитую систему управления энергопотреблением. Хост-компьютер может иметь собственную систему управления энергопотреблением (power management system), к которой логически подключается и одноименная система USB. Программное обеспечение USB взаимодействует с этой системой компьютера, поддерживая такие системные события, как приостановка (suspend) или возобновление (resume). Кроме того, устройства USB могут сами являться источниками событий, отрабатываемых системой управления энергопотреблением хоста.
Все устройства USB должны поддерживать режим приостановки (suspended mode), в котором средний потребляемый от шины ток не превышает 500 мкА. Мощным устройствам, которые могут инициировать удаленное пробуждение, позволительно в этом режиме потреблять до 2,5 мА. Устройство должно автоматически приостанавливаться при прекращении активности шины. Приостановка выполняется всегда по инициативе хоста и может быть как глобальной, так и селективной. Возобновление (resume) может происходить по разным причинам и сценариям.
Глобальная приостановка выполняется через корневой хаб — специальная управляющая команда запрещает ему транслировать весь нисходящий трафик, что и вызывает сигнализацию приостановки. Это заставит все устройства и хабы шины перейти в состояние приостановки. Возобновление после глобальной приостановки возможно несколькими путями:
Селективная приостановка относится к сегменту шины или даже отдельному устройству. Для этого хабу, к которому подключен приостанавливаемый сегмент (устройство), подается управляющий запрос установки Set_Port_Suspend, что запретит нисходящую трансляцию для выбранного порта. Возобновление после селективной приостановки выполняется несколько иначе:
Если на селективно приостановленном порте хаба происходит событие подключения-отключения, то этот порт из состояния suspended перейдет в connected или disconnected в соответствии с состоянием текущего подключения.
За селективной приостановкой какого-то порта хаба может последовать и общая приостановка данного хаба (глобальная или тоже селективная). Это не помешает распространению сигнала удаленного пробуждения вверх. Когда до хаба сверху дойдет сигнал возобновления, состояние suspended его портов, селективно приостановленных, сохранится — хост должен будет снять приостановку соответствующими запросами. Удаленное пробуждение автоматически снимет состояние suspended с порта, на который оно пришло.