87 lines
4.1 KiB
Markdown
87 lines
4.1 KiB
Markdown
# Power Path
|
|
|
|
## PD controller
|
|
|
|
Based on the specifications, I've decided to use the the STUSB4500 as
|
|
a PD controller instead of the TPS25730. Mostly due to the nice interface
|
|
and the lack of ADC-based configuration pins. The TPS25730 has one thing that
|
|
is nicer than the STUSB4500, the way it enables its sink path.
|
|
|
|
The STUSB4500 has a pin called the *VBUS_EN_SNK* which is an open drain output
|
|
and turns on (or rather the Transistor turns on) when a PD profile has been
|
|
negotiated according to the configuration. This means that the way to switch
|
|
on the sink path is by using P-channel FETS.
|
|
|
|
The TPS25730 on the other hand, has an internal charge pump that can generate
|
|
a voltage above the source (source or drain will only matter during turn on
|
|
and turn off events, since the entire MOSFET is in series and meant to be
|
|
driven in its ohmic region). This means that it uses N-channel FETS.
|
|
|
|
The big advantage of N-channel FETS compared to P-channel FETS is that
|
|
generally N-channel FETS are smaller and have a lower R_ds(on) compared
|
|
to the P-channel FETS.
|
|
|
|
Looking at the reference design of the STUSB4500 and the TPS25730 really
|
|
shows the difference. The STUSB4500 design uses the STL6P3LLH6 P-channel
|
|
MOSFETS which have a max R_ds(on) of 30milliOhm per FET. The CSD87501L
|
|
Dual N-channel MOSFET used by the TPS25730 has a combined max R_ds(on) of 9.3
|
|
milliohms.
|
|
|
|
Comparing both FETS, the loss in the switch for each of the PD controllers
|
|
at 5A (12V) is equal to:
|
|
|
|
* 30 milliOhm * 2 = 60 milliOhm * 25(I squared) = 1.5 W
|
|
* 9.3 milliOhm = 9.3 milliOhm * 25(I squared) = 0.233 W
|
|
|
|
Although a loss of a quarter of a watt is awesomely low, I would be happy
|
|
with a total loss of around a watt, or half a watt per MOSFET.
|
|
|
|
To this end, the following specifications will be used to find a better
|
|
MOSFET for the Power Path:
|
|
|
|
1. Vds > 30V
|
|
2. Vgs > 20V (I really don't want to use a different FET if I decide to
|
|
make a 20V version).
|
|
3. R_ds(on) max < 20 milliOhm
|
|
4. Vgs(th) min = 1V
|
|
5. Smallest possible footprint.
|
|
|
|
### Sink Switch Gate Driver
|
|
|
|
The reference design of the STUSB4500 (the one with the MCU) uses a few
|
|
passives as a gatedriver before connecting to the *VBUS_EN_SNK* pin.
|
|
R10 is logical, since we want to make sure that when *VBUS_EN_SNK* is not
|
|
turned on the voltage between the gate and the source is 0. The size of
|
|
R10 is not. Looking at the reference design and assuming a 20 voltage drop,
|
|
the current flowing through *VBUS_EN_SNK* is only 160 micro A, significantly
|
|
lower than the 3 milli A used in the electrical characteristics. The resistor
|
|
R11 is likely used to limit the maximum Vgs, sice the STL6P3LLH6 has a limit
|
|
of around 20V, which would nearly be reached without it. The choice of
|
|
22 Kilo Ohm is likely to create a larger safety margin, since above a Vgs of
|
|
10 V, the R_ds(on) would be low enough.
|
|
|
|
The reasoning behind R13 and C10 is not yet known. I will test it out
|
|
with a simulator.
|
|
|
|
### Discharge circuits
|
|
|
|
The STUSB4500 has two discharge paths that are automatically triggered
|
|
in case of a disconnect or some voltage error. Although really useful,
|
|
both pins *VBUS_VS_Disch* and *Disch* are only triggered by the internal
|
|
logic of the STUSB4500. There is no way, except playing around with the
|
|
voltages, to trigger it yourself. On the *VBUS* side there is no problem
|
|
with that, the only reason I would want to discharge is a change in PD voltage
|
|
or a disconnect. However, at the system side, the rail needs to be discharged
|
|
if a LED strip is unplugged, since after an unplug event a plug event may
|
|
follow with a LED strip of a different voltage. Due to this, I will need to
|
|
add my own discharge path parallel to the one in the reference design.
|
|
|
|
A fun thing to notice is that on the VBUS side, the discharge path to
|
|
*VBUS_VS_Disch* has a bunch of passives. The pin can only handle up to
|
|
50 milli A. Which is why a 1 kiloOhm series resistance has been added.
|
|
However, D4 and C4 are a bit strange. It would make sense that in case
|
|
of discharging D4 "shorts out" the resistor R1, but wouldn't it be better
|
|
to make R4 the same value as R1 allowing up to 40 milli A of current to
|
|
flow (assuming a Vd of 0V). It may have something todo with the discharge
|
|
and charge timing but I need to simulate it to be sure.
|