SLVAEQ7 April   2020 TPS55288 , TPS65987D


  1.   USB Type C Power Delivery Source with TPS65987D and TPS55288
    1.     Trademarks
    2. 1 Introduction
    3. 2 Implementation
      1. 2.1 GPIOs for setting voltage
      2. 2.2 I2C for setting voltage
    4. 3 Test Results
    5. 4 References

I2C for setting voltage

Another way is setting the configuration through I2C. The TPS65987D can act as I2C master and send out messages at certain events. When using the “Application Customization Tool” there are several steps necessary to set this up.

Figure 1. Enable I2C Master

First it is necessary to enable one of the I2C ports as master. This is done through the “Global System Configuration” by enabling “I2C1 Enable as Master”. In Figure 1 it is shown how this can be done in the customization tool, when using I2C1 for communication with a voltage regulator.

Figure 2. Configure I2C Address

Next necessary step is as shown in Figure 2 to configure the address of the connected slave for the I2C port by setting this in “I2C Master Configuration”. Here for the first I2C slave it has to be configured to use I2C1 and the address of the connected regulator, in this case 0x74.

Figure 3. Configure Binary Indices

In the “App Config Binary Data Indices” shown in Figure 3 it is needed to set the “Port 1 I2C Record Start Index” to the first index used (here it is one) and the “Number of Indices” to the amount of configured I2C messages. Make sure to set useful and correct values here, otherwise it might not work as expected.

Figure 4. Configuring I2C Master Events

With this the data that has to been sent out can be configured in the “I2C Master Events” tab, this tab is accessible from Settings -> Show I2C Master Events Table. In Figure 4 this screen is shown, make sure to start with index one and set the right data length and address. The TPS55288 needs some initial configuration after power up. It is possible to use the “Power On Reset” event for initial configuration of the buck-/boost regulator. If multiple messages have to be sent out, simply use several indices with the same event. The messages will then be sent out one after another. The first configuration is shown in the screenshot above, the others have to be added in similar manner in the next indeces.

For the TPS55288 three messages are defined with the “Power On Reset” event:

  • Setting VRef to 0.282 mV for 5 V output, Data 0xd200 with a length of 3
  • Selecting the divider 0.0564, Data 0x0304, Length 2
  • Enabling the output, Data 0xa006, Length 2

This will make sure that the TPS55288 always starts up with 5 V at the output. Next step is to configure the different voltages. The supported voltages that are advertised are configured in “Transmit Source Capabilities” and will trigger a “Source PDO x Negotiated” event.

These events have to be configured in the “I2C Master Events”. In this example the VRef is changed according to the selected PDO:

  • Source PDO 1 (Set to 5 V): Data 0xd200, Length 3
  • Source PDO 2 (9 V): Data 0x19a00, Length 3
  • Source PDO 3 (15 V): Data 0x2c500, Length 3
  • Source PDO 4 (20 V): Data 0x3bf00, Length 3

With this configured, the TPS65987D will change the output voltage as negotiated when connecting a power sink. In addition to that, one more event should be configured to make sure, that the voltage will be at 5 V in the beginning. Therefore the detach event should send the same data as the PDO 1 event. Otherwise the output of the TPS55288 might be at higher voltage when connecting a sink.