Battery Charging with USB

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.

Charging Ports

BC1.2 provides for three types of downstream ports capable of supplying 1.5 A.

  1. Standard Downstream Port (SDP) - Data only port. Provides Vbus at the voltage and current level of the implemented USB specification
  2. Charging Downstream Port (CDP) - CDPs are capable of delivering both data and power
  3. 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.


PD Charging

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.

© 2020 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.