Author Topic: What happens if device ignores suspend command on SDP  (Read 9521 times)

maxseeley

  • Member
  • ***
  • Posts: 1
What happens if device ignores suspend command on SDP
« on: March 25, 2016, 02:03:18 am »
Setup:

Arm Core Application Processor - this would handle enumeration when powered on.
Li-Pol battery
Charge Management IC

Our system is smart enough to limit charging current 100mA when connected to a SDP.  If our battery was dead, we would have to wait for the battery to get enough juice before booting our ARM core application processor.  Our processor cannot boot off of 100mA.  Once booted the CPU can negotiate for more current.  The question I have is what happens if during that period prior to booting the host commands "suspend" and the device doesn't comply? 

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: What happens if device ignores suspend command on SDP
« Reply #1 on: March 25, 2016, 10:40:18 am »
If the device hasn't switched in its pull-up resistor on D+, the device is in the Attached state and can draw 100 mA.

After switching in the pull-up, the hub detects the device, which can continue to draw 100mA for 1 second.

From USB Complete 5th Edition:

A dead-battery provision (DBP) in the Battery Charging Specification allows some
devices with dead or weak batteries to draw up to 100 mA of bus current for 45 minutes
or until the batteries are charged to a weak-battery threshold, whichever occurs
sooner. A device whose battery has charged to the weak battery threshold is capable
of powering up and enumerating. The device vendor defines the weak-battery
threshold voltage.

Only devices that are capable of operating stand-alone from battery power may use
DBP current, and the only allowed use of DBP current is to bring a device to its
weak-battery threshold.

See section 2 in the USB battery charging spec.

http://www.usb.org/developers/docs/devclass_docs/