Battery Charging with USB

Specification Summary

The most up to date release of the USB "Battery Charging Specification" is available on the USB-IF website: https://www.usb.org/documents.

The USB "Battery Charging Specification" was introduced as an extension of the USB specifications to enable battery charging over USB charging applications.

  • Version 1.0 was released in 2007.
  • Version 1.1 was released in 2009. It included major updates to all sections and added data contact, detect protocol, and accessory charger adapter.
  • Version 1.2 was released in 2010. It included updates to many electrical parameters, timers, functional requirements to improve stability, and interoperability.

Note: Within this page, the acronym PD is used to describe a Portable Device. This is the terminology used with the BC1.2 specification and should not be confused with USB Power Delivery.

Charging Ports

BC1.2 provides definitions for three types of downstream ports:

  1. Standard Downstream Port (SDP): Standard data port. Provides VBUS at the voltage and current level of the implemented USB specification. A device shall draw a maximum of 100 mA upon initial connection, and may only draw up to the standard 500 mA or 900 mA for USB2.0 and USB3.x, respectively, if the host deems that the system power is available and the host allows it. For example, if a PD is plugged into an intermediate USB hub which is powered by its upstream port's VBUS connection alone (in USB terms, "bus powered"), the USB host will be capable of detecting this and will limit the PD to the initial 100 mA limit.
  2. Dedicated Charging Ports (DCP): DCP can deliver power only up to 1.5 A, no data.
  3. Charging Downstream Port (CDP): CDPs are capable of delivering both data and power up to 1.5 A, regardless of the power limits imposed by the USB host during USB device enumeration.

USB Cables and Battery Charging

All BC1.2 defined battery charging mechanisms require the presence of D+ and D- within the USB cable in order to operate. If a cable that does not include the USB D+ and D- data lines is used to make a connection between a charging port and the PD, the PD is always limited to 100 mA maximum current draw.

Standard Downstream Port

SDPs do not respond to the test voltage. Without a response to the test voltage, a PD connected to an SDP will only have the standard USB specified current available to charge its battery. The PD may still charge the battery if connected to an SDP, but it must be able to limit the peak current it draws on VBUS so as not to exceed specifications.

sdp.png

Dedicated Charging Port

A DCP simply shorts D+ to D- with a 200 Ω maximum impedance (RDCP_DAT). No minimum impedance is defined; a direct 0 Ω short is permissible. The PD detects this short when it asserts the test voltage checks on D+ and D-. A PD which detects that it is connected to a DCP may or may not attempt to establish a data connection. Devices that do not support BC1.2 operation will still assert D+ to signal it is ready to make a data connection when VBUS of the charging port is detected, but a DCP will not respond.

dcd.png

Charging Downstream Port

CDPs cannot short D+ and D- as these signals are needed for data communications. CDPs monitor the voltage on D+. A CDP constantly monitors D+ for the test voltage sourced from an attached PD. When a voltage is detected on D+, the CDP connects a voltage source to the D- line. A CDP will not react to any test voltages applies to D-.

cdp.png

What a PD Does

Step 1: Connection Detection

Upon making a connection and sensing VBUS, A PD is permitted to draw 100 mA (IUNIT) until it is able to complete the BC1.2 Primary Detection and Secondary Detection handshake. If the device is in a dead battery state, it may charge at the 100 mA until it can achieve a power state which is sufficient to perform the BC1.2 handshake.

Step 2: Primary Detection

A PD will perform Primary Detection by applying a 0.5 V - 0.7 V voltage source (VDP_SRC) to D+.

If connected to a SDP port, D- will remain below 0.4 V (VDAT_REF). If an SDP is detected, a PD may elect to skip Secondary Detection and proceed directly to the enumeration stage.

If connected to a DCP or CDP port, a voltage greater than 0.4 V (VDAT_REF) will be sensed on D-.

Step 3: Secondary Detection

If A PD supports data and charging, it will next perform a Secondary Detection by applying a 0.5 V - 0.7 V voltage source (VDM_SRC) to D-.

If connected to a CDP port, D+ will remain below 0.4 V (VDAT_REF).

If connected to a DCP port, a voltage greater than 0.4 V (VDAT_REF) will be sensed on D+.

Step 4: Load Adjustment and Enumeration

If a PD detects that it is connected to a DCP, it may adjust its load and draw up to 1.5 A.

