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.

TPS65981: TPS65981 Programming on Board?

Part Number: TPS65981

Hi Team!

My customer has just received assembled boards with the TPS65981 and had a quick question regarding programing the chip.

They’ve been using the development kit to develop the programming, but are now trying to program the chip on our board.

Do both the SPI and I2C ports need to be connected to be able to Flash the firmware using the standard development board tools?

 

They’re not having success by just having the SPI port connected.

 

Thanks!

Peter

  • Hi Peter,

    To program the TPS65981 chip on the EVM, use the FTDI  board to flash the firmware using the TPS6598X Configuration Tool. The FTDI board should be a "USB to SPI adapter" communication in the GUI.

    The TPS6598X is a SPI Master that is connected directly to the SPI Flash IC which contains the application code after boot-up. Generally you would only need to use the SPI for programming. However, there is an option to perform FW update over I2C through an EC since the TPS65981 is an I2C slave. The steps to program over I2C are documented in SLVA783A.

    Regards,

    Jimmy Hua

  • Thanks Jimmy!

    My customer has the TPS65981 on their system's board (not EVM), will the above still apply or are there different steps to program this chip once assembled in their end product?

    -Peter
  • Hi Peter,

    Yes the above statement still applies. The latest Configuration Tool only enables SPI flashing onto the TPS65981 IC. If there was no success with programming through SPI, that might be an indication that there is something on the system's board that is holding up the SPI lines.

    Regards,
    Jimmy
  • Thanks again Jimmy!

    Looks like they had an error with MISO and MOSI, they are able to program now.

    Next question. They are not using the external FETs, only using the PP_HV pins out to power our system.
    Should the SENSEN and SENSEP pins both be connected to VBUS in this configuration?
    Or do they lose current measurement if there’s no sense resistor connected?

    Thanks for the support!
    Peter
  • Hi Peter,

    The SENSEN and SENSEP pins are intended for sensing the external high voltage power path. If not used, it is recommended to short those pin to VBUS.

    PPHV internal to VBUS current can be digitally read through the ADC only if the device is sourcing power. The ADC will not accurately reflect the current measured through PPHV internal to VBUS if the device is sinking power.

    Regards,
    Jimmy
  • Thanks Jimmy!

    My customer is still having a hard time getting the Application Customization Tool programmed with the correct power setup. They're concerned they may need to add other external logic. Can you review the scenarios below and see the issues they're having that are bolded?

     

    Scenario1: PDO 1 setup to negotiate 5V 3A from a power supply

    • If PDO1 is negotiated (Apple power supply)

      • Turn on Green LED via GPIO2

      • Turn off Red LED via GPIO3 (default on)

      • Turn on battery charging via GPIO5 (default off)

      • Turn on PP_HV

      • USB communication should be possible

    • If PDO 1 is not negotiated (weak power supply or laptop USB2.0 port)

      • Turn on Red LED via GPIO3 (default on)

      • Turn off PP_HV

      • USB communication should be possible

    • If USB slave (thumb drive) is attached to our system, assume “UFP (0) / DFP (1) Event” is detected

      • Turn on USB_ID_DET via GPIO4

        • I can’t seem to select GPIO4 in the “GPIO Event Map” area even tough Display Port Capabilities (0x51), Enable Display Port SID (Bit 0) is unchecked.

    Scenario2: System is battery powered and there’s no USB plugged in

    • Turn off Red LED via GPIO3 (default on)

    • If USB slave (thumb drive) is attached to our system, assume “UFP (0) / DFP (1) Event” is detected

      • Turn on USB_ID_DET via GPIO4

    Once I enable a GPIO event, it won’t let me choose “Disabled”. For example below, GPIO 5 was setup as “Disabled” in the “Mapped Event” field, once I chose something else from the pull-down it no longer let me choose “Disabled”.


  • Hi Peter,

    I'm still trying to understand the issue and have several questions.

    • Do you have any specific information on what the correct power setting/requirements are?
    • What application are they trying to achieve when using the TPS65981EVM?
    • Looking at the bolded bullet points, does this mean that the customer is not seeing this happen?
    • If possible, can you ask the customer to provide the PD traffic between DFP and UFP so I can see what is happening?

    Regards,

    Jimmy

  • Hi Peter,

    The PP_HV power path on the TPS65981 can either source or sink 3A as shown in figure 20 of the datasheet. When a power supply is connected to the TPS65981, the device will act as a sink. If a  PDO contract has been negotiated, PP_HV is expected to turn on, providing the power path between VBUS to PP_HV into the TPS65981. If a PDO contract has not been negotiated, PP_HV path can still be expected to be on.

    The GUI locks GPIO4 for general use of HPD signals and as a result it will not appear in GPIO Event Map even if the bit 0 ,"Enable Display Port SID", option in Display Port Capabilities is unchecked. It's recommended to use the other remaining GPIO settings for your intended application.

    Regarding the issue of the "Disabled" option not appearing after a GPIO event has been disabled and set again, please make sure to have the latest updated firmware of the TPS6598X Application Customization Tool (Version 3.08). I was not able to recreate this problem when using the latest Application Customization Tool available.

    Regards,

    Jimmy

  • Hi Jimmy,

    More questions from my customer.

    Can you please respond back regarding: I have the PD0 1 profile setup to request 5V 1A, but still I don’t see GPIO#2 getting turned on as setup in the screen captures below.

    It seems I can’t get a “PDO contract” to be negotiated. I know the power supply is 5V 2.4Amp capable, but when I set PDO1 to negotiate 5V 1A, I can’t get one of the GPIOs to react to it. This was in the traffic logs I sent. What else might I do to debug this and have the chip toggle one of the GPIOs only when I have a preferred power supply connected?

     

    Am I setting up the PDOs correctly?

    Thanks!

    Peter

  • Hi Peter,

    Can you confirm that you entered "Debug Mode" in order to see the GPIO react to a PDO contract 1 negotiation? The screen capture that was provided looks like the settings can still be configured and programmed. Make sure that when the test for PDO 1 profile setup to request 5V 1A is performed, the GUI is in Debug Mode and the the intended GPIO Map Event is observed.

    Regards,
    Jimmy
  • Hi Jimmy,

    Does that mean they need to connect I2C?

    They can make the GPIOs toggle using functions like the cable direction, but not PDOs

    Best,

    Peter

  • Hi Peter,

    If they were able to successfully program the board using the FTDI through SPI, then they should be able to access the Debug Mode option of the GUI to access any set GPIO event. I'll go back to check and see if there are any issues experienced with new firmware. One way to check is to get the TPS65981EVM and do the exact same test and access the Debug Mode option.

    Regards,

    Jimmy