cancel
Showing results for 
Search instead for 
Did you mean: 

STUSB1602 SPI interface

Hello there,

I am currently analyzing the STUSB1602 chip and the P-NUCLEO-USB002 eval kit. I have come across a topic I am not fully certain about. Its the SPI interface for the BMC communication. I cannot understand either it is necessary in all applications, or only if I want to exchange some specific data between devices over CC line? For example, if I intend to create a sink only device, so I have to connect the SPI lines and provide any data from the MCU? I would appreciate all help.

1 ACCEPTED SOLUTION

Accepted Solutions
Benoit FORET
ST Employee

not yet. This is a reference design: Altium design files are available on line for fast duplication: STREF-SCS001V1.

But I can ship one to you: just share with me your address via private messaging (accessible via the message button when pointing my name with the mouse).

Benoit

View solution in original post

47 REPLIES 47
Benoit FORET
ST Employee

​Hello Lukasz,

basically, STUSB1602 integrates:

  • a stand-alone USB type-C state machine,
  • and the PHY layer (up to BMC coding) of the USB PD protocol stack. The upper layers of the stack must be implemented into an MCU, and the interconnection between the Software (High level layers) and the Hardware (low level layers) is achieved through this dedicated SPI interface (very convenient in case of incoming message).

Therefore,

  • for simple connection and negotiation at 5V, the USB-C FSM can manage it autonomously,
  • but for true USB PD negotiation (above 15W), or for sending Vendor Define Messages (VDM) from one side to the other side, the PD protocol is required and it is run from the MCU through the STUSB1602 companion chip.

Hope it helps,

Rgds,

Benoit

Hi, thank you for answer.

Let me specify more the issue of my concern. Lets say the main MCU is off, since battery is fully discharged. My device is "device only", so I will never charged, just be charged. So the MCU is off and an USB C charger is connected now. How will the STUSB1602 react since it cannot communicate using SPI? If the charger is capable of providing 20V, 2A, will it utilize it?

Does the MCU really need to talk with the STUSB1602 at any point if it only needs to obtain current in all voltage range? Also, I am not talking configuration wise using I2C- thats OK. Only about SPI. I would appreciate further explanation.

Benoit FORET
ST Employee

Hello,

With MCU + STUSB1602 as a companion chip, the system can only negotiate 5V input power in "dead battery" state​ (ie.the MCU and the remaining application has no power, only STUSB1602 can wake up). Battery needs to be charged at 5V until there is enough energy to Power ON the MCU, run the PD stack in order to re-negotiate for higher power if available from the source.

If you need a fully standalone USB PD controller able to negotiate higher power from dead battery state, let me advise STUSB4500 (this is a SINK only device, not dual role). This product does not need external MCU support to perform USB PD power negotiation.

Rgds,

Benoit

I see, thank you for information. I will check that chip out.

So, if for example the the source is not able to provide 5V, but only 20V, the device would never wake up?

Benoit FORET
ST Employee

​As per USB-C/PD standard, devices (SOURCE and SINK) must always connect themselves at 5V (type-C mode) before exchanging power profiles (PDO) via USB PD protocol and agree to transition to higher voltage. If a device (either a SINK or a SOURCE) does not respect this rule, STUSB controllers will not close their respective power path in order to self protect their application from a non-compliance of the attached device.

Short demo about STUSB4500 negotiation capabilities (dead battery; no MCU) available here:   https://youtu.be/GXREJP8f5x4

bye

Hello,
Understood, thank you. I need that stick from the video then. The ST website doesnt say either it is available from the distributors. Do you know how can one sample it?
Benoit FORET
ST Employee

not yet. This is a reference design: Altium design files are available on line for fast duplication: STREF-SCS001V1.

But I can ship one to you: just share with me your address via private messaging (accessible via the message button when pointing my name with the mouse).

Benoit

Hello,

Yes, just notice them. Will be really helpful in the end design. PM'ed you, thank you for help!

Hello Benoit,

just wanted to clear up one thing after a preliminary test of the sent device. I did not program it via I2C at all yet. Here is a quotation from this article: https://blog.st.com/stusb4500-usb-c-controller-charging/?fbclid=IwAR3I2vLXz3O0i-904sLIQxhiRx_9NXdra08Uu7dxZhgMbvAwnFrxCXdk2cA

In fact, we ship the STUSB4500 with the standard 5 V, 15V, and 20 V profiles to ensure that the IC will support the most common sources out of the box.

So I am using Dell Precision 7730 at work with an USB C docking station. Using an USB C to USB C certified cable, I have connected the STREF-SCS001V1 to the docking station at first and to the laptop after. In both cases, the voltage present on the output pins were around 5 V. I am 100% sure that the docking station supports higher voltages to charge the laptop properly. Not sure either the laptop can provide more than 5 V on USB C port.

Would you recommend any test cases for this?