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: Access to the GPIO's

Part Number: TPS65987D
Other Parts Discussed in Thread: BQ25703A,

Hi Everyone,

I am working on a project involving battery charging with usb type C. My goal is currently to achieve battery charging and USB OTG on a 2S battery using the TPS65987D USB type C controller, a BQ25703A battery charger and MSP430FR3211 to control these two devices. I need to have access to the TPS65987D GPIO's to inform my MSP430 when an event occured. Unfortunately the TPS65987D evm doesn't give any access to the GPIO's.Could anyone guide me on how to access those GPIO's?

Thanks in advance for your help,

Best Regards,

Foucauld

  • Hi Foucauld,

    I would suggest looking at TIDA-01627. It is a Power Bank reference design that uses the TPS65987D and BQ25703A. This design uses the I2C master capabilities of the TPS65987D to control the BQ25703A. You would not need to use the MSP430 in this implementation.

    If this answers your question, PLEASE select This resolved my issue

    Thank you,
    Eric

  • Hi Eric,

    Thanks for your response, our system would use the MSP430 as a main controller for other device, so the goal was really to use it as a master I2C communicating with many devices, so unfortunately we cannot get rid of the MCU. Do you have an other idea?

    Foucauld
  • Hi Foucauld,

    Will you have a SPI Flash on the board for the TPS65987D? You can create your configuration for the TPS65987D using the TPS6598x application customization tool on TI.com. During run-time you can read back the status registers of the TPS65987D with the MSP430 to determine what messages to send to the charger or other ICs in the system.
    Here is a link to the Host Interface TRM that explains the register map of the TPS65987D: www.ti.com/.../slvubh2b.pdf

    Thank you,
    Eric
  • Thanks for your response Eric. Right now I can read the appropriate registers on the TPS65987D with I2C. I think what is your saying is that I can use a polling Technic to read the appropriate registers on the TPS65987D at a certain frequency. Could you guide me on what frequency could work in compliance with type C standard?

    Foucauld
  • Hi Foucald,

    You can set up I2C interrupts to alert the MSP430 when an event on the PD controller happens. For example, you will want to alert the MSP430 when there is a connection made, and when the VBUS voltage needs to change. With this information you can then program the BQ25703A to change the OTG voltage or charging characteristics.
    You can find the USB PD Spec at USB.org.

    Thank you,
    Eric
  • Thanks a lot Eric, how do you trigger the I2C interrupt? Does an event occur on the I2C_IRQ pin when an event happen on the PD controller?

    Foucauld
  • Hi Foucauld,

    That's correct. You can decide which interrupts you want to look for by enabling them in the Interrupt Mask register. Then when that interrupt event occurs, the IRQ line will be driven low indicating to the MSP430 that an event occured. The MSP430 can then read back which event was triggered through the interrupt event register and complete the appropriate action for that event.
    Once the MSP430 has completed the action, the interrupt can be cleared by the MSP430 through the interrupt clear register so that IRQ will return to 3.3V.

    Thanks,
    Eric
  • Ok thanks Eric, I will try it this way!

    Foucauld