This document describes the steps that are necessary to implement a USB-PD source with four different voltage levels using TPS65987D as PD controller and TPS55288 as buck-/boost converter.
When implementing a USB-PD source as part of a system, the problem of the right power supply comes up. When the typical voltage levels of 5 V, 9 V, 15 V and 20 V should be supported and a wide input voltage range is needed a buck/boost topology is a good choice to go in that case. To switch the output voltage of any converter different methods can be used. Simple adjustable regulators allow changing the feedback network or injecting a voltage there. Other devices have a communication interface like I2C that allows changing the feedback ratio or the reference voltage to change the output voltage.
Regulators with an internal feedback, that use a resistor for setting the voltage often sample the resistance value only once at power up and cannot be used as there is no way to change the voltage during runtime.
The TPS55288 used here has an I2C interface that allows changing the feedback divider or the reference voltage.
Before explaining the commands that have to be sent to the TPS55288, let’s have a closer look at the USB-PD TPS65987D and USB-C.
As mentioned before USB-C PD can support multiple voltages and has a reversible connector. So it is necessary to have some mechanism for negotiating the voltage and detect how it got connected, so the signal can be multiplexed the right way.
Therefore the CC-line (communication channel) is introduced. This line is present two times as CC1 and CC2. These two signals are physically located on the connector in a way so reversing the connector will lead in reversing the CC lines. In normal case, CC1 will connect to CC1 and same with CC2. When connected in reverse, CC1 will connect to CC2 and vice versa.
The USB PD controller detects this and can report this. But on these CC-lines also the negotiation about the power takes place.
When connecting a device a VBus voltage of 5 V gets supplied before any communication takes place over the CC-line. The source then advertises its capabilities (Source PDOs: Power Delivery Objects) and the sink selects one and requests it. When the voltage level is negotiated, the source switches the voltage to the selected level.
The TPS65987D needs a way to signal to a voltage regulator the voltage level that has been negotiated. The successful negotiation creates an internal event, which can be used to trigger actions. These actions can for example be used to set GPIOs or send I2C messages.