| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Autonomous USB-C PD controller for Power Sinks / UFP (i.e. on the device's side)
Simple solution for barrel connector replacement, by using instead a universal USB connector.
Certified by USB-IF consortium for USB Type-C and USB Power Delivery applications (USB-C & USB PD).
By default, a USB Type-C port on your hardware can get only 5V from a USB-PD Power Source (Host / DFP)
This product enables to automatically negotiate a higher voltage from the source (>5V) up to 100W (20V@5A).
For instance, if the power brick can provide 4 power profiles (5V, 9V, 15V and 20V), then the STUSB4500 will request the highest voltage available (20V).
Another example, if the power brick can provide 4 power profiles (5V, 9V, 15V and 20V) but the Application needs 9V to boot, then the STUSB4500 can be programmed to always request 9V.
This part can be easily implemented in a battery charger with USB-C input in the application.
The device doesn't need any software to run (it is autonomous), but it is possible to connect to this device by I2C to take control over the default device behavior, or to get the power information (Voltage/Current) of the attached power source at the other side of the cable. This is what is shown in the demo source code of the project's repository (stusb4500_firmware_src).
Device: STUSB4500 USB Type-C & USB PD controller
Manufacturer: STMicroelectronics
Typical Application: To get automatically higher power on Vbus at the insertion of USB-C cable.
USB power role: Power SINK
USB data role: Independent (works with no data, or with UFP (USB Device) that can be USB2.0 or USB3.1)
Note: If using the USB-C connector for both Power and Data (with STUSB4500 controller for Power communication on one side, and a USB Data controller on the other side), then the USB-C specification requires for a Power Sink application, that its initial data role (at cable attachment) is always UFP (Device).
Similarly, the initial data role of a Power Source application is always DFP (Host).
To change the role, it is needed to send a USB PD command: PowerRole_Swap or DataRole_Swap. (command not supported by STUSB4500)
Features: Autonomous, configurable, easy to use, small footprint
Operating supply: 5V to 20V directly from Vbus of the USB-C cable.
Or a lower power (3.3V) for battery supplied applications
Power Consumption: 140 uA only
Package: QFN-24 (Quad-Flat No-leads), WLCSP (Wafer Level Chip Scale Package)
Part number: STUSB4500QTR, STUSB4500BJR
USB Spec: USB Type-C v1.2 , USB PD v2.0 & v3.0
The STUSB4500 is a USB Power Delivery controller (USB PD) that addresses sink devices. It implements a proprietary algorithm to allow the negotiation of a power delivery contract with a USB PD source without MCU support (auto-run mode). PDO profiles are configured in an integrated non-volatile memory (NVM).
The device supports dead battery mode and is suited for sink devices powered from dead battery state and requiring high power charging profile to be fully operational.
Thanks to its 20 V technology, it implements high voltage features to protect the CC pins against short-circuits to VBUS up to 22 V and to support high voltage on the VBUS pins directly connected to the VBUS power path up to 28 V.
The USB-PD chip has 148 programmable registers (0x94).
To simplify the implementation, Use the firmware example contained in this repository (STSW-STUSB003 Software library for STUSB4500) to control the STUSB4500 with a Micro-controller, and take control over the default behavior of the device.
You can for instance with the MCU request any PDO that you want from the DFP (you are no more limited to 3 PDOs).
Link: Source code for this project
Additional information: Firmware readme
The chip can be used in standalone with a custom configuration thanks to its internal memory.
The Non-Volatile Memory (NVM) contains the STUSB4500 configuration which load automatically at power-up.
But the NVM memory is not directly accessible byte per byte. It has to be accessed by block, following a specific sequence.
The NVM size is 40 bytes.
The NVM programming is done through I2C.
You can program the chip during manufacturing flow with any standard programming tool, as long as the tool has access to the I2C interface.
Link: Source code for this project
There are different boards available to test the product.
STUSB4500 evaluation board : STEVAL-ISC005V1
https://www.st.com/content/st_com/en/products/evaluation-tools/solution-evaluation-tools/psu-and-converter-solution-eval-boards/steval-isc005v1.html
The STUSB4500 is a standalone USB-C PD controller for UFP only (Power SINK).
Its counter part for DFP only (Power SOURCE) is STUSB47.
Because these 2 devices have been certified by USB-IF, it means they are interoperable with any USB-C PD application on the market.
Plenty of scenarios are possible, for instance:
| Source ctrl | USB-C cable | Sink ctrl |
|---|---|---|
| STUSB47x0 | <----------> | STUSB4500 |
| STUSB1600 | <----------> | STUSB4500 |
| STUSB1700 | <----------> | STUSB4500 |
| STUSB1602 + STM32Fx | <----------> | STUSB4500 |
| STUSB1702 + SPC58 | <----------> | STUSB4500 |
| STM32G0xx | <----------> | STUSB4500 |
| STUSB47x0 | <----------> | STM32Fx + STUSB4500 |
| STUSB47x0 | <----------> | STM32MP1 + STUSB4500 |
| STM32MP1 + STUSB1600 | <----------> | STUSB4500 |
| Any USB-C Source | <----------> | STUSB4500 |
| Any USB PD Source | <----------> | STUSB4500 |
| Back | FazBrowse Home | New Git URL |