If a PD detects that it is connected to a CDP, it may adjust its load and draw up to 1.5 A.

A PD that has sufficient power to operate at the time of connection must enumerate when connected to an SDP or CDP within one second (TSVLD_CON_PWD).

A PD that is in a dead battery state must be able to power on and enumerate when connected to an SDP or CDP within 45 seconds (TSVLD_CON_WKB). If a PD is connected to an SDP and cannot enumerate within 45 seconds, it must reduce its charging current to 2.5 mA (ISUSP) for the duration of the connection until it can power on and connect as a USB device.

BC1.2 "Handshake" Diagrams

It is simple to observe and interpret the results of the BC1.2 handshaking between a PD and a port using an oscilloscope.

If a PD that supports BC1.2 with data and charging connects to an SDP, the waveform on D+ and D- will appear on an oscilloscope.

SDP_HANDSHAKE_DIAGRAM(1).png

If a PD that supports BC1.2 with data and charging connects to a DCP, the waveform on D+ and D- will appear on an oscilloscope.

DCP_HANDSHAKE_DIAGRAM(1).png

If a PD that supports BC1.2 with data and charging connects to a CDP, the waveform on D+ and D- will appear on an oscilloscope.

CDP_HANDSHAKE_DIAGRAM(1).png

Additional Notes About BC1.2 and PD Charging

PD Operation and Responsibilities

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. Following the completion of the battery charging handshake, a PD may draw current at any level up to the detected maximum level for as long as the connection is maintained. If connected to an SDP, the PD must respect the current draw limits based on the host's configuration of the PD, the data rate of the connection, and the suspend state.

Summary of Rules:

  • A PD that connects to a CDP or DCP is limited to 1.5 A (ICDP).
  • A PD that connects to an SDP at USB3.x speeds is limited to 150 mA (IUNIT) current draw while connected but not yet configured by the host.
  • A PD that connects to an SDP at USB3.x speeds may be permitted to draw up to 900 mA (ICFG_MAX) by the host after enumeration and configuration is complete.
  • A PD that connects to an SDP at USB2.0 speeds is limited to 100 mA (IUNIT) current draw while connected but not configured.
  • A PD that connects to an SDP at USB2.0 speeds may be permitted to draw up to 500 mA (ICFG_MAX) by the host after enumeration and configuration is complete.
  • A PD that connects to an SDP must limit current draw to 2.5 mA (ISUSP) while the bus is in the suspended state.

Dynamically Enabling/Disabling BC1.2

A charging port may only switch modes of operation (i.e., switch from CDP mode to SDP mode or vice versa) by turning off and discharging VBUS, switching modes, and re-enabling VBUS. This will simulate a physical disconnection (from the PD's perspective). This will cause an interruption of the data connection. There is no mechanism for switching modes while maintaining an active data connection.

When switching modes, once VBUS has been switched off and VBUS voltage discharged below 0.7 V (VBUS_LKG), a port must leave VBUS turned off for a minimum of 100 ms (TVBUS_REAPP).

Over-current Protection

A charging port is not required to attempt to enforce or enter a Constant Current mode to limit a PD which is exceeding the negotiated limit. A charging port is required to implement detection and protection against over-current events, but a current limit is not specified by any USB specification. A charging port is minimally required to protect its own system hardware from damage against a hard VBUS short to ground.

A DCP may attempt to automatically re-enable power to the port following a fault without a power cycle or external stimulus, but it is not required to do so.

A CDP charging port must be able to recover and re-enable VBUS within two seconds (TSHTDWN_REC) after a fault event.

VBUS Voltage Requirements

A charger is required to maintain VBUS within the range of 4.75 V - 5.25 V (VCHG) is measured at the charging port's USB connector receptacle as long as a PD remains within the maximum current draw limit and load application/removal slew limits.

BC1.2 and USB Type-C™ Ports

BC1.2 is not only permissible but it is highly recommended for Type-C™ ports to ensure backward compatibility with Type-C adapter cables (such as Type-C to MicroB or Type-C to Lightning cables). No special handling or adaptation is required. BC1.2 operation may effectively operate in parallel to any Type-C or USB Power Delivery functions. Note that Type-C connector specification has expanded the permissible 5 V range to 4.5 V - 5.5 V (referred to as vSafe5V in Type-C specification).

© 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.