有关HUB供电方式——总线供电与自供电

一:根据USB规范,从电源方面来讲,USB设备分为自供电和总线供电两种设备类型,设备通过枚举过程的设备描述符声明自己的电源要求。自供电设备不使用 HSOT/HUB的电源,而是自身有电源供应;总线供电即指设备电源来自VBUS。

即USB设备:

  • 自供电:使用外部电源进行供电。
  • 总线供电:使用USB总线的(5V)进行供电。

二:对于由总线供电的设备,根据功耗可区分低功耗设备和高功耗设备:

  • 低功耗设备:最大电源供电为100mA
  • 高功耗设备:在设备枚举过程中配置供电为100mA,在正常使用过程中为500mA.
  • 设计电路推荐

疑问:总线供电时,主机口是如何给设备分配电流的?

以下用于验证的HUB来自沁恒微电子的USB2.0高速4端口HUBCH334系列

总线供电方式验证:

        开启HUB总线供电模式,HUB芯片由上行口电源供电,下行设备由外部电源供电

 

汤铭和创惟的HUB开启总线供电后现象一致(这里有个问题虽然现象上是开启总线供电的表现,通过USBVIEWM中的描述符看,这两个HUB实际上传的描述符里还是自供电模式

 

低速设备上报电流普遍为100mA,识别正常,全速高速设备所需最大电流需要200,300mA等,现象表明,主机可能是通过设备上传额的描述符值来判断电流,并不是实际的电流检测

利用CH549模拟一个HID类设备,修改配置描述符里的最大电流参数为98和102mA,

结果表明102mA异常,98mA正常,

猜想:HUB的最大工作电流为100mA,开启总线供电后,可能是设备上报的电流不能超过HUB,实际测试如果接4个100 mA的设备也是正常

反向验证:通过修改配置参数,将HUB的最大电流改为300mA,开启总线供电,外接549模拟设备,结果异常,结论不完全正确

结合下行口接四个100mA的设备均能正常识别

猜想:可能是上行 VBUS 500mA平均分给下行四个端口

 

 

结论:

总线供电的集线器在枚举后,VBUS 500mA 会被平均分为五个单位负载(每个单位负载100mA)给到集线器集线器内控制器和不可移除配置项(HUB内部用于配置电源的控制器)和下行四个外部端口,且总线供电的集线器只可以给每个外部端口一个单位负载100mA

 

以下是部分USB2.0协议原文:

 

posted @ 2023-12-22 17:51  WCHXCC  阅读(1685)  评论(0编辑  收藏  举报