This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS65987D: Trying to integrate with TPS55288

Part Number: TPS65987D
Other Parts Discussed in Thread: TPS55288, TPS65987, TPS65981, TUSB8043

I have successfully been able to program the EEPROM of the DUO source board from my I2C master host and see it work using the EVM project for the "Application customization tool" generating C headers.  Now on our custom board, I can do a similar program and verify of the EEPROM for the TPS65987 and verify through 4CC commands that the flash verifies, and can read the expected firmware version from I2C2 as needed.  But the custom board has a TPS55288 VBUS supply that needs to be controlled.  The TPS65987 is only in source mode, no sink is needed.  I have been able to directly interface with the TPS55288 (by switching the host over to its I2C bus) and can set the output voltage to enabled, verify supply operation via register readback, and see the voltage at the supply output.  But on the power-on event of the PD controller, I do not see the power enabled in the TPS55288 by the TPS65987.  I have followed the app note here https://www.ti.com/lit/an/slvaeq7/slvaeq7.pdf?ts=1669998407093&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTPS65987D

It seems like something fundamental that keeps the event for power-on from writing.  I have the 8 I2C controller events in indexes 1-8 as per the app note.  I also see some I2C activity at power-on and I believe I see the 0x74 address written, but nothing after the ACK bit, just a stop condition, which is odd.

I have the TPS55288 on the I2C1 bus of the TPS65987 and the TPS65987 is controlled via address 0x38 after programming as expected from the host.  TPS55288 is on address 0x74.  

Do you have an example project for the application customization tool that I can compare?  I am using the following version.

TPS65981_2_7_8 Application Customization Tool

GUI Version : 6.1.3

Date of release : March 28, 2022

Regards,

Dave

  • Hi Dave,

    It sounds like you followed the correct steps and you should be using the correct tools.

    Are you using the TPS65987DH? (You should be able to see a DH on the chip)

    I do not see the power enabled in the TPS55288 by the TPS65987. 

    How are you verifying this?

    Can you share the .pjt file you are using?

    Can you share the schematic for your custom board? If you are not comfortable sharing this on a public forum you can share it over a private message.

    Do you have an example project for the application customization tool that I can compare? 

    We do not have a 55288 + 65987 Project for that GUI currently.

    Thanks and Regards,

    Chris

  • Hello Chris,

     

    This is the TPS65987DH we are using.

     

    I can verify the TPS55288 registers by enabling an I2C switch to the part from my host and reading the registers in the part after power-up.  There I found the output enable bit in register 6 was not set as the power-on event should do.  Today I have found that, if after power-up I send a Gaid 4cc command to the TPS65987, the controller will write successful commands to enable the voltage output to get 5V output at the regulator.  It also continues to write the register 0 voltage setting (not the other power-on registers, which makes me think it is the PDO 1 event) over and over about every 750mS.  That gets the buck-boost converter to output 5V, but now the power-path is still not enabled through the controller to the USB port VBUS.

     

    So the questions are why it didn’t send messages on cold start power-on but did after Gaid, and why it does not enable the power path through the controller to allow 5V through.

     

    The project file is attached.  How can I directly send you a schematic clip?

     

    Thanks,

    DaveSource_PDO_1_to_4.pjt

  • I also see a discrepancy between the Host Interface TRM and the Application Customization Tool.  The tool says the bits 6:0 of register 0x64 set the slave I2C address, but the TRM says for register 0x64 that those bits are in bits 7:1 and the bit 0 is to enable the I2C master for that slave.  Currently, the tool generates that byte as 0x74 per its definition, and that is what I read back.  Is the TRM wrong?

    Byte 1: Index 1 Slave Address Mapping - Sets I2C address associated with events for index

    1 7:1 SlaveAddr 7-bit I2C slave address

    0 SlaveEnable Enable/Disable of I2C Master for this slave. 0b Disabled 1b Enabled

    Thanks,

    Dave

  • Chris,

    I have solved the issue why at power up the TPS55288 was not enabled - it had UVLO pin connected to the TUSB8043 hub PWREN output to shut off vbus that way if requested via the hub, but that enable is slow to be active so the TPS55288 was disabled during initial writes.

    I still have an issue as to why the power path PP2 is not being enabled to allow the voltage through.  According to register 0x40, the lower byte is 0x20 which says the "PortType" is source, but the "PresentRole" is sink.  Can you point me to why this may be?

    Thanks,

    Dave

  • Hi Dave,

    I'll send you a friend request for the schematic.

    Could you provide a PD log while the during cable attach and during the failing 5V contract?

    Thanks and Regards,

    Chris

  • Hi Dave,

    Is the TRM wrong?

    Yes, it looks like the TRM is wrong here.

    I noticed when opening your project in the 6.1.3 GUI that the Configuration File Version is 6.1.2.

    There may be a version issue with the pjt file here. Can you try using the pjt file below.

    /cfs-file/__key/communityserver-discussions-components-files/196/Source_5F00_PDO_5F00_613.pjt

    I'll try testing your project on an EVM, but it looks like most things are correct.

    Thanks and Regards,

    Chris

  • Hi Chris,

    I see the same result with that file.  I can read 5V out from the TPS55288 at the cap that feeds PP_HV2, but nothing on the VBUS output.  Register 0x26 gives me 0x0000004000000000, which is all 0's where the PP switch status is reported.  I don't know why this wouldn't just turn on the switch after power-on to supply 5V.  I have similar settings that worked on the EVM.

    Thanks,

    Dave

  • I do still see (every 750mS) the repeating pattern on the I2c to enable 5V, as though trying to set voltage like a detach event.  In register 0x14 I see the PlugInsertOrRemoval event, and if I clear it the event comes back.

  • Hi,

    TI US in on holiday today, we will get back to you tomorrow when we are back in office.

    Regards.

  • We had the barrier Schottky diode incorrect and this caused the supply to not come up fully and thus triggered detach events each time the PP switch came on.