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: Configuring and Flashing Issues

Part Number: TPS65987D

HI there,

I have built the TPS65987D into my design, the aim being to create a USB-C UFP, (sink only), that can negotiate up to 20V and 2.25A from a USB-C power source.

Firstly, when I plug my design in using the USB-C cable, and when interrogating it through I2C or SPI (using a TPS65981-EVM's FTDI programming module) - it seems to be readable and behaving as expected, and I can see the PD advertised by the power supply is read by the TPS65987D, using the TPS6598x Utilities GUI software.

However, it does not seem to negotiate for the 20V supply, even though I have set the ADCIN1 resistor-divider network and MISO=0 on bootup - which is the first thing that concerns me.

So in order to fix this, I have attempted to create my own application-specific version of the firmware using the Application Customisation Tool, version 5.1. However, when I flash this to the device (over SPI), it seems to be successful, but then the device seems to stop functioning. I can no longer see the "APP" firmware running on (this is now blank), and no I2C channel will respond. When I do an I2C scan, it reports that every I2C address replies (instead of just one or 2 as it should), and of course none of these work correctly.

I attempt to re-flash with the EVAL recovery .bin, but the same thing occurs and the device seems unusable still.

Can you please advise, or notify me of what I am doing wrong? In reality I don't want to do anything complex, just negotiate a higher voltage and current, so a custom application is hopefully not necessary, but I'd still like to be able to understand and recover the device.

Thanks,

Iain.

  • Hi Iain,

    Do you have a SPI Flash on your board? I would suggest loading a known good config onto your SPI Flash. You would need to remove SPI MISO from ground and connect the SPI lines to the SPI Flash in order to read the config from the flash. The TPS65987D would automatically load the configuration from the SPI Flash during its boot up process.

    Thanks,
    Eric
  • Hi Eric, thanks a lot for the quick response.

    Yes, I do have an SPI Flash on the board (a MX25L8006 as in the TPS65987D-EVM dev kit schematic which I have followed for most things).

    I am not sure why, but as soon as I first attempt to flash this via SPI using the FTDI-based programmer, it fails and then the TPS device becomes unresponsive, and no longer negotiates any PD contracts. I can't even recover using the EVAL .bin image. Any ideas?

    I have attached my schematics just in case I have missed something silly. NOTE - the R5 res-net now pulls all lines to 3v3, as opposed to the MISO line being pulled to ground as mentioned above (I have removed this pull-down).

  • Hi Iain,

    I noticed that the SPI Flash chip is powered from another 3.3V rail and not through the TPS65987D LDO_3V3. I would recommend connecting the SPI Flash to the LDO_3V3 rail to ensure we avoid any power sequencing issues with the PD controller and the SPI Flash.

    Thank you,
    Eric
  • Hey Eric,

    Thanks again for the reply and for the suggestion. I have tried powering the SPI Flash chip from LDO_3V3 as you suggest to try and resolve any potential latch-up issues, but unfortunately this has made no difference :(

    However, I think I may have discovered the issue - when looking at everything on a scope, I saw that the SPI CSZ line was not toggling as I expected when using the programmer (the one from the TPS65981-EVM) - after doing some probing I've found that the CSZ line is pulled hard to ground, even when I pull it up to 3v3 with a 3k3 resistor. Even when powered off, it is 1 ohm to ground. So of course there is no high-to-low transition of the CSZ line, and therefore the SPI transfer is not good.

    So I think this is either an assembly fault or damage to the FTDI IC. Will try and fix and see how I go.

    Thanks,

    Iain.

  • Hi Iain,

    This sounds like the FTDI chip may indeed be damaged. Please let me know how your further tests go.

    Thanks,
    Eric
  • Thanks Eric. Yes hopefully this is the reason. I'll order up another FTDI chip and replace it on the programmer.
    Do you know if TI sell these programmers separately? i.e. not part of the dev kit? In case I need to replace it.
    Thanks,
    Iain.
  • Hi Iain,

    Unfortunately, we do not sell these IC's separately. We only include the FTDI with the EVM. You could also use a Total Phase Aardvark to program the EVM if you have access to one of those.

    Thanks,
    Eric
  • Thanks for the info Eric.

    I'll try and replace the FTDI IC on the programmer, and let you know if I get anywhere with it.

    Cheers,
    Iain.