Version 1.2 of the USB Battery Charging (BC1.2) specification was released in 2010. The goal of BC1.2 was to allow portable devices (PDs) to connect and charge thier batteries using the standard USB connectors.
BC1.2 provides for three types of downstream ports capable of supplying 1.5 A.
- Standard Downstream Port (SDP) - Data only port. Provides Vbus at the voltage and current level of the implemented USB specification
- Charging Downstream Port (CDP) - CDPs are capable of delivering both data and power
- Dedicated Charging Ports (DCP) - DCP can deliver power only, no data
Detecting Charging Ports
When the PD first attaches to the Host/DFP, if it wants to know if the Host can supply 1.5 A for battery charging, it asserts a higher than normal voltage on D+.
Dedicated Charging Port
If the PD is connected to a DCP using a fully populated cable (Vbus, Gnd, D+ and D-) the DCP shorts D+ to D-. The PD detects this short when it asserts the test voltage on D+. The PD attempts to continue the enumeration process by asserting D+, however the DCP will not continue the enumeration process. The PD uses Vbus to charge its battery.
If a DCP is connected on a cable without D- and D+, the PD will detect the missing signals when it announces its presence on D+. Without a Host responding to the announcement the enumeration process will not occur. The PD will begin the charging battery using Vbus.
Charging Downstream Port
CDPs connect with fully populated USB cables. CDPs cannot short D+ and D- as these signal are needed for data communications. CDPs monitor the voltage on D+. If a valid test voltage is detected, the input voltage is passed through to D-. If the voltage on D+ does not exceed a reference voltage then enumeration continues as normal.
Standard Downstream Port
Standard Downstream Ports do not respond to the test voltage. Without a response to the test voltage, a PD connected to a SDP will only have the standard USB specified current available to charge its battery. The PD may still charge the battery if connected to a SDP, but it must be able to limit the peak current it draws on Vbus so as not to exceed specifications.
In combination with the implemented USB specification, BC1.2 provides a PD the ability to determine how much current it can draw from Vbus. It is the responsibility of the PD to monitor and maintain the charging profile of its battery and not to exceed the specified current.