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: about 10% of PCBAs using TPS65987D do not supply any power

Part Number: TPS65987D

Unfortunately, we have been having some issues with the TPS65987D.  We discovered a possible solution, but we are not sure why it works better than our original design. 

Here is a description of the problem and the possible solution.  Your inputs would be greatly appreciated:

Design (I can forward schematic via email)

  • Configured as a sink only
  • NOR Flash is programmed and verified
  • ADCIN1 and SPI_MISO = 4.75k PU to LDO_3V3 (BP_NoWait + Safe Configuration)
  • ADCIN2 = 4.75K PD
  • HRESET = 4.75K PD
  • I2C1 and I2C2 pins = 4.75K PU to LDO_3V3
  • I2C3 pins + GPIO pins = float
  • USB 2.0 pins = float
  • VIN_3V3 power is not supplied initially, so we rely on the dead battery feature and VBUS

Problem

  • ~90% of our PCBAs function as intended (15V @ 3A).
  • device powers up from VBUS
  • LDO_3V3 is generated by device
  • device reads configuration from SPI Flash
  • device negotiates contract with charger
  • PP_HV1 supplies 15V to our circuitry
  • ~9% of our PCBAs do not supply any power
  • device powers up from VBUS
  • LDO_3V3 is generated by device
  • no activity is observed on SPI bus to SPI Flash (all SPI signals are high)
  • no negotiation is attempted by device
  • no voltage is present on PP_HV1 (not even 5V from VBUS)
  • ~1% of our PCBAs have other behavior
  • 1 board
  • Device powers up from VBUS
  • LDO_3V3 is generated by device
  • Activity on SPI bus observed for one cable orientation
  • Activity on CC lines for both cable orientations but negotiation for only one orientation
  • Voltage is present on PP_HV1 for one cable orientation
  • 1 board
  • Device powers up from VBUS
  • LDO_3V3 is generated by device
  • Intermittent SPI bus activity
  • Sometimes negotiation is attempted and succeeds
  • Device will achieve 15V contract and hold voltage
  • Device will achieve 15V contract then reset (VBUS goes to 0V) and attempt to load configuration again
  • Device never achieves 15V contract
  • Device achieves 20V contract when we ask for a max of 15V
  • Voltage is sometimes present on PP_HV1

Possible Solution

  • Set ADCIN1 = 0.33 (BP_ECWait_Internal + Infinite Wait)
  • device powers up from VBUS
  • LDO_3V3 is generated by device
  • device reads configuration from SPI Flash
  • device negotiates contract with charger
  • PP_HV1 supplies 15V to our circuitry

Questions

  1. Why would setting ADCIN1 to 0.33 cause the device to read the configuration from SPI Flash while setting it to 1 prevented it from reading the configuration on about 10% of the boards?
  2. We reviewed the schematic checklist again and noticed we don’t have pullups on the following signals.  Is this acceptable?
    1. I2C3_SCL, I2C3_SDA, I2C3_IRQ, and I2C2_IRQ
    2. We tacked on pullups to a failing board and they did not make a difference for this problem
  • Hi Viktorija,

    I would recommend using the BP_NoWait setting. It seems like you were originally doing this. However, I would recommend ensuring there is a divider present on the ADCIN pin. The EVM uses a 10K/100K divider to make for a 0.909 divider ratio on the ADCIN pin. I would suggest using this divider, as this issue does not occur on the EVM.

    Thanks,
    Eric

  • Eric, Per customer:

    We followed your guidance and we believe it fixed our problem.  We have a few follow up questions:

    1. Why do you specifically recommend BP_NoWait?
    2. Why was a resistor divider on ADCIN1 required instead of a short to LDO_3V3?  Is this setting reserved for a factory test mode or something?  The datasheet implies DIV MAX can equal 1 on Table 5, but I do see the note stating to center the nominal value.   We would like to know the root cause. 
    3. We want to set ADCIN2 to 0.  We used a pulldown resistor, not a voltage divider.  Do we need to make this a divider also?
    4. Can we let these pins float (we did not include pullups on these signals and do not want to spin our board) - I2C3_SCL, I2C3_SDA, I2C3_IRQ, and I2C2_IRQ?

    Thanks!

    Viktorija

  • Hi Viktorija,

    1. Since the customer has an SPI-Flash on their board, there is no need to do any of the other boot configurations and instead, it is best to go directly to the SPI-Flash configuration.

    2. A divider on the ADCIN pins will help with removing any noise on that pin. It is suggested to act as a filter on that pin and improves the stability of the ADCIN reading. 

    3. Connecting ADCIN2 directly to the ground should be no issue. 

    4. Yes, you can leave these pins floating if unused.

    Thanks,
    Eric