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.

TPS25751: Moisture detection logic in PD Controller

Part Number: TPS25751

Tool/software:

Hello,

We are utilizing moisture detection in the TPS25751 and have some specific requirements from our UI/UX department. Here is the desired behavior:

Our Bluetooth speaker can detect moisture in the USB-C port and disable its functionality for both charging and power bank mode. The behavior we want to achieve is as follows:

  1. Moisture appears in the port.
  2. The MCU detects that no cable is connected to the port and does nothing (this refers to a cable connected to a device such as a power bank, laptop, or phone, not a free cable).
  3. The user attempts to connect a cable (e.g., a power bank) to the USB-C port.
  4. The MCU detects this and triggers both an audible and visual alert to inform the user to disconnect the cable.
  5. Once the cable is disconnected, the MCU disables the warning indication, and the speaker continues to function.

To meet these requirements, the MCU needs to poll the PD controller to check if a USB cable is connected, even when moisture is present in the port. Currently, the PD controller "disables" the USB port and reports that no USB cable is connected, even when it is, which does not align with our UI/UX requirements.

We need the ability to retain information about the USB cable status (connected/disconnected) so that the MCU can react accordingly.

Best regards,
Anton Glukhov

  • Hi Anton, 

    If liquid/moisture is detected on the Type-C port, TPS25751 sets the CC pin into a Hi-Z state, similar to if you were to set the TypeC State Machine [1:0] field in Port Config register 0x28 to Disabled (see screenshot below). 

    Just to clarify, you need TPS25751 to be able to mitigate/disable the port when liquid/moisture is detected as well as the ability to detect if a connection is made during liquid detected state? 

    Thanks and Regards,
    Raymond Lin

  • Hi Raymond,

    Exactly! We need to keep the indication while USB cable is plugged. MCU should be able to "know" that the USB calbe plugged in even when moisture is detected.

    Best regards,
    Anton Glukhov

  • Hi Anton, 

    Let me look into this more, I think there is a way to implement this requirement but it will require some EC logic. Just to further clarify, this is required for any new connection whenever liquid is already detected on the port correct? 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond,

    Yep, this is required for both: any new connection and the current connection.

    Best regards,
    Anton Glukhov

  • Hi Anton, 

    One suggestion is to disable the "Enable Corrosion Mitigation" bit 81 in Liquid Detection Config register 0x98. When this bit is disabled, TPS25751 does not automatically disable the port but will still notify the EC through INT or GPIO that liquid is detected on the port. The EC can then enable the mitigation bit if deems necessary which TPS25751 will then disable the port after the next sampling period. 

    However keep in mind once mitigation is enabled (and as long as mitigation stays enabled), TPS25751 will not be able to detect any new disconnection/connection as long as liquid is detected on the port. What you could do (which requires EC logic) is to enable/disable this mitigation period over a period of time when liquid is detected or not. When mitigation is disabled TPS25751 will be able to detect connections. 

    Thanks and Regards,

    Raymond Lin