fgf1014
驱动牛犊
驱动牛犊
  • 注册日期2003-02-22
  • 最后登录2005-10-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2113回复:4

USB充电电流问题(立即给分)

楼主#
更多 发布于:2005-04-07 13:59
哪位大虾能解答这个问题:
USB设备利用总线充电,怎样才能在USB设备中查询主机到底能提供多大的电流?
lejianz
驱动中牛
驱动中牛
  • 注册日期2003-03-05
  • 最后登录2023-11-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望145点
  • 贡献值0点
  • 好评度116点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-04-07 15:56
通常你的设备能用100mA电流,如果你定义为HIGH-POWER设备,你能用500mA的电流。
一起交流,共同提高!
fgf1014
驱动牛犊
驱动牛犊
  • 注册日期2003-02-22
  • 最后登录2005-10-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-07 16:12
我看到过这样的一段话:
usb在没有枚举完成之前只能获取100mA的电流,枚举完成之后可以获得500mA,前提是你的设备插到一个高电流的port上,如果你插到了一个低电流的设备(比如有的笔记本电脑在用电池供电的时候)上,那么你的设备只能获得100mA的电流。


你所说的HIGH-POWER设备是什么意思?怎么定义?
就算是我定义成了HIGH-POWER设备,但是插到了一个低电流的主机上我也能用500mA的电流吗?
还有,我在设备端怎么判断现在连接的主机能提供多大的电流呢?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-08 12:08
那段话是我写的,呵呵 :D
协议规定:任何usb设备在枚举完成之前都只能最多从总线获得100mA的电流,枚举过程中(是在配置的时候)主机根据自身能提供电流的数据来提供你的描述符中所定义的电流量,这个电流最大只能是500mA,如果主机不能提供你要求的电流量,那可能会产生的结果是枚举失败,因此你就得不到你要求的电流量。

不清楚你的充电电路板上有没有usb芯片,如果没有那么你只能得到100mA的电流,如果有,你可能会得到100~500mA的电流,这还要看主机或者集线器是否能提供。

举个例子:如果你把设备插到一个没有外部供电的4口usb hub的一个口上,并且另外的几个口上也插了u盘之类的usb产品,那么你肯定不能获得500mA的电流,因为这个hub从上游端口最多能获得500mA电流,再分给几个下游端口上的设备,每个设备都不能获得太多的电流的。
fgf1014
驱动牛犊
驱动牛犊
  • 注册日期2003-02-22
  • 最后登录2005-10-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-09 23:45
谢谢高手指点,你的解释我看明白了,但是我的问题还是没有解决?我现在是想在固件中能够侦测到目前连接的主机可以为我提供多少电流,请问有什么办法可以去向主机查询吗?
游客

返回顶部