待机与活动状态下的 USB 功耗

待机与活动状态下的 USB 功耗

我正在尝试为正在制作的电池供电设备计算出功率预算。

我有一个带 4 个端口的 USB 集线器。每个端口都有一个需要通信的设备(也就是说,它们都不是用于充电或运行任何类型的机电设备)。我测量了集线器 12V 电源的电流。

在待机状态下,我测量到 146 mA @ 12V。当集线器处于活动状态时,我测量到的电流相同。

我有控制通信的代码,因此待机状态下不应该有通信。

Wikipedia(和其他帖子)称 USB3.0 以 150mA @ 5V 为单位分配功率。由此我预计在活动时至少会看到 150mA x 4 个端口 = 600mA。这应该会在电源输入端的变化为 250mA @ 12V 时显示出来。

有人能解释一下这是怎么回事吗?为什么活动状态与待机状态相同?为什么它低于预期?

答案1

USB 框架中不存在“待机”状态。存在 SUSPEND 状态,以及若干具有不同程度电源管理的活动链路状态。

再说一遍,没有人会“分配” 150 mA 之类的东西。USB3 中的 150 mA 是 5 V 电源的强制性最低值,而“有源”设备可以取用它们所需的任何电流,最高可达 900 mA。或更少。一切都取决于“设备”。因此,期望 150 mA x 4 的消耗是不合逻辑的,尤其是对于具有 4 个嵌入式功能的复合设备而言。

如果您的主机驱动程序停止与所有四个下游设备通信,这并不意味着所有链接都会自动进入低功耗状态,主机驱动程序应该强制每个链接进入低功耗状态。USB 3.0 框架中的设备也可以请求并将其各自的链接转变为 U1 和 U2 状态,但必须启用它们才能这样做。但不能进入 U3。同样,控制硅片仍将处于活动状态。要进入“真正的暂停”(U3),主机必须强制所有链接进入 U3(暂停)状态。

但是,如果您正在制作自供电复合设备(集线器+设备),则对其自身功耗没有特定要求,完全由设计师决定,无论它是否节省电力以及节省到何种程度。即使上行链路被强制进入 U3,自供电设备也可以做任何它想做的事情,这取决于“绿色认证”或任何使其节能的要求。

在这种特殊情况下,复合设备要么没有被主机强制进入 U3 状态,要么设备本身忽略上游链路的状态,并且不采取任何措施来改变其功耗。

总体而言,USB 电源管理历来是系统软件面临的一个挑战,多年来,USB3 框架禁用了该功能。即使在 USB2 框架中,仍然存在故障和不兼容性,足以说明经常建议“禁用选择性暂停”模式。

相关内容