6
\$\begingroup\$

The USB Type-C Spec R2.0 defines the USB Type-C Current feature, in which the power Sink observes the voltage on the CC pin to determine how much current is available from the Source, which falls into one of three categories:

  • 0.25 to 0.61 V: Default
  • 0.70 to 1.16 V: 1.5 A
  • 1.31 to 2.04 V: 3.0 A

When a Source is advertising USB Type-C Default current, the Sink behavior is defined as follows:

  • It connects as a USB 2.0 or USB 3.2 device, after which the Sink shall follow the appropriate USB specification.

So far it sounds like the standard USB negotiation process, where you enumerate with 100 mA or less, and then request 500 mA in your descriptors and possibly get rejected by the Host.

But then it gives another option:

  • It attaches as a USB Type-C Power Sinking Device (PSD), after which the Sink may draw up to 500 mA.

A Power Sinking Device (PSD) is defined as:

Sink which draws power but has no other USB or Alternate Mode communication function, e.g. a USB-powered light.

And that's all it says in the spec; I can't find anything else about PSDs.

So it sounds like a circuit with no communication ability is legally allowed to draw 500 mA from a USB Type-C connector that advertises any of the 3 current ranges.

But then in Legacy Cable Assemblies, the USB Type-C to USB 2.0 Standard-A Cable Assembly is described as:

Pin A5 (CC) of the USB Type-C plug shall be connected to VBUS through a resistor Rp (56 kΩ ± 5%).

Which puts it into the "Default" category above.

So this would mean that a device can legally draw 500 mA from a standard USB-A port through a C-to-A cable without any enumeration or communication at all?

PSDs were added to the spec in Release 1.3, July 13, 2017, described in Default Current Clarification for non-USB Devices which gives a little more context:

Brief description of the functional changes proposed: Clarify the power a non-USB device is allowed to draw when a Source advertises default USB Type-C current.

Benefits as a result of the proposed changes: Allows a non-USB device such as a power bank to draw up to 500mA when the Source advertises default USB Type-C Current.

An assessment of the impact to the existing revision and systems that currently conform to the USB specification: Likely little as the Sources are already required to be able to supply at least 500mA when advertising default USB Type-C Current.

Even legacy USB-A Sources?

\$\endgroup\$
9
  • \$\begingroup\$ isn't 5 V, 500 mA the "default", that is provided if enumeration fails? \$\endgroup\$
    – jsotola
    Commented Nov 18, 2020 at 4:05
  • \$\begingroup\$ Not sure I follow your logic. The fact that a Type-C to Type-A adaptor can provide more default current than a legacy Type-A port doesn't really matter, since nothing you can connect to it will know this. \$\endgroup\$
    – Jon
    Commented Nov 18, 2020 at 4:17
  • \$\begingroup\$ It was always the case that a legacy USB-A port shall supply at least 500 mA. I think the question you are asking is: can I make a certifiable USB device that can ignore the initial (pre-enumeration) limit of 100 mA. You need to ask USB-IF about current certification requirements. All indications, however, are that you have to obey the 100 mA limit rule. \$\endgroup\$ Commented Nov 18, 2020 at 6:34
  • 1
    \$\begingroup\$ @Ale..chenski Why do you say it was always the case that it could supply 500 mA? The legacy ports were only required to supply 100 mA for enumeration and could deny a device that tried to draw more, no? \$\endgroup\$
    – endolith
    Commented Nov 18, 2020 at 14:29
  • 1
    \$\begingroup\$ OTG is not USB, it is a crippled SUPPLEMENT. "8mA is the minimum value sufficient to signal the presence of VBUS. Practical implementations are likely to need a select a value of IA_VBUS_RATED much higher than this minimum value. Note: at least 100mA is allowed to be drawn by an unconfigured [USB2.0] peripheral."-p.16 \$\endgroup\$ Commented Nov 18, 2020 at 18:34

0