限制USB电源输出

问题描述 投票:1回答:2

我认为有一个USB主机端口的嵌入式设备的工作。我想将iPhone连接到它,并通过USB通信。我已经做开发就这个问题和移植的功能连接到usbmux在iPhone上,并有成功的沟通,但还有另一个问题。

所有开发都与连接到该被尽快连接到我的设备,如我直接连接它通电的USB集线器的iPhone,枚举之后它开始漏我的嵌入式装置的电池,并且使一个张力(电压)下降,导致完成我的设备关闭。

我知道,统计后的USB设备可以从USB端口吸取高达500mA的电流,但我不知道是否有办法来限制为100 mA(同时还具有注册的iPhone)。

我发现关于控制从USB端口数据引脚或VCC电压的各种问题,我知道这是不可能的,我正在寻找一种软件解决方案(虽然硬件解决方案,欢迎)。

TL;博士:有没有统计后以低于500 mA到供应iPhone的方法吗?我能做到这一点的软件吗?或者我需要一个硬件解决方案?我不想开启/关闭端口,就限制了iPhone的电力消耗。

注:我使用的是Windows CE 6.0,如果它的东西,只能通过修改驱动程序,或具有直接访问来完成,是没有问题的。

附:此外,如果有一种方法在* nix中做到这一点(或其他一些开源操作系统),我可以看看源代码,它移植到Windows CE,请让我知道。

embedded usb
2个回答
2
投票

当设备共享其可用的配置(见USB第9章),它规定了多少电力需要为每个配置。主机应该看看所有可用的配置,并选择它想要哪一个。

然而在实践中,这些事情并不那么顺利工作。

我最后一次看这个,Windows总是选择了第一个配置。 MacOS的总是选择最低的电源配置(或最高的,我不记得)。我从来没有看过的WinCE或Linux。

如果你正在编写/修改驱动程序,您可以设置自己的规则配置选择哪个,包括寻找一个是“自我供电”。在iPhone,但是,也许只有一个描述符总是要求500mA,可总线供电。如果是这样,那么你几乎搞砸,因为没有办法让iPhone知道这是不是确定消耗功率。

话虽这么说,我相信所有的iPhone配件实际上是USB主机(相对于USB设备),并给予他们并不总是供电时,iPhone必须能够列举自供电的。


1
投票

我喜欢拉斯·舒尔茨的答案,但我想补充另一个问题:第

的外围设备的描述符,iPhone在这种情况下,包含bMaxPower。如果你列举这个设备,你也接受了电力需求。这是不可能的唯一货源较少,可以说300毫安,如果你已经列举的设备与500毫安desriptor。如果这是你想要的。

如果该设备提供多种配置,则如由拉斯提到自由地写,其选择用更少的功率的结构的驱动器。我们希望,该设备将仅消耗准许的功率。

许多外围设备也就无所谓了。大多数设备只提供与500毫安一种配置。而且有很多刚刚消耗超过他们说的设备...

© www.soinside.com 2019 - 2024. All rights reserved.