Tool/software:
I am working with the TPS25751 PD controller and need to implement dual role power switching based on the presence of an external 9V barrel jack.
My current setup involves:
-
A voltage divider followed by a buffer connected to the
VIN_3V3
pin of the TPS25751. -
When the barrel jack is connected, the divider provides 3.3V to
VIN_3V3
. -
When the barrel jack is disconnected, the divider provides 0V to
VIN_3V3
.
My desired power role behavior is:
-
Barrel Jack Disconnected: The TPS25751 should act as a sink, drawing 9V from VBUS.
-
Barrel Jack Connected: The TPS25751 should act as a source, providing 5V.
I understand that VIN_3V3
is the normal power supply input for the TPS25751's core circuitry. When VIN_3V3
is 0V (barrel jack disconnected in my setup), the chip enters a "dead-battery" state. In this state, it is powered from VBUS and is forced to act as a sink only, rejecting source requests. This sink-only behavior aligns with my requirement for the "barrel jack disconnected" scenario. I also understand that to enable the TPS25751 to source power after being in a dead-battery state, the Dead Battery Flag (in the Boot Flags register) must be explicitly cleared via an I2C command ('DBfg').
However, I am concerned about the implications and reliability of using VIN_3V3
as a dynamic logic input for this purpose.
My specific questions are:
-
Is it a robust and recommended practice to use the
VIN_3V3
pin in this dynamic manner (toggling between 0V and 3.3V) to control power role switching based on barrel jack detection? -
Given my desired behavior (sink 9V when barrel jack disconnected, source 5V when barrel jack connected), and assuming an external host microcontroller issues the 'DBfg' I2C command to clear the Dead Battery Flag, how reliably and quickly can the TPS25751 then transition to and maintain a sourcing role (5V)?
-
Would the more appropriate and reliable approach be to:
-
Provide a continuous, stable 3.3V supply to
VIN_3V3
? -
Utilize a dedicated configurable GPIO pin (e.g., mapped to the
Barrel_Jack_Event
as described in the Technical Reference Manual) for barrel jack detection? -
Configure the TPS25751's firmware (via the Application Customization Tool) to manage the power role switching based on the state of this GPIO and the
PORT_CONTROL.UnconstrainedPower
bit?
-
Any guidance or confirmation on the correct implementation for this dynamic power role switching scenario would be greatly appreciated. I attached an image of our implementation for this so any confirmation would also be greatly appreciated. Thank you!