cancel
Showing results for 
Search instead for 
Did you mean: 

USB Type C 15 W Sink Application with TCPP01-M12 and and STM32L4 MCU

LeonP
Associate

Hi,

I would like to use USB Type C for powering a microcontroller board with a STM32L476JG dedicated to driving different types of piezos. Depending on the driven piezos the overall power consumption of the board can reach up to 8 W.

I came across the TCPP01-M12 datasheet demonstrating a circuit for up to 15 W (5V/3A) of power in conjunction with microcontrollers without USB C Power Delivery hardware which nearly perfectly fits my requirements:

0693W000004KJhjQAG.jpg 

However, my problem is that I am nearly running out of free microcontroller pins and therefore I'd like to know whether it is really necessary to implement one ADC channel for sensing the VBUS voltage and one GPIO for enabling or disabling the VCC of the TCPP01-M12 as they are not marked as "not mandatory".

I understand that the GPIO1 is used in order to let the TCPP01-M12 start in dead battery condition but as far as I understood the way USB Type C without power delivery works is that in principle I just have to pull down both CC lines with a 5.1 kOhm resistor towards ground (as shown in the picture) and by sensing the voltage across the appropriate resistor I can easily determine the power capability of the USB host. The host immediately starts to deliver 5V at VBUS without any further interaction.

If this is the case why shouldn't it be possible to tie the VCC pin and the DB/ pin directly to 3.3V without the use of a GPIO? What advantage does the implementation of the dead battery condition inside the TCPP01-M12 has in this application in contrast to the pure implementation of two single 5.1 kOhm resistors towards ground on the CC lines? And last but not least: Why is it mandatory to sense VBUS when operating solely at 5 V and having an undervoltage Lockout inside the TCPP01-M12?

Thank you very much in advance!

1 ACCEPTED SOLUTION

Accepted Solutions
MROUV.1
ST Employee

Hello,

ADC is useful to sense the source capability with following thresholds :

  • 0.2V à attachment to 0.5A source
  • 0.66V à 1.5A source
  • 1.23V à 3.0A source

TCPP01-M12 provide ESD protection for STM32 ADC.

External 5.1k pull down resistors are mandatory when no UCDP peripheral on STM32.

TCPP01-M12 internal pull-down resistor are removed when DB/ is ‘1’ to close internal TCPP01-M12 switch on CC lines.

If 5V - 0.5A only, DB/ can be tie to GND, then, external 5.1k pull down resistors and ADC are no more needed. 

GPIO to enable TCPP01-M12 with VCC - /DB PIN are useful for battery powered system.

Indeed, when no Vbus detected, the TCP001-M12 is not powered by GPIO and does not consume any current.

Else, VCC and DB/ PIN can be tied to 3.3V for Vbus powered system.

When operating at 5V, an OVP on Vbus is mandatory as defective charger can be used with a Vbus voltage higher than 5V (charger HW-SW error or hack).

Regards,

View solution in original post

1 REPLY 1
MROUV.1
ST Employee

Hello,

ADC is useful to sense the source capability with following thresholds :

  • 0.2V à attachment to 0.5A source
  • 0.66V à 1.5A source
  • 1.23V à 3.0A source

TCPP01-M12 provide ESD protection for STM32 ADC.

External 5.1k pull down resistors are mandatory when no UCDP peripheral on STM32.

TCPP01-M12 internal pull-down resistor are removed when DB/ is ‘1’ to close internal TCPP01-M12 switch on CC lines.

If 5V - 0.5A only, DB/ can be tie to GND, then, external 5.1k pull down resistors and ADC are no more needed. 

GPIO to enable TCPP01-M12 with VCC - /DB PIN are useful for battery powered system.

Indeed, when no Vbus detected, the TCP001-M12 is not powered by GPIO and does not consume any current.

Else, VCC and DB/ PIN can be tied to 3.3V for Vbus powered system.

When operating at 5V, an OVP on Vbus is mandatory as defective charger can be used with a Vbus voltage higher than 5V (charger HW-SW error or hack).

Regards,