Voltage negotiation on the USB-C interface


So if you plug a USB-C charger into a phone or laptop, it will send 5 volts by default, but then the device can ask for a higher voltage? How does the communication protocol work, and how do both devices know what the other’s maximum voltage rating is? Also, what pins is this communication being made on?

In: Technology

There are a few different standards here. The first USB standard provided any device with 100mA of power but when the data connection was established the device could ask for up to 500mA, this was increased to 900mA in a later version. The communication would happen over the USB data link as separate control packets. But when people began using USB for charging this made the chargers and batteries a bit expensive as they had to have a full USB chip installed. So we came up with a simpler USB Battery Charging standard. In this standard the charger puts a resistor across the data lines and the device will be allowed to charge up to 1.5A or as much as the charger is able to supply whichever is smaller. It detects how much the charger can supply by detecting the voltage drop as the charger struggles to supply enough current. This may sound more complex but you can design such hardware using very simple electronic components without any logic circuits in them.

The latest standard is the USB Power Delivery standard. This use a separate data channel over the same lines as the power is transferred so that the power and data logic can be physically separated. In USB-C there is also a dedicated line for power communication. Using this data channel the devices can negotiate a power setting and test how well the wires and connectors handle the increased currents.

Note however that there are plenty of chargers, batteries and devices that do not follow the standard and either have their own proprietary power delivery standard or does not have any standard and just hopes nothing catches fire.