0

I am looking into USB 2.0 Ports in Host PC and LapTop computers. I am designing a device that will need to draw as much current as possible. Does anyone know how common these ports require enumeration and limit the current to 100mA before allowing the full 500mA+ supply ?

shmueld
  • 76
  • 7
  • It's very rare in my experience. – Finbarr Jan 31 '18 at 16:58
  • If your device needs to draw as much current as _possible_ then how commonly ports require enumeration is irrelevant. If it's _possible_ then the device must be able to enumerate. – Bruce Abbott Jan 31 '18 at 18:19

2 Answers2

2

Limiting host current to 100 mA never occurs in "self-powered" "high-powered" USB hosts, be it a desktop PC (being powered from AC mains) or laptop PC (powered either from a big internal battery of from AC-DC adapter). In fact, this would be a gross violation of main USB 2.0 Specifications. The specifications can be found on USB.org/developers website (free, within a big zip file), or here, from UCSD.edu and several other places.

USB specifications 2.0 mandate that these categories of USB hosts must supply AT LEAST 5 "units" of load, each "unit" being defined as 100 mA in case of USB 2.0 port, or 150 mA for USB 3.x port. See Section 7.2.1 (page 171) of USB 2.0 Specifications. Therefore, all USB ports in big devices should be and are designed to provide "at least" 500 mA or 900 mA, or typically quite a bit more, 2- 2.5 A. Exceptions are for small gadgets like MP3 players, etc.

However, a USB device must be designed not to draw more than "1 unit" (100-150 mA) of current upon initial "connect" event, until it gets enumerated by host software and receives the final "set_configuration" command. Only if the host determines that everything is OK and issues the "set_configuration()" command, the device may start drawing full power from VBUS. During the enumeration the host determines the required power for the particular device (reading its descriptors), and in cases when the device demands more power than a particular USB segment (say, remote hub) can afford, the host may refuse the device connection by not completing the enumeration process. People frequently refer to this process as "negotiation", but in fact it is rather be "admitted" or "not admitted".

In short, USB ports don't limit the initial port power to 100/150 mA. But a device that doesn't exercise this limit can't be USB compliant and won't pass any official USB certification. This requirement has nothing to do with any Battery Charging specifications or else, this is in the original USB framework.

Ale..chenski
  • 38,845
  • 3
  • 38
  • 103
1

This will depend on if and how your device uses data.

The very old standard was 100mA by default, however in my personal experience, data ports made since 2010 will likely deliver 500mA if a data connection is detected, and more than 500mA if there is no data.

This can be observed by plugging a phone into a computer and measuring the current. A standard USB cable will pass-through all 4 pins, and the data connection will be detected, resulting in 500mA current.

BUT, reconfiguring the data pins can allow for more current. Observe three configurations below:

USB data pin configurations for charging

Charging at higher current whilst also using data can thus depend on the configuration of host and client, and also the cable in between.

See this page for in-depth details:
https://www.maximintegrated.com/en/app-notes/index.mvp/id/5801

"Dumb" devices with no data (such as a USB fan) either don't have a connection to the data pins, or have them tied together in some way.

Some ports, again those in computers, will detect overcurrent and be automatically disabled. Cheap wall chargers will not have this function, and may instead allow the voltage to drop, and may eventually burn out, sometimes in a dangerous fashion.

Bort
  • 5,102
  • 5
  • 31
  • 56
  • Thank you so much. So do you or anyone else know of a Host computer that will only give the 100mA by default and only the higher current after enumeration – shmueld Feb 05 '18 at 10:34