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
- 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?
- We reviewed the schematic checklist again and noticed we don’t have pullups on the following signals. Is this acceptable?
- I2C3_SCL, I2C3_SDA, I2C3_IRQ, and I2C2_IRQ
- We tacked on pullups to a failing board and they did not make a difference for this problem