USB Suspend Current enforcement

I'm working on a USB device that will need to be powered during "Global Sus pend" and will draw around 150mA of current - this maybe reduced to around

95mA. I'm getting confused about suspend current rules. Note that the devic e does Not require USB Certification, I just want it to work with 99% of th e PCs (Desktops and laptops) in the market with USB 2.0 ports.

  1. The suspend current limit is 2.5mA, but I also read that battery powered devices can draw upto 100mA in suspend mode. Is this true? If yes, Is the 'battery powered' aspect enforced during device enumeration or is that only used for USB compliance testing? i.e. since I'm not interested in USB cert ification, can I enumerate my device as an HID Mouse and still draw 100mA d uring suspend?

  2. In your experience, do most hubs/host controllers enforce USB suspend cu rrent limit? what seems to be the max safe current draw during suspend...10
0mA? By safe, I mean current draw that doesn't cause the port to be reset/s hutoff.
Reply to
goata007
Loading thread data ...

Am Dienstag, 24. Februar 2015 09:42:59 UTC+1 schrieb snipped-for-privacy@hotmail.com:

uspend" and will draw around 150mA of current - this maybe reduced to aroun d 95mA. I'm getting confused about suspend current rules. Note that the dev ice does Not require USB Certification, I just want it to work with 99% of the PCs (Desktops and laptops) in the market with USB 2.0 ports.

ed devices can draw upto 100mA in suspend mode. Is this true? If yes, Is th e 'battery powered' aspect enforced during device enumeration or is that on ly used for USB compliance testing? i.e. since I'm not interested in USB ce rtification, can I enumerate my device as an HID Mouse and still draw 100mA during suspend?

current limit? what seems to be the max safe current draw during suspend...

100mA? By safe, I mean current draw that doesn't cause the port to be reset /shutoff.

You could use a powered hub on systems where you have problems.

Andreas

Reply to
acd

Enumerate your device as a battery-powered HID mouse. Problem solved.

--
Tim Wescott 
Wescott Design Services 
 Click to see the full signature
Reply to
Tim Wescott

Unfortunately, powering device or using powered hub is not an option in this case. The device will be plugged directly into the usb port of the computer and must draw its power from there.

Reply to
goata007

Tim, I saw your posts to a similar problem from a while ago and greatly app reciate your input. Just to be clear you are saying that if I enumerate my device as a battery-powered HID mouse and then the computer goes to Standby (S3) then my device will still be able to draw 100mA the entire time system is in standby mode, whether it's a laptop or desktop? Is this behavior com pliant with USB 2.0 spec - which is the most common USB port on majority of the computers out there?

In your experience, how much current can I draw over 100mA while in global suspend mode, without running into issues?

Reply to
goata007

From what I've seen, current draw is never enforced. The USB controller assumes your device is following the spec. There are boatloads of cheap chargers and a myriad of other non-smart devices that will suck as much current as they can (for example, USB powered lights).

I think it's all about cost. It costs more to implement current limit enforcement than it does to assume the client will do self enforcement. The USBIF enforces the limit by imposing certificationb for those who choose to pay.

JJS

Reply to
John Speth

Are you talking about Suspend current? I read somewhere that suspend curren t isn't strictly monitored but still if I were to go over 100mA, I should e xpect issues in suspend mode?

About the current limit enforcement, isn't the circuitry built into the USB host controllers? My understanding was that if during device enumeration I was to request 100mA max power, but then use let's say 200mA then the devi ce would be disconnected. Is that true? If so, then the current monitoring circuity is already built-in and could be used for suspend current enforcem ent as well?

Reply to
goata007

I was tossing out a possibility -- I haven't designed anything USB by any means other than pasting down an FTDI chip.

I _think_ that you can say that you're battery powered, but I don't _know_. I'm pretty sure that the whole USB current consumption thing is a gentleman's agreement anyway -- you can _say_ you're only drawing 2.5mA and then draw 500mA, and the only thing to stop you is burning wires and (more likely) failing power supplies.

--
Tim Wescott 
Wescott Design Services 
 Click to see the full signature
Reply to
Tim Wescott

It's not typically built in to the host or hub controller IC. The controller ICs have an output for turning the +5V on and off, and there's a "fault" input to the controller to indicate a current overload, but there's no output from the controller IC to adjust the current limit.

For a low cost design (e.g. PC motherboard) the current limit might be implemented with a (self-resetting) PTC fuse. The limit is a function of the fuse and cannot be adjusted.

For ones *I* design, the current limit is implemented with one of these:

formatting link
I set the current limit so that it's comfortably above 500ma for USB2 (or

900mA for USB3). The current limit could be set to that it's exactly those values and still comply with the USB standard, but experience says that might cause problems with certain devices that have an out of spec inrush current (e.g. hard disk startup).

Regards, Allan

Reply to
Allan Herriman

Got it...Thanks!

Reply to
goata007

I see...So for the ones you design. Do you enforce suspend current to 2.5mA or 100mA (for battery powered devices) or is the limit in suspend still 500mA (USB2)?

Reply to
goata007

It's the same > 500mA limit regardless of the state, as long as the port is enabled. My products don't have "suspend".

Regards, Allan

Reply to
Allan Herriman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.