cancel
Showing results for 
Search instead for 
Did you mean: 

100W protected sink with dead battery and multiple power sources

RMas
Associate II

My application will manage multiple power sources (battery, DC, UCPD) and have a TCPP01-M12 protecting CCx lines. With this configuration the STM32G4 could already be powered by DC or battery, but must be able to negotiate 20V on VBUS. I want to avoid having the MCU do any voltage sensing on VBUS or having logic to turn off TCPP01-M12 protection. I also want to make sure USB protection is active regardless of MCU state.

DB/ will be pull high by Power management (this is to detect actual dead battery or no power). VCC will be pulled high by LDO from VBUS which means TCPP01-M12 showed dead battery and VBUS 5V was provided.

Since there is already 5V on VBUS at this point do I also need to show dead battery at MCU in order for negotiation for 20V to happen? (Assuming the MCU is already powered or VBUS turns MCU on via power management)

If so, what is the correct way to connect UCPD1_DBCCx pins? The documentation says they need to be shorted to UCPD1_CCx pins, but the diagram shows connected to ground.

0693W00000Y7TiCQAV.png0693W00000Y7TiMQAV.png0693W00000Y7ThiQAF.png

2 REPLIES 2
HFISTM
ST Employee

Hello @RMas​,

Both statements are correct.

In your case, when using a TCPP01, the dead battery feature is directly handled by the TCPP01, thus the DBCC1 and DBCC2 pins of the STM32 are not used (connected to ground).

The other STM32 documentations (for example Reference Manuals, RM0444 or AN5225) are related to the STM32 itself, and provide information on how to wire the STM32 by itself, WITHOUT an external type-C protection component like the TCPP01. In this case, the dead battery feature is directly handled by the STM32 via its dedicated pins, and UCPD_DBCC1 must be connected to UCPD_CC1 and UCPD_DBCC2 to UCPD_CC2.

So in your case, with a TCPP01 you should follow the figure 43 you sent with your post.

The dead battery behavior will be handled physically by the TCPP, depending on its DB pin which would be controlled by a GPIO on your STM32 (See section 6.5 "How to handle dead battery (DB) condition with the TCPP01-M12" of the datasheet).

Best regards

Thank you so much for your answer!

Based on what you said it sounds like I can also use UCPD_DBCCx as GPIO (doc says to tie them low with 5.1K ohm resisters in order to use).

Is it safe to power VCC and DB/ in the manner I'm describing (to free up pins and avoid logic for turning it off)? The assumption is that if DB/ is low then there is no power at power management, and if VCC is low then DB negotiation has not occurred.

My final question may be a silly one. Is it possible for MCU to negotiate 20V before it is powered on by power management? I've only just begun to look into the PDO and configuration behind this negotiation but as i understand it's a very difficult thing to setup.