Research
Objective:
The purpose of this board is to be able to use a USB Type-C laptop charger to run one LV system (such as BPS or Controls). The dongle will act as a breakout; negotiating the power delivery at a fixed voltage with the laptop charger and delivering as much current as needed at a stable voltage of 12V/5V.
The dongle will (hopefully) also be able to supply the maximum amount of current necessary for any of our systems. Lakshay Gupta wants to be able to handle the current spike that BPS has when the HV+, HV-, and HVARR contactors flip, so the design should potentially accommodate for that.
Requirements:
- 12V and 5V output at max amperage possible
- 12 for LeaderSOM, 5 for PeripheralSOM
- Able to switch modes between the two
- Status LEDs
- On/off toggle switch
- Current/voltage monitoring capability thru an external scope/multimeter?
Block Diagram:
Preliminary Research Notes:
- USBPD devices can either act as the source (charger) or sink (device) or DRP (both). For our purposes we probably want a sink-only chip since we'll be plugging a charger into this board and the output will be a 12V/GND line. We don't need this to act as a source from a wall outlet.
- Compatibility with USBPD 2.0 and USBPD 3.0 would be nice to allow us to use a wider array of laptop chargers.
- USBPD 2.0 allows for fixed voltage outputs of 5, 9, 12, 15, and 20V
- USBPD 3.0 allows for incremental voltage outputs anywhere from 3.3V to 21V in increments of 20mV. This is called PPS (programmable power supply). We don't really need this since we only need to provide fixed 12V and 5V.
- USBPD 2.0 allows for fixed voltage outputs of 5, 9, 12, 15, and 20V
- Perhaps considerations should be made for USBPD 3.1 as well, as that would allow for a higher power delivery of 240W and possibly support driving contactors.
- 3.1 is backwards compatible so designing a 3.1 sink should allow for interfacing with 3.1/3.0/2.0 source
- Since we want to max out current I think 3.1 makes the most sense as USBPD 3.1 EPR (Extended Power Rating) cables have the capability of providing up to 240W @ 48V
- This may have to wait as there are not many 3.1 sink chips available
- According to this reddit post, USBPD3.1 @ 240W probably isn't possible since the sink functionality of it is not well supported. I took a look at a few chips such as ST-ONEHP and TPS25730USB.
USBPD Controller Chip Evaluations:
- Mouser USBPD Search
- USB Type-C PD 3.0 Specification, Charging and Design
- Guide to USB-C Pinout and Features
- USB Type-C and USB power delivery power path design considerations
- Phil's Lab video
- Designing a USB PD (Power Delivery) Trigger Board For My Devices
- Infineon CYPD3177-24LQXQT
- Used in this Phil's Lab video
- In stock on Mouser as of 5/22/24
- Price: $2.20
- Operates on USB-PD 3.0 Standard
- Capable of 100W (20V @ 5A)
- Evaluation Kit Guide
- Pretty simple to set VBUS Min/Max and Current Min/Max; just use voltage dividers on four config pins as shown above
- Offers a fault indicator
- Falls back to 5V in case negotiation fails
- QFN package (more difficult to solder, but still manageable at Pickle esp. with someone with experience)
- INJONIC IP2721
- Used in this isaac879 video
- Available for order on JLCPCB or AliBaba
- In-stock at JLC and Alibaba as of 5/8/24
- Price: $0.69
- Capable of 20V
- Connecting high to SEL pin will make it output 20V, which makes configuration easy
- The downside of this (as according to this Hackaday post) is that even though USB-PD supports current negotiation (sink asking source what current it supports), the IP2721 doesn't. So if a charger is plugged in that doesn't support 5A, which we are ultimately going to request, then we still may not get the current we want and perhaps trigger some overcurrent condition on the source if we go over that amount.
- TSSOP package, so easier to solder
- Texas Instruments TPS25730
- Price: $2.69
- On backorder in Mouser as of 5/8/24
- In TI's product selector for USBPD chips, this seems like the newest sink-only chip
- It supports PD 3.1 in that you can do PPS (which we don't actually need anyways)
- Capable of 100W (20V @ 5A)
- It looks like an external microcontroller can be attached to I2C for configuration purposes, but doesn't have to be
- Min/max voltage and operating current/max current configured through ADC1 through ADC4, can just hook up voltage divider
- TPS25730D has an internal HV path, whereas S has a gate driver for an external HV path
- QFN package; harder to solder as mentioned before
- STMicroelectronics STUSB4500
- In-stock as of 5/8/24
- Price: $2.71
- Reference schematic
- Capable of 100W (20V @ 5A)
- Configurable through programming non-volatile memory (NVM) through I2C
- Would make initial configuration of anything above 5V a bit more difficult, but would only need to be done once at the beginning with a programmer of some sort (Nucleo?)
- QFN package
Buck Converter Research:
- I suppose we'll need a high-efficiency buck converter to step down from 20V@5A to 12V@8.333A after the whole USB PD negotiation is complete.
- This doesn't just need to be 20V → 12V, it could also be 15V or 12V since those are supported by USB PD and will be negotiated if 20V isn't available
- Tips on Layout from Phil's Lab
- Buck Converter Explained
- Another one: Buck Converter 2: Electric Boogaloo
- Other typical forms of voltage step-down (Linear Voltage Regulator (LDO), Voltage Divider) dissipate power as heat to step down voltage. We lose power in some capacity as heat.
- Buck converters will decrease voltage AND increase current to maintain power (typically higher efficiency but less stability when compared to an LDO)
- When the switch is closed, the inductor charges up
- When the switch is opened, the inductor releases charge through the load resistor RL. The current flows through the diode and back into the inductor
- We switch the switch (MOSFET) at a certain frequency and duty cycle in order to keep the average current relatively stable over one period
- The capacitor is assumed to have a steady voltage over one period, so it just keeps the voltage drop across RL the same
- Watch the Buck Converter 2 video for more explanation and the derivation for the following equation:
- Vout = Duty Cycle x Vin (typically)
- Datasheet will have more specific calculations for things such as voltage dividers which will ultimately set the duty cycle
- A synchronous buck converter replaces the diode with another MOSFET so that there is less power loss since the MOSFET will have lower power loss while current is flowing thru it
- Luckily for us, these buck converters come in convenient little ICs that will do all this switching for us
- We need two of these, one for 12V and one for 5V
- WEBENCH Power Designer
- Integrated FET packages (the mosfet comes inside the IC)
- Mouser Filter Link
- TI Filter Link
- Analog Devices Filter Link
- Nothing on here that can do more than 6V output
- TI TPS56A37
- $2.87 on Mouser
- 4.5V to 28V input
- 0.6 to 13V output
- Supports 10A continuous output current
- Seems most appropriate for our 20V->12V use-case especially since other ICs can't supply as much current
- QFN package
- muRata MYLSM00502ERPL
- This is the one used on LeaderSOM
- Supports up to 2.5A continuous output current (we don't need much for 5V usecase since it's meant for lower power boards)
- External FET Buck Controller packages (mosfet is outside the IC, might be more cost-effective and able to provide enough current)
- TI Filter Link
- TBH I kind of prefer an integrated package rather than this so might not really look at these any further
- Is isolation required between the USB-PD provided power and the device power?
- If so, an external FET buck controller package with a transformer may be required
- https://www.eevblog.com/forum/projects/usb-type-c-pd-lab-power-supply/
- Decided it's probably not worth it. From what I can tell from online + talking to Jacob Pustilnik and Matthew Yu, isolation is mainly used to protect the user from voltage shock and to protect the device from taking a large amount of voltage if the buck converter fails. Additionally, the cost difference after looking at some Murata buck converters is large enough to warrant no isolation ($83 is a LOT). We'll just A) be safe when using the device, perhaps put it in an enclosure of some sort, and B) make sure that there is voltage protection on new devices we produce so that a 5V device like the Peripheral SOM won't break if a spike of 20V is applied to it. We'll also include some overvoltage protection on the output to make sure this doesn't output more than 12/5 V.
Weird NMOS MOSFET Configuration:
(Infineon CYPD3177-24LQXQT)
Question: What does this even do?
Answer:
- https://www.homemade-circuits.com/bidirectional-switch/
- TLDR; even if a MOSFET is not powered via the gate, the diode can still carry current if it flows into the gate. This double MOSFET configuration prevents current from flowing either way, so there is no power loss across the diode when inactive.
- When the MOSFET is off current will only flow in one direction, from source → drain (because of the diode). When the MOSFET is on current can flow in either direction (source → drain or drain → source). This is why this circuit works, because if both MOSFETs are on then current can pass either way, but if both are not on current cannot flow at all due to the diode.
- Bidirectional switch
Let's try to understand the configuration (this is a slightly more detailed version with specific part numbers as presented in the Evaluation Board Design):
- SAFE_PWR_EN (or as referenced here SAFE5V_FET_EN) is driven to 0V if negotiation fails and USB PD falls back to 5V at 1A. Otherwise it is high impedance.
- If negotiation fails, VBUS_OUT = 5V and SAFE_PWR_EN = 0V. The voltage divider drives the MOSFET's gates at ~0.098V.
- When negotiation fails, the common source node (where S1 connects to S2 on the diodes) will be equal to VBUS_OUT (5V).
- Therefore, VGS = 0.098 - 5 = -4.90200 V
- As according to the datasheet, VGS(th) = -1.5V. Remember, since this is a P-channel MOSFET, it gets activated with a negative VGS.
- So VGS > VGS(th), therefore the gate of both MOSFETS will allow current to flow and SAFE_5V_OUT will get 5V.
- Why do we need the 49.9k and 1k resistors?
- The 49.9k really acts more like a large pull-up resistor rather than a voltage divider from what I can tell. If negotiation of USB-PD succeeds, SAFE_PWR_EN is high impedance. This means that it will be easily influenced by whatever is connected to it, so it can be pulled up/down. Then, VBUS_OUT pulls it up to its voltage so that the gate is not triggered (since then source = gate)
- I am not sure what the 1k is for yet
Development
Components and ICs:
| Part/Mouser Link | Purpose | Notes |
|---|---|---|
Infineon CYPD3177-24LQXQT | PD Controller | |
TI TPS56A37 | 20V to 12V buck converter | QFN Design Guidelines |
muRata MYLSM00502ERPL | 12V to 5V buck converter | |
Phoenix Contact 1332645 | USB Type-C Connector | PD only requires a subset of the pins of USB Type-C, so a 16 contact connector is fine. (note: i believe we could have even gotten away with a 6 contact connector, but we need to support 5A and the 6p connectors on Mouser only support 3 :/) |