Convert USB 3.0 to current of USB 2.0

Convert USB 3.0 to current of USB 2.0

I have a USB device that only works with USB 2.0 ports. The reason it only works with 2.0 ports is because when it is plugged into a 3.0 port, it draws all 900 mA available to the 3.0 port and fries the device's internal circuitry (I'm not sure how this happens, but this is the explanation provided by the manufacturer of the device). However, the computer I want to use this device with only has USB 3.0 ports.

My plan to solve this issue is to take a USB 2.0 Port Hub (e.g., link), plug it into one of the USB 3.0 ports on my computer, and plug my device into a port on the hub. I know that USB 3.0 is backwards compatible with 2.0 in terms of data, but I don't know if that applies to current as well. So my question is this: Will a port on a USB 2.0 hub plugged into a USB 3.0 port on a computer draw 500 mA or 900 mA?

答案1

The USB spec requires USB hosts to be able to provide a minimum of 500 mA from USB 2.0 ports and a minimum of 900 mA from USB 3.x ports. These are not maximums, they are minimums. The description of a device taking up all the current from the host and getting damaged makes no sense because if a device tries to pull more power than it should then a fuse opens up in the port to cut all power, much like the electrical distribution panel in your home would cut power if something plugged in a wall outlet tried to take too much current.

I can plug a 1200 watt toaster into an outlet in the wall and see it work as it should. Then I can unplug that toaster and plug a 5 watt phone charger in that same outlet and it works like it should. This works because both devices are built to handle the 120 volts (with some plus or minus but a nominal 120 volts) out of the outlet and safely draw the power it needs. USB works similarly in that it provides 5 volts (again this is nominal, it can be 4.5 to 5.5 volts and comply with the spec) and then the device will draw as much power as it needs.

Where USB and a wall outlet diverge in how power is drawn is that USB will negotiate for more power if the power required is above some threshold. Both the wall outlet and the USB port have some kind of fuse or circuit breaker to prevent a gross overload, but USB has also a means to negotiate how much power should flow. With USB the host can tell the peripheral device not enough power is available and the peripheral is then to remain in a low power mode.

It is difficult to say how to resolve this issue because the question is based on a premise that makes no sense. It is not helped by the complexities of USB. I have USB 2.0 devices that will draw 1.5 amps from the USB host. One of which is an optical drive and it will ask nicely for power before it will spin up the drive. It doesn't get fried, and it doesn't fry the host, if there's a problem with power. I instead get a warning on the screen that the device isn't getting enough power.

Again, 500 mA is the minimum, not maximum, that a USB 2.0 host must be able to supply to meet the USB spec. Devices can draw more or less current than 500 mA but if it is more than 500 mA then the device needs to first ask for more power before taking it. Similarly with USB 3.0, 900 mA is the minimum the port must be able to supply to meet the spec, and any device that needs more than that needs to use some protocol on top of USB 3.x to be permitted to draw more power. One extension to the USB protocol for this is USB-BC, another is USB-PD, and there's a number of third party extensions to the protocol for negotiating power.

相关内容