Server motherboards and workstation grade motherboards. There are several ones.
Now, the enumeration isnt hard.. Slap on an ftdi232 chip and set the current limit in the eeprom to 500 mA . Done. And you can now control the supply through a serial port , or log the current consumption ! Instant chart recorder ! Now, that opens possibilities. For people that dont need that feature and are cost sensitive: dont solder the ftdi on ...
I'll elaborate. The reason I thought binding posts are overkill here is simply because they are large, bulky, expensive, protruding, and generally capable of 15-30 Amps. Overkill. It's ultimately your design, and others may not think the same as me, but I'd be happy with a thinner device, not a bulkier device. I was thinking thin, not bulky, and mentioned captive or pluggable red/black cables with croc clips. As you said, it should fit inside a laptop bag. I'd like to see it just 1cm thick. Capacitive touch sliders and buttons, and a 2 line LCD, like free_electron mentions. If there's no USB data capabilities, then for sure it needs some control and display on board. Just like the binding posts, I wouldn't want to have a large rotary encoder protruding.
In my opinion, something as large as the uCurrent is too large for a laptop bag. (your prototype uSupply shows the same packaging, but I acknowledge that you might have different ideas for the final product)
If you put 4mm binding posts, I'd like to see them side mounted, not top mounted, in order to make the package ultra thin. Not much larger than the base of the binding post itself.
The power source and sink requirements of different device classes can be simplified with the introduction of the
concept of a unit load. A unit load is defined to be 100 mA. The number of unit loads a device can draw is an
absolute maximum, not an average over time. A device may be either low-power at one unit load or highpower,
consuming up to five unit loads. All devices default to low-power. The transition to high-power is under
software control. It is the responsibility of software to ensure adequate power is available before allowing
devices to consume high-power.
High-power bus-powered functions: All power to these devices comes from VBUS. They must draw no
more than one unit load upon power-up and may draw up to five unit loads after being configured.
What I mean with hubs is the following. An unpowered USB hub draws up to 500 mA from the upstream host and can provide up to 100 mA each to up to 4 downstream devices. However, they don't implement 100 milliamp current limit on the downstream port because most of them also support operating in powered mode with a 5V 2A power supply. If the external power adapter is used the ports operate as genuine high power ports. If you plug your supply into such an unpowered hub, you will potentially draw more power than it is capable of supplying, and there will be no current limiting to stop it. Instead, the hub and any other devices connected to it may lose power because the upstream host is being asked to supply more than 500 milliamp.
QuoteHigh-power bus-powered functions: All power to these devices comes from VBUS. They must draw no
more than one unit load upon power-up and may draw up to five unit loads after being configured.
However, you may be correct that in general most usb hosts do not enforce this specification.
Maybe you could do a quick video which tests the current capability of a few USB ports to either prove or disprove this myth?
Unpowered USB hubs will be an issue, and one that isn't going to be solved with negotiation. The simple fact is you can't have a USB PSU capable of drawing potentially 500mA, and have other devices on the hub as well taking power. It won't work.
That is a myth. USB ports do not require negotiation to supply 500mA, they must supply 500mA at all times regardless.
Approved USB devices are required to "play nice" and negotiate first before drawing 500mA, but it makes no actual difference to the USB hosts ability to supply it.
A high-power function requires staged switching of power. It must first come up in a reduced power state of less than one unit load. At bus enumeration time, its total power requirements are obtained and compared against the available power budget. If sufficient power exists, the remainder of the function may be powered on.
Many modern microcontrollers have USB peripherals on them; presumably you are using a microcontroller on the board to drive the displays, so why not pick one with USB and do the enumeration to get 500mA?
That requires isolation of the data too. Adding large cost and complexity, for almost certainly no benefit.QuoteIf it fails you could make something like the current display flash to indicate that the USB current is being exceeded. Just like I don't like using a 3A diode above 3A, or a 40 MHz micro above 40 MHz, it's just bad engineering practice. Sod's law will mean that some really popular series of laptops or desktops have current limiting.
I've yet to see one or hear of a confirmed case of one that does 100mA current limiting.
To increase the cost and complexity on such an otherwise simple design just to do proper enumeration that is not needed in practice would just be silly.
Sorry to all the perfectionists out there. Reality engineering wins out.
No further correspondence will be entered into.
Dave.
I don't doubt that your power supply will work with 99% of host ports and many hub ports, including unpowered hub ports. However, it absolutely has the potential to cause malfunctions in compliant devices including the potential for data loss. I don't consider this acceptable behavior. It is clear that you do, and that you expect the user to have some sense to use it as designed (i.e., only with high power capable ports). That is a fair position, but denying there is a problem is simply incorrect.
There are situations where a port can not provide 500mA - specifically bus powered hubs. These need one power unit for themselves and provide up to four ports one unit each (100mA) for a total upstream load of 500mA. If you connect a high power device to such port it will not be configured by the host and error message about insufficient power will be issued.
Which type of USB connector do you think it would be best to use on the device (Micro/Mini/Standard)?
Are they all rated for the same power/current capabilities?
How do the rated connect/disconnect numbers compare?
I read on wikipedia that standard USB A is only rated for 1500 connect/disconnects, whereas the newer micro are 10,000 and mini is 5000... Strange, because the smaller connectors don't seem as robust?
IMO although micro is the 'new' standard, mini is still more common in the avarage pile of random USB leads.
Both would be ideal, to the extent that a slight size increase may be justified. If there is no room, at least put a footprint on the other side so the a) user can fit the other if they want, and b) it gives a repair option if the socket gets ripped off the board.
"What Your Mom Didn't Tell You About USB
With any standard, it's interesting to see how actual practice diverges from the printed spec or how undefined parts of the spec take shape. Though USB is, with little doubt, one of the best thought out, reliable, and useful standards efforts in quite some time, it has not been immune to the impact of the real world. Some observed USB characteristics that may not be obvious, yet can influence power designs, are:
USB ports do NOT limit current. Though the USB spec provides details about how much current a USB port must supply, there are mile-wide limits on how much it might supply. Though the upper limit specifies that the current never exceed 5A, but a wise designer should not rely on that. In any case, a USB port can never be counted on to limit its output current to 500mA, or any amount near that. In fact, output current from a port often exceeds several Amps since multi-port systems (like PCs) frequently have only one protection device for all ports in the system. The protection device is set above the TOTAL power rating of all the ports. So a four-port system may supply over 2A from one port if the other ports are not loaded. Furthermore, while some PCs use 10-20% accurate IC-based protection, other will use much less accurate poly-fuses (fuses that reset themselves) that will not trip until the load is 100% or more above the rating.
USB Ports rarely (never) turn off power: The USB spec is not specific about this, but it is sometimes believed that USB power may be disconnected as a result of failed enumeration, or other software or firmware problems. In actual practice, no USB host shuts off USB power for anything other that an electrical fault (like a short). There may an exception to this statement, but I have yet to see it. Notebook and motherboard makers are barely willing to pay for fault protection, let alone smart power switching. So no matter what dialog takes place (or does not take place) between a USB peripheral and host, 5V (at either 500mA or 100mA, or even maybe 2A or more) will be available. This is born out by the appearance in the market of USB powered reading lights, coffee mug warmers, and other similar items that have no communication capability. They may not be "compliant," but they do function."
In that case, too bad. You either limit the PSU to 0.5W, or you dispense with the hub. it's not like you can have the PSU taking 500mA and the other devices on the hub too sucking current current. So the hub is useless, you may as well disconnect it.
Negotiation does not fix this problem on self powered hubs.
IIRC mini B is the worst with only several hundred insertions tops?
Micro USB is the best, and one of the main reason why the switched to it.
I was thinking Micro-B is best, but happy to have a vote on it. Unfortunately on the new design there is not enough room for two, unless I mounted one on the bottom of the board, but then it's a two sided machine assembly which is not desirable.
Dave.
I would suggest you at least issue a big fat warning that users should only plug this into a high power host ports or powered hubs.
Anyway, in a theoretical properly USB negotiating version, I'd consider turning the thing around and keeping the controller on the non-isolated side so that it can easily talk to USB, and figure out how to isolate the feedback/current/voltage readings. May be easier than isolating USB communication because of the speed and bidirectional nature of USB.
Something of interest is the power tab in device manager; when looking at the root hubs on my Dell it looks rather like registered power rather than real power used, but handy to know.
Quote"What Your Mom Didn't Tell You About USB
USB ports do NOT limit current. Though the USB spec provides details about how much current a USB port must supply, there are mile-wide limits on how much it might supply. Though the upper limit specifies that the current never exceed 5A, but a wise designer should not rely on that. In any case, a USB port can never be counted on to limit its output current to 500mA, or any amount near that.
11.4.1.1.1 Over-current Protection
The host and all self-powered hubs must implement over-current protection for safety reasons, and
the hub must have a way to detect the over-current condition and report it to the USB software.
Should the aggregate current drawn by a gang of downstream facing ports exceed a preset value,
the over-current protection circuit removes or reduces power from all affected downstream facing
ports. The over-current condition is reported through the hub to the Host Controller, as described in
Section 10.11.5. The preset value cannot exceed 5.0 A and must be sufficiently higher than the
maximum allowable port current or time delayed such that transient currents (e.g., during power up
or dynamic attach or reconfiguration) do not trip the over-current protector. If an over-current
condition occurs on any port, subsequent operation of the USB is not guaranteed, and once the
condition is removed, it may be necessary to reinitialize the bus as would be done upon power-up.
The over-current limiting mechanism must be resettable without user mechanical intervention.
Interoperability and Power Delivery
11-5
Polymeric PTCs and solid-state switches are examples of methods that can be used for over-current
limiting.
Here's someone doing a project along these lines:
http://www.kickstarter.com/projects/210251816/usb-based-variable-power-supply-for-small-projects-0?ref=live