Electronics > Beginners

USB 3.0 charging circuit

(1/2) > >>

I am attempting to build a charger for one of my projects that can charge a Li-ion Blatter and provide power to the device. I found a few nice ic's from maxim but I also want to use usb charging. I plan on powering the device through either a 1 amp usb dcp, or a 3.0 port. I cant figure out how to signal a 3.0 port to give me the power necedad though. My device will not be using a microprocesador so I need to find another way to do it. I've tras through some of the usb specs but they are a bit hard to follow. Any advice or a point in the right direction would be greatly appreciated.


Hi aftafoya,

I just looked up the wikipedia page (http://en.wikipedia.org/wiki/Universal_Serial_Bus#USB_3.0), and it shows that the USB 3.0 power is set up similarly to USB 2.0, but with increased current limits. I believe USB 2.0 specifies at least 100mA without negotiation and up to 500mA with negotiation on the data pins (though lots of phones and iPads etc. break this rule, and don't follow the standards for power negotiation). It looks like USB 3.0 will allow 1.5A and up to 5A with negotiation (a lot for those small wires?).

LadyAda has a blog with some interesting and well tested USB 2.0 charging gear (http://www.ladyada.net/make/mintyboost/) - a lot of that info is more to do with voltage boosting from 2 AA batteries, but if you are interested, it gives lots of details to do with the d+/- pins, for allowing apple devices to work. Of course you may not care about that, but the page is interesting if you are interested in USB charging circuitry (I am - I want to make a 10 outlet 5V 5A+ switch-mode charger for the car, but that is a later project!)


Thanks electron waster. I Actually had that page in my bookmarks but had yet to tras it in detail. Although it was good reading, it only provided data on a usb host device. I am building this circuit for a portable device to be connected to a host. Also, I think I can pull 1 amp from any dcp that's designed to source that much, but I need help figuring out how to ask a 3.0 host port for that much power. If the port I am attempting to draw power from follow the usb specs to the t, then it won't source any power at all if I don't provide data line communication. Minty boost does touch on this but from a host point of view. They could get the pd to charge bc it want more power and correct data line communication. This is the problem that I am facing, however from a pd point of view. I want my batteries to last, so i would need at least 1 amp of power. If the port is only capable of sourcing 100 mA then I don't want the charger to work. Basically, I need a tutorial on signaling usb from a pd perspective.

There's a good reason why most designs ignore that part of the spec and just assume the maximum current limit can be drawn, and with USB 3.0 it gets even more obvious - you basically need to implement all of the USB protocol layers, except for actually doing data transfers.

This includes the physical layer (symbol encoder/scrambler, link initialization, clock jitter recovery, etc.), link layer with all its packet rx/tx logic and associated error recovery, and then the protocol layer with its logic (USB 2.0 and 1.x did not have much more than the protocol layer, and the physical layer was much simpler.)

With USB 1.x it wasn't too bad, you could bit-bang the interface with a fast MCU.

To say it simply, the actual power capabilities are stored in the device configuration descriptor's bMaxPower member (see page 378 of the current 3.0 standard). Doing the handshake to establish the link and then giving that information to the host is where all the complexity is.

Most modern motherboards don't actually limit the current anyway. In many cases the USB port is connected directly to the computer power supply's 5V rail (many stories of people shorting out the USB port and blowing out the traces on the motherboard). Pretty much every PC i've looked at in the last few years has one of those small surface mount PTC reset-able fuses.

The whole reporting of current is more of a management thing. Device A might start up in 100mA mode, communicate with the PC and request 500mA operation, but then the PC denies it because another device is already utilizing the port's current capacity.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version