3
\$\begingroup\$

I have the above simple requirement, and I'm frankly astonished that I can't find it as a simple chip.

My understandings:

  1. USB2 provides 5V on its power pins;
  2. USB2 assumes 100mA, but will provide 500mA upon negotiation;
  3. Most USB2 sources just provide 500mA anyway - but I want to be "official" and negotiate for it first;
  4. USB3 does "power delivery", but those chips are SO complex that they're overkill for my situation.

I have a 500mA, 3.3V circuit (330mA @ 5V) that I'd like to power from 5V USB. So I'm looking for a simple chip that has 4 USB pins (I assume the Data pins are part of the negotiation!) and one 3.3V output pin that can supply 500 mA - noting that ~750mA is the theoretical maximum. If there needs to be a couple of extra pins for support components (capacitors, inductors, etc.) then so be it, but I'd hope there wouldn't be many.

I've found all sorts of devices for USB chargers (on the "host" side - no good), USB Hub controllers (to even out multiple ports' requirements - too complex), USB peripherals with incidental output voltage (e.g. FTDI - way too complex), and even one 8-pin device that's almost ideal - but it stops at 200mA (300mA @ 3.3V).

Why isn't there a device that negotiates for 500mA, and then simply delivers it at 3.3V @ 750 mA (or close)?

\$\endgroup\$
1
  • \$\begingroup\$ You could roll you own with something like a PIC16F1455... \$\endgroup\$
    – brhans
    Commented Aug 16, 2020 at 16:38

3 Answers 3

0
\$\begingroup\$

Mostly because of the impractical need for one. As you mention no one really cared about the usb power enumeration so it has been defacto ignored. And it never worked with usb power supplies. Plus you would need active circuitry to do so. For a power only non data transfer device, its an added expense with little benefit. Usb requires constant data transfers or a keep alive message. Usb requires you to enumerate as a device on the host. Enumerating as an unknown device would lead to messages on the computer about it.

You can roll your own if you really wanted to. Take a 5v to 3.3V switching regulator with an enable pin and take a usb capable microcontroller like an attiny based v-usb or real usb atmegaU and program it as a usb serial device. Once enumerated you can switch on the regulator for your output. Bonus serial connection if you need it. Not a single chip solution but with two modules off fleabay and 20 minutes of setup you can have what you want.

\$\endgroup\$
2
  • \$\begingroup\$ If you're not too fussy about your 3.3V supply you could always have the micro PWM it to save using an external regulator. Would still need an external MOSFET though - so maybe not worth the trouble... \$\endgroup\$
    – brhans
    Commented Aug 16, 2020 at 19:31
  • \$\begingroup\$ What explained it best was you effectively asking "What would it enumerate as?" \$\endgroup\$ Commented Aug 17, 2020 at 8:30
0
\$\begingroup\$

Why isn't there a device that negotiates for 500mA, and then simply delivers it at 3.3V @ 750 mA (or close)?

Getting 750 mA implies a switching regulator, which is going to be a few components.

If you just want 500mA, I believe officially you are supposed to enumerate if connected to a host. However, almost nothing actually enforces that requirement, so if you are really pressed for board space or don't mind using a USB phone charger, you could omit the microcontroller and put a 30 cent 3.3v linear regulator.

\$\endgroup\$
3
  • \$\begingroup\$ 500 mA per port is a USB requirement. It is strongly enforced. \$\endgroup\$ Commented Aug 18, 2020 at 1:30
  • \$\begingroup\$ @Ale..chenski Officially I believe you cannot draw 500mA without enumerating first, but few devices enforce that requirement. Edit: I see your point that non-USB devices may be exempt from that requirement. I had not heard that, but it would make sense. \$\endgroup\$ Commented Aug 18, 2020 at 1:32
  • \$\begingroup\$ There are official specifications that define power capabilities of classic USB-A ports. I provided a reference in many of my previous posts. The basic "100-mA level of pre-enumeration" is only required over bus-powered hubs, and this one is almost never enforced, vast majority of hubs are "cheating". The non-USB devices are just taking advantage of the official USB requirement. \$\endgroup\$ Commented Aug 18, 2020 at 1:44
0
\$\begingroup\$

#2 premise is wrong. There is no need to "negotiate" anything from USB2 port, nor be "official". This "100 mA" sentiment is a commonly repeated misconception. Per USB specifications any AC-DC powered USB host must provide AT LEAST 500 mA. See this. That's why you cannot find any "negotiating" device on the market, it is not needed and thus does not exist.

\$\endgroup\$
9
  • \$\begingroup\$ From that exact answer: "The rare exceptions [from] 500 mA limit are small battery-powered USB hosts, who can limit themselves to 100 mA per port." Think ChromeBook. Thus the negotiation with such a host could be denied, so the device shouldn't use the higher current. "Rare", I'll grant you, but not a complete misconception either \$\endgroup\$ Commented Aug 18, 2020 at 1:45
  • \$\begingroup\$ @JohnBurger, if a "small" device has a real concern about its battery run-time life, the designers have an option to DECLARE their ports as "low-power ports", and will limit the port current by hardware means. This would be a solution to prevent "laptop coolers" from draining your small device battery. BTW, Chromebooks can be pretty sizeable too. Still no "negotiations" is defined. \$\endgroup\$ Commented Aug 18, 2020 at 1:51
  • \$\begingroup\$ I agree about ChromeBooks - but they can also be very small. But I don't understand: if a USB device is only to use 100mA until it knows it can use 500mA, how can it "know" without a negotiation process? That is what I'm talking about. \$\endgroup\$ Commented Aug 18, 2020 at 1:54
  • \$\begingroup\$ OK, "enumeration" is just another word for "negotiation". The device still asks for 500mA during the enumeration process. What if the Host says "No"? \$\endgroup\$ Commented Aug 18, 2020 at 2:05
  • 1
    \$\begingroup\$ OK, I think we're discussing semantics now. "Negotiation" is an often-used phrase in various computer protocols where the two sides decide upon mutually agreeable conditions. But as in life, that doesn't mean that all negotiations are successful. Q: "Can I have 500mA?" A: "No" is still a negotiation, just not a successful one. Just try plugging nearly any USB device into an iPad. That thing complains all the time about "too much power required", even when the device is self-powered - the device doesn't change its request when it's self-powered, although you could argue it should. \$\endgroup\$ Commented Aug 18, 2020 at 3:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.