This article is a short summary about the simple basics behind typical DC-DC converters - to be
precise about the family called switched-mode power supplies. This type of DC-DC
converter is often used in highly efficient power supplies as well as solar
charge controllers and solar MPPT trackers. The blog article of course only
sums up the basics required to understand the operation of a typical SMPS. In
contrast to linear regulators switched mode regulators can achieve much higher
efficiencies and since they do not thermally dissipate the excessive voltage drops
they also require way less cooling - and are able to work with much higher voltage
differences than linear regulators. They are somewhat more complicated than linear
regulators though - but would even allow construction of completely transformerless
power supplies (there are in fact such applications but one should keep in mind
the dangers in case of failure when thinking about this though; depending on the
design a failure of a single component would allow live line voltage to directly
leak into the low voltage side of such an supply).
The topologies looked at in this short summary are:
| Topology |
Inverting |
Output voltage range |
Output impedance range |
| Buck |
No |
$U_{out} \leq U_{in}$ |
$R_{in} \leq R_{out}$ |
| Boost |
No |
$U_{out} \geq U_{in}$ |
$R_{in} \geq R_{out}$ |
| Buck-Boost |
Yes |
$0 \geq U_{out} \geq -\infty$ |
any |
| Four-switch |
any |
any |
any |
Note that some parts are only summarized at the buck and the boost regulators that
will be used for the buck-boost and the four switch topology in the end.
A short recap: The capacitor and inductor
Switched mode power supplies require an energy storage element. One could use
either a capacitor or - in practice used way more often due to reasons seen
later - inductors. The following section serves as a short reminder on the
properties of those components. In case one remembers how to do basic calculations
with those reactive elements and also remembers which one flips current and which
one voltage sign when switching from charging to discharging one
can safely skip this section.
The capacitor
A capacitor is a storage element that stores charge carriers. The amount of
charge carriers is usually termed $Q$. The simplified idea is that an applied
voltage across two capacitor plates or foils pulls apart charge carriers and
thus the contained charge is directly proportional to the applied voltage $U$.
The proportionality factor is called capacitance $C$.
[
Q = C * U
]
When one now recalls that a current is nothing else than the flow of charge carriers
per time one can already derive the relation between current and voltage at an capacitor:
[
I = \frac{\partial Q}{\partial t} \\
\frac{\partial Q}{\partial t} = \underbrace{\frac{\partial C}{\partial t}}_{0} * U + C * \frac{\partial U}{\partial t} \\
\frac{\partial Q}{\partial t} = C * \frac{\partial U}{\partial t} \\
\to I(t) = C * \frac{\partial U(t)}{\partial t} \\
\frac{1}{C} \int I(t) dt = U(t)
]
In the second equation it has been assumed that the capacity of the capacitor stays
constant over time. This is a safe asumption in many parts of electronics. As one
can see one can either express the current at a given time by the change of
voltage with time or the voltage as the summed up flown current.
Lets take a short look at a simple R-C network (i.e. charging and discharging
an capacitor via a current limiting resistor) that gets charged from a constant
voltage source.

As one can see the total voltage $U_b$ has to drop over the resistor and the
capacitor:
[
U_b = U_R(t) + U_C(t)
]
Charging a capacitor via an RC network
For charging one can assume that in the initial condition there are no charge
carriers at the capacitor, i.e. $Q=0 \to 0=C*U \to U(t=0) = 0$.
This will be required for the boundary condition later on. Inserting Ohmās law $U=R I$ for
the resistor, recalling that $I = \frac{\partial Q}{\partial t}$ and inserting
the equation for the capacitor from above yields a simple inhomogeneous differential
equation:
[
U_b = R * I(t) + U_C(t) \\
U_b = R * \frac{\partial Q(t)}{\partial t} + U_C(t) \\
U_b = R * C * \frac{\partial U_C(t)}{\partial t} + U_C(t)
]
This equation can be solved easily by the separation ansatz:
[
U_b = R * C * \frac{\partial U_C(t)}{\partial t} + U_C(t) \\
U_b - U_C(t) = R * C * \frac{\partial U_C(t)}{\partial t} \\
\frac{1}{RC} = \frac{1}{U_b - U_C(t)} \frac{\partial U_C(t)}{\partial t} \\
\frac{1}{RC} \partial t = \frac{1}{U_b - U_C(t)} \partial U_C(t)
]
Integrating on both sides is simple - the terms on the left hand side are just
constants so itās pretty straight forward, substituting on the right side
with $u = U_b - U_C$ is also simple to integrate again:
[
\frac{1}{RC} \partial t = \frac{1}{U_b - U_C(t)} \partial U_C(t) \\
\int \frac{1}{RC} dt = \frac{1}{U_b - U_C} d U_C \\
\frac{t}{RC} + c_1 = \int \frac{1}{u} d U_C \\
\frac{t}{RC} + c_1 = - \int \frac{1}{u} du \\
\frac{t}{RC} + c_2 = - log(u) \\
\frac{t}{RC} + c_2 = - log(U_b - U_C) \\
-\frac{t}{RC} + c_2 = log(U_b - U_C)
]
Now one can use the boundary condition to directly identify the constant $c_2$
when assuming that $U_C(t=0) = 0$:
[
c_2 = log(U_b)
]
Inserting, moving both logarithms to the right hand side and combining them using
the equations for logarithms yields a simple equation:
[
-\frac{t}{RC} + log(U_b) = log(U_b - U_C) \\
-\frac{t}{RC} = log(U_b - U_C) - log(U_b) \\
-\frac{t}{RC} = log(\frac{U_b - U_C}{U_b}) \\
e^{-\frac{t}{RC}} = \frac{U_b - U_C}{U_b} \\
e^{-\frac{t}{RC}} = 1 - \frac{U_C}{U_b} \\
1 - e^{-\frac{t}{RC}} =\frac{U_C}{U_b} \\
U_b * (1 - e^{-\frac{t}{RC}}) = U_C(t)
]
This yields the voltage over time when charging an RC network from a constant
voltage source:
[
U_C(t) = U_b * (1 - e^{-\frac{t}{RC}})
]
Inserting into the equation for the current on the capacitor $I = C \frac{\partial U}{\partial t}$
yields the equation for the current:
[
I_C(t) = C * \frac{\partial U_C(t)}{\partial t} \\
I_C(t) = C * \frac{\partial}{\partial t} U_b * (1 - e^{- \frac{t}{RC}}) \\
I_C(t) = C * U_b * \frac{1}{RC} e^{- \frac{t}{RC}} \\
I_C(t) = \frac{U_b}{R} e^{- \frac{t}{RC}}
]
As one can see the equation yields $I_C(t=0) = \frac{U_b}{R}$ yields the same
result as Ohms law for the resistor alone. This means that the current over the
capacitor is only limited by the resistor at the $t = 0$.
When one looks at the behavior when charging a $C = 1 mF = 10^{-3} F$ capacitor
via a $R = 1 k\Omega = 10^3 \Omega$ resistor (which would yield a so called
time constant $\tau = R C = 1 s$) one could see the behaviur plotted in the following
graph:


- The initial voltage across the capacitor is $0$
- The initial current is equal to the current over a component with resistance 0, only
limited by the charging resistor. This means that initially the capacitor looks
like a short.
- The current flows in inverse direction.
- The time constant $\tau = R * C$ is the time when the capacitor is charged to $63.2\%$
- In theory it would take infinite time to charge the capacitor
Discharging a capacitor via an RC network
The approach for modeling the discharge via an RC network is the same as for charging:
[
U_b = U_R(t) + U_C(t) = 0 \\
0 = R * I_C(t) + U_C(t) \\
0 = R * \frac{\partial Q(t)}{\partial t} + U_C(t) \\
0 = R * C * \frac{\partial U_C}{\partial t} + U_C(t) \\
-U_C(t) = R C \frac{\partial U_C}{\partial t} \\
-\frac{\partial t}{RC} = \frac{\partial U_C}{U_C} \\
-\int \frac{1}{RC} dt = \int \frac{1}{U_C} d U_C \\
-\frac{t}{RC} + c_1 = ln(U_C)
]
Inserting the boundary condition for $U_C(t=0) = U_0$ yields the constant $c_1$:
[
c_1 = ln(U_0) \\
\to -\frac{t}{RC} + ln(U_0) = ln(U_C) \\
-\frac{t}{RC} = ln(U_C) - ln(U_0) \\
-\frac{t}{RC} = ln(\frac{U_C}{U_0}) \\
e^{-\frac{t}{RC}} = \frac{U_C}{U_0} \\
U_C(t) = U_0 e^{-\frac{t}{RC}}
]
Again inserting into the definition for the current over the capacitor yields
the current equation:
[
I_C(t) = C * \frac{\partial U_C(t)}{\partial t} \\
I_C(t) = C * \frac{\partial}{\partial t} U_0 e^{-\frac{t}{RC}} \\
I_C(t) = - \frac{C * U_0}{RC} e^{-\frac{t}{RC}} \\
I_C(t) = - \frac{U_0}{R} e^{-\frac{t}{RC}}
]
As one can see the current is - in contrast to the charging current - negative.


- The initial voltage is equal to the charging voltage
- The initial current is only limited by the limiting resistor
- The time constant $\tau = R * C$ is the time after which the capacitor has
discharged by $63.2\%$, i.e. the voltage has reached $36.8\%$ of itās initial value.
- In theory it would take infinite time to discharge the capacitor
Summary for the capacitor
| Ā |
Charging |
Discharging |
| Voltage |
$U_C(t) = U_b * (1 - e^{-\frac{t}{RC}})$ |
$U_C(t) = U_0 e^{-\frac{t}{RC}}$ |
| Current |
$I_C(t) = \frac{U_b}{R} e^{- \frac{t}{RC}}$ |
$I_C(t) = - \frac{U_0}{R} e^{-\frac{t}{RC}}$ |
| Charge |
$Q_C(t) = C * U_b * (1 - e^{-\frac{t}{RC}})$ |
$Q_C(t) = C * U_0 e^{-\frac{t}{RC}}$ |
In case one does not charge or discharge the capacitor with an initial voltage of $U_C(t=0)=0$
one can easily modify the equations to begin charging at a value $U_C(t=0) = U_{c,0}$
by inserting the appropriate boundary condition. Since the equations makes no
assumption on the sign of the initial as well as the applied external voltage
this yields two general equations that can be used for charging and discharging:
[
U_C(t) = U_b - (U_b - U_{c,0}) e^{-\frac{t}{RC}} \\
I_C(t) = \frac{U_b - U_{c,0}}{R} e^{-\frac{t}{RC}}
]
The inductor
The inductor is a little more tricky to understand than the capacitor. When one
recalls Faradays law of induction one can recall that the magnetic flux is given
by the surface integral:
[
\phi(t) = \int \int \vec{B}(t) d\vec{A}
]
To change the flux some force is required. In term of Faradays induction law
this is usually termed the electromotive force $\epsilon$:
[
\epsilon = - \frac{\partial \phi}{\partial t}
]
To get the flux one has to sum up all magnetic field lines - or calculate a
sum over the magnetic field passing through a given area, i.e. $\phi = \int B dA$.
[
\epsilon = - \frac{\partial}{\partial t} \int B dA \\
U(t) = - \frac{\partial}{\partial t} \int B dA
]
First one can now assume to work in vacuum:
[
H = \frac{B}{\mu_0} - \underbrace{M}_{\to 0} \\
B = \mu_0 H
]
When working in an isotropic material the magnetization can be included using
the term $\mu_r$ in a simple way, i.e. $B = \mu_0 \mu_r H$. Inserting into the
previous equations and transforming the surface integral into a closed loop
integral along a path:
[
U(t) = - \frac{\partial}{\partial t} \mu_0 \int H dA \\
U(t) = - \frac{\partial}{\partial t} \mu_0 \oint H dL
]
Now when one recalls that $-L * I = \mu_0 \oint H dL$:
[
U(t) = - \frac{\partial}{\partial t} \mu_0 \int H dA \\
U(t) = - \frac{\partial}{\partial t} \underbrace{\mu_0 \oint H dL}_{-L * I(t)} \\
U(t) = L \frac{\partial I(t)}{\partial t}
]
Charging of an inductor over an RL network
Again assuming the charging over an current limiting resistor as done for the
capacitor before one can do nearly the same as for the capacitor before, this time
starting by modelling the current. As boundary condition one can assume that the
current at $t=0$ is zero ($I(t=0) = 0$) since no magnetic field is present at
the initial time.
[
U_B = U_R + U_L \\
U_B = R * I(t) + L * \frac{\partial I(t)}{\partial t} \\
U_B - R I(t) = L \frac{\partial I}{\partial t} \\
\frac{1}{L} \partial t = \frac{1}{U_B - R I} \partial I \\
\int \frac{1}{L} dt = \int \frac{1}{U_B - R I} dI \\
\frac{t}{L} + c_1 = - \frac{1}{R} ln(U_B - R I) \\
-\frac{R t}{L} + c_2 = ln(U_B - R I)
]
Inserting the boundary condition yields $c_2 = ln(U_B)$
[
-\frac{R t}{L} + ln(U_B) = ln(U_B - R I) \\
-\frac{Rt}{L} = ln(\frac{U_B - RI}{U_B}) \\
e^{-\frac{R}{L} t} = 1 - \frac{R}{U_B} I \\
1 - e^{-\frac{R}{L} t} = \frac{R}{U_B} I \\
\to I(t) = \frac{U_B}{R} (1 - e^{-\frac{R}{L} t})
]
Inserting into the equation for $U(t)$ from above one yields the equation
for the voltage drop across the inductor:
[
U(t) = U_B e^{-\frac{R}{L} t}
]
Plotting the charging behavior again:


- The initial voltage across the inductor is the supply voltage $U_b$
- The initial current is zero and rises slowly.
- The maximum current is reached after the magnetic field has built itself
up and is then limited only by the current limiting resistor.
Discharging of an inductor over an RL network
The discharge model works - as a surprise - similar:
[
0 = U_R + U_L \\
0 = R * I(t) + L \frac{\partial I(t)}{\partial t} \\
-R I(t) = L \frac{\partial I(t)}{\partial t} \\
-\frac{R}{L} \partial t = \frac{1}{I(t)} \partial I(t) \\
\int -\frac{R}{L} dt = \int \frac{1}{I} dI \\
-\frac{R}{L} t + c_1 = ln(I)
]
Assuming that $I(t = 0) = I_0$ yields $c_1 = ln(I_0)$
[
-\frac{R}{L} t + ln(I_0) = ln(I) \\
-\frac{R}{L} t = ln(\frac{I}{I_0}) \\
e^{-\frac{R}{L} t} = \frac{I}{I_0} \\
I(t) = I_0 * e^{-\frac{R}{L} t}
]
Inserting into the equation $U(t) = L \frac{\partial I(t)}{\partial t}$ yields
the voltage drop:
[
U(t) = - R * I_0 e^{-\frac{R}{L} t}
]
Assuming the same conditions as during the charging of the inductor - for example
when turning off the supply voltage instantanously - one can again plot voltage
and current:


- The initial voltage flips itās sign during discharge and is equal to the maximum
charging voltage
- The initial current is as high as at the end of the charge process and slowly
declines
Summary for the inductor
| Ā |
Charging |
Discharging |
| Voltage |
$U(t) = U_B e^{-\frac{R}{L} t}$ |
$U(t) = - R * I_0 e^{-\frac{R}{L} t}$ |
| Current |
$I(t) = \frac{U_B}{R} (1 - e^{-\frac{R}{L} t})$ |
$I(t) = I_0 * e^{-\frac{R}{L} t}$ |
Generalizing the equation in the same way as for the capacitor - assuming there
is an initial current $I(t=0) = I_{C,0}$ applied to the inductor when applying boundary
conditions - allows one to define general equations that describe charging
and discharging at the same time:
[
U_L(t) = - (U_b - R * I_{L,0}) * e^{-\frac{R}{L} t} \\
I_L(t) = \frac{U_b - (U_b - R I_{L,0}) * e^{-\frac{R}{L} t}}{R}
]
Summary of the important properties for the reactive components
As one can see the components differ in some basic properties:
- At beginning of the charging cycle the capacitor acts as a short, the inductor
as an open. Infinite current may flow over the capacitor, zero over the inductor
- At the end of the charging cycle the inductor would allow infinite current, the
capacitor zero current.
- When disconnecting at the end of the charging process
- The inductor flips voltage sign and keeps current direction
- The capacitor flipy current sign and keeps voltage direction
Basics of DC-DC converters
So why this long recap for the capacitor and inductor? Basically it would be
possible to use both of them as energy storage elements for DC-DC converters.
In most topologies inductors are used as energy storage elements and capacitors
only as input and output smoothing capacitors though for various reasons - one of
them being the current limiting during initial charging and discharging. The
power curves above have been plotted since a DC-DC converter can not only be
seen as a voltage transformer but also as an impedance match between the input
and the output which is important when considering stuff like maximum power point
tracking for solar cells for example - more on that later.
To classify different DC-DC converter topologies one usually looks at:
- Input and output voltage
- Step down converters have a higher input and lower output voltage
- Step up converters have a lower input and higher output voltage
- Buck-boost converters can convert any input voltage into any output voltage
- Asynchronous or synchronous switching
- Asynchronous topologies usually use a single switch and some passive switching
element such as a diode for the second cycle
- Synchronous topologies require some more timing considerations and use a
second active switching element to radically increase efficiency
- Inverting or not inverting topologies
- Isolated and non isolated circuits
The basic asynchronous buck converter
The asynchronous buck converter is a simple non isolating non inverting asynchronous
step down converter (i.e. it reduces the input voltage). For a first look at the
basic idea itās assumed that the switched mode regulator already has reached
a steady state - the output voltage is constant (since the output capacitor is
large enough to smooth out any variations) and the input voltage is constant too.
This is of course not a real situation - just a model to get a first idea how
this stuff works.

So how does the asynchronous buck converter work? In case the switch Q1 is
enabled the higher input voltage causes the diode D1 to block. The input
current flows through the inductor (that takes the full voltage difference between
input and output and blocks current flowing directly while charging and slowly
increasing flowing current while the voltage drop slowly decreases during the charge
cycle). In addition during the on state the output capacitor charges itself. Itās
assumed that the ripple is neglectable for the load (one could add another inductive
component to form a filter together with the output ripple suppressing capacitor).

Assuming continuous mode (the inductor current never reaches zero) the voltage
across the inductor is
[
U_L = U_{in} - U_{out}
]
One can use this to calculate the change in current during the charging phase:
[
U_{in} - U_{out} = L \frac{\partial I_L}{\partial dt} \\
\int_{0}^{t_{on}} \frac{U_{in} - U_{out}}{L} d\tau = \Delta I_L(t)
]
Assuming that the output voltage stays constant due to a large output filtering
capacitor:
[
\int_{0}^{t_{on}} \frac{U_{in} - U_{out}}{L} d\tau = \Delta I_L(t) \\
\frac{U_{in} - U_{out}}{L} t_{on} = \Delta I_{L,on} \\
\frac{U_{in} - U_{out}}{L} D T = \Delta I_{L,on}
]
Again assuming continuous mode the switch will be opened and closed for a
fixed overall period $T$ with a duty cycle (ranging from 0 to 1) called $D$. Operating
the switch with $D=0$ will keep it disabled all the time, $D=1$ will enable it
and $D=0.5$ would run it open for $\frac{T}{2}$ and closed for the same amount
of time.
When the switch opens the circuit changes. Keep in mind from the basics above that
the current keeps itās direction when stopping the charging of an inductor but
the voltage changes itās sign. The voltage seen over the inductor after opening
the switch is $V_L = -U_{out}$ - but the polarity on the output does not
change (one can see the polarity change when drawing arrows along the flowing
current direction - once the current flows from higher supply voltage into
the load side, the other time the current flows from ground into the load side).

[
-U_{out} = L \frac{\partial I_L}{\partial dt} \\
\frac{1}{L} \int_{t_{on}}^{T} -U_{out} = \Delta I_{L,off} \\
\frac{-U_{out}}{L} (1-D) T = \Delta I_{L,off}
]
Assuming steady state the input and output current change has to exactly
compensate each other:
[
\Delta I_{L,on} + \Delta I_{L,off} = 0\\
(U_{in} - U_{out}) D - U_{out} (1-D) = 0 \\
U_{in} D - U_{out} D - U_{out} + U_{out} D = 0 \\
U_{in} D - U_{out} = 0 \\
U_{in} D = U_{out} \\
D = \frac{U_{out}}{U_{in}}
]
As one can see the duty cycle in steady state (assuming constant output voltage
and constant load on the output side) would define the ratio between input
and output voltage.
First - the assumption that the regulator reaches a steady state is reasonable
also when starting up. Since the voltage difference between ground and the
supply voltage is larger than the output voltage to the supply voltage the
charging process is faster than the discard process during the startup - this will
lead to buildup of the magnetic field. A short simulation of a buck regulator
with an ideal diode (zero forward voltage), $1 \Omega$ resistance when charging
and discharging, no output capacitor for the first 25 cycles with a $50\%$ duty
cycle and a charge and discharge duration of $\frac{1}{10}$ of a time constant
shows the following behavior (the inductor has been taken to be a $L=22\mu h$
inductor - a typical value for small scale buck converters):

The power flow can also be calculated:

The first cycle is always the charging cycle when running with Q1 enabled,
the second cycle is the discharge cycle when running with Q2 disabled. As one
can see itās assumed the current on the inductor never reaches zero. One can also
see that the voltage direction over the inductor changes itās direction. This means
the output voltage does not change itās sign due to the input side of the inductor
being tied to high potential during charging phase and to low potential during
discharge phase. As one can see the expected behaviour - an output voltage of
around $6V$ when running with a duty cycle of $50\%$ and an input voltage of $12V$
is reached after a short period of time.
By adapting the duty cycle - for example in this case to $\approx 33\%$ - one can change
the output voltage. With $\approx 33\%$ the expected output voltage would be $\frac{1}{3}$
of the input voltage - $4V$:


Load variations
So what happens when the load varies rapidly. Letās add some random noise to the
output resistance. To perform a simple simulation the input resistance is still
assumed to be $1\Omega$ but the load resistance is assumed to be distributed
according to a Gaussian distribution with $\mu = 1 \Omega$ and $\sigma = 0.5\Omega$:


As one can see a constant duty cycle buck regulator cannot really cope with rapid
output load variations. Different constant loads on the other hand are
on average irrelevant with this topology since the effect on charging and
discharging phase is the same:
| Load resistance |
Behavior |
Power |
| $1 \Omega$ |
 |
 |
| $1k \Omega$ |
 |
 |
| $1M \Omega$ |
 |
 |
Different loads change the ripple on the output voltage though.
Why use an inductor instead of a capacitor
The answer is quick and simple: It would entirely be possible to construct the
same type of regulator using a capacitor (in inverting topolgy). But in this case
the inrush currents would only be limited during the initial charging phase by
the resistance. This would mean that - without any other protective measure - the
input current would be massive which would also mean a massive overshoot of the
output voltage during the initial charging phase. This is a problem that one
does not get with an inductor based buck setup.
Why you should not built a buck with constant duty cycle anyways
A word of caution: Even though the designs look so simple - please do not
try to build such an regulator using some timing source like an oscillator or a
555 multivibrator. There is a reason why there is a huge amount of switched mode
regulator ICs out there - and they all include error amplifiers and high precision
voltage references for their sensing mechanisms. This is required since the usual
input voltages do in fact drift when working with line power - and also load variations
might make huge jumps. Those ICs sense the current or the voltage on either the
input or the output side and either:
- Adjust the duty cycle accordingly (for example running a PID loop)
- Modify the switching frequency (for example running a PID loop)
- Use a constant switching frequency and constant duty cycle but supress switching
cycles entirely like the often used TL494
The basic synchronous buck converter
So whatās the problem with the previously discussed asynchronous buck converter
so we need to revise the design? It looks pretty simple and solid - and in fact
works. But especially for high currents the efficiency is limited by the passive
switching element - the diode. As one can see during dischage phase the output
voltage is reduced by the voltage drop across the diode - usually on the order
of the range $0.8V$ to $1.3V$. This might not sound problematic on first sight
but when one considers 10āth to 100ārd of amperes flowing through this diode
the power dissipation gets into the range of tens to hundreds of Watts - which might
be a substantial amound of the output power and thus reduce efficiency of the
regulator pretty fast. The input voltage is of course limited by reverse breakdown
voltage of the diode. In addition there is some voltage slope depending dead time
till the diode switches. The solution to this problem is pretty simple but somewhat
frightening to the hobby electronics designer: Adding a second active switching
element instead of the diode. The $R_{DS,on}$ of MosFETs is usually much lower
than the resistance represented by the diode.

This design simply replaces the diode by a MosFET. In theory the MosFETs control
signal has to be inverted so one might be tempted to build such an setup by just
adding an inverter at the gate of the MosFET. This will lead to catastrophic failure
of the circuit for sure. Why? The failure mode is basically both MosFETs being
in conductive state and thus shorting out the input voltage without any relevant
current limiting. This would thermally fry the MosFETs under most conditions
instantanously - or at least blow the fuses in front of the input port. This
would happen since the time for a MosFET to turn off is usually way lower than
the time for a MosFET to turn on. Even when using (like shown in the circuit above)
n channel MosFETs on high and low side (using specially designed gate drivers that
use charge pumps makes this possible) this asymmetry would still be present, when
using n and p channel FETs it would be even worse. The solution is somewhat simple:
Adding dead time between switching off one MosFET and switching on the other. This
is a feature usually implemented in SMPS integrated circuits - usually with selectable
dead time to adjust to minimize the dead time.
In addition this design would not survive turning off most likely since the Q2
MosFET would not survive the high discharge currents when both switches are disabled.
To prevent this one should always add a flyback diode across the FETs drain and
source as usual.

Of course this might mean that some current is flowing over the diode in case
the dead time has been chosen too large - but even then efficiency will improve
due to the fact that the diode will only conduct for a short time till the MosFET
takes over. Efficiencies of synchronous buck converters are usually way larger than
efficiencies of asynchronous buck converters for large voltage differences and
high currents. The switch from a diode to an actively controlled MosFET might
make the differnce between a power supply begin at $40\%$ efficient to a power
supply that reaches over $98\%$ efficiency. But keep in mind one has to calculate
that everytime since there are even situations where the efficiency of a simple
linear regulator is larger than a SMPS due to switching currents required on the
MosFETs and other losses.
Using a buck converter to maximize power transfer (impedance match, maximum power point tracking)
Sometimes the idea of a DC-DC regulator is not to provide a specific output voltage
for a given input voltage but to maximize the transfered power. This is the case
for example for solar cells. The typical idealized voltage-current relation
for a solar cell looks like the following:

As one can see for an open the current goes down to zero, for a short at zero
voltage the current is at maximum as one would expect from any other type of load
of supply. The interesting part is the power curves. As one can see there is
a point where a solar panel delivers the maximum power (the maximum power point)
at a specific voltage and specific current. One can interpret the different
I-V combinations just as different load resistances $R_i$.
For any power transfer system the input and output power differ just by a scaling
factor - the efficiency $\eta$:
[
U_{out} * I_{out} = \eta U_{in} * I_{in} \\
U_{out} * \frac{U_{out}}{R_{out}} = \eta U_{in} * \frac{U_{in}}{R_{in}} \\
\frac{U_{out}^2}{R_{out}} = \eta \frac{U_{in}^2}{R_{in}} \\
\to \frac{U_{out}^2}{U_{in}^2} = \eta \frac{R_{in}}{R_{out}} \\
\to \frac{U_{out}}{U_{in}} = \sqrt{\eta \frac{R_{in}}{R_{out}}}
]
When one recalls from the really simplistic view that the ratio between output
and input voltage is just controlled by the duty cycle of the buck converter one
can see that one is basically controlling the impedance ratio by the duty cycle
[
D = \frac{U_{out}}{U_{in}} \\
\to D^2 = \eta \frac{R_{in}}{R_{out}} \\
D = \sqrt{\eta \frac{R_{in}}{R_{out}}} \\
\to R_{in} = \frac{D^2 R_{out}}{\eta}
]
As one can see one is directly able to scale the input or the output impedance
by changing the duty cycle. In the ideal case $D^2 * R_{out} = R_{in}$. This allows
one to maximize the power transfer from some input side to the output side. Since
the maximum power point often drifts in applications such as solar panel controllers
one has to actively track the optimum. This is often done by slightly changing the
impedance and measuring the change in power transfer ratio. Then one follows the
gradient to the largest power transfer like in bisection methods to search local
minima or maxima of mathematical functions in discrete ways. Since itās possible to
enter local minima during fast changes of illumination on solar panels for example
such controllers also often offer features that interrupt normal operation at
periodic times and scan the whole I-V curve of the supply side again to escape
local minima (this is often called shading prevention). This of course stops power
transfer - or at least limits it - but provides a huge gain by escaping local
minima occuring for example with partially shaded solar panels.
The buck converter can only convert a low impedance input into a high impedance,
i.e. $R_{out}$ has to be larger than $R_{in}$. Because of this one will se later
that one will most of the time use a buck-boost topology
for such applications that is able to adapt an impedance match into both directions.
The basic asynchronous boost converter
The idea of boost converters works similar to the idea of buck converters. The
main difference is that the switch gets places on the load side of the inductor.
In a boost converter when the switch is closed the diode blocks and current is flowing
from the voltage source into the inductor, charging the inductor and increasing
the voltage. When the switch is opened the diode conducts and the inductor discharged.
The output voltage in a buck is basically the absolute value of the voltage across
the inductor. In a boost converter the behavior is different - when the switch is
closed the inductor is charged by the input voltage and no output voltage is supplied
since the diode is blocking. When the switch opens the diode conducts and the
voltage source in series with the charged inductor supplies the voltage to the
output load during the discharge phase. Thus the output voltage is larger than
the input voltage.

Again a simplistic view in continuous mode during on and off state allows to
see how the device operates. During on state the inductor is charged directly
from the input voltage source, the output voltage is only supplied by the
output capacitor:

During this phase the voltage across the inductor is the same as the input voltage.
Assuming again steady state operation with constant voltages (note that usually charging
also happens over a small resistor and the coil has some small series resistance):
[
U_L = U_{in} \\
L \frac{\partial I_L(t)}{\partial t} = U_{in} \\
\Delta I_L = \int_0^{t_{on}} \frac{1}{L} U_{in} dt \\
\Delta I_{L,on} = \frac{DT}{L} U_{in}
]
In off state the output capacitor is charged via the discharging inductor, the inductor
is put in series with the input voltage. Keep in mind that the voltage on the
inductor has flipped itās direction (the current stayed the same) since $U_{out} > U_{in}$

Doing the same as above in the charging phase:
[
U_L + U_{in} = U_{out} = U_{C} \\
U_{in} + L \frac{\partial I_L(t)}{\partial t} = U_{out} \\
\Delta I_{L,off} = \int_{t_{on}}{T} \frac{1}{L} (U_{out} - U_{in}) dt \\
\Delta I_{L,off} = \frac{(1-D)T}{L} (U_{out} - U_{in})
]
Now assuming steady state operation means the changes in current have to be the
same again:
[
\Delta I_{L,on} = \Delta I_{L,off} \\
\frac{DT}{L} U_{in} = \frac{(1-D)T}{L} (U_{out} - U_{in}) \\
D U_{in} = (1-D) (U_{out} - U_{in}) \\
\to D = \frac{U_{out} - U_{in}}{U_out} \\
\to \frac{U_{in}}{U_{out}} = \underbrace{(1-D)}_{0 \leq D \leq 1}
]
From the last equation one can see that the output voltage is always larger or
equal to the input voltage - thus the name boost regulator.
The basic synchronous boost converter
Again the main limit for efficiency are switching losses and - the passive switch,
the diode. The idea with the synchronous boost converter is the same as with
the synchronous buck converter - replacing the diode with an active switch.

Again the same pitfalls as with the synchronous buck converter arise - the switches
do require a dead time to be not enabled at the same time - though the failure modes
are different. In case both switches are enabled at the same time the capacitor
would discharge at highest possible current through both MosFETs in addition to the
charging current passing through Q2. The amount of time the power diodes are
conducting alone on the other hand again has high influence on efficiency.
The boost converter as impedance match (maximum power point tracking)
As with the buck converter the boost can also be used as adjustable impedance
match.
[
U_{out} * I_{out} = \eta U_{in} * I_{in} \\
U_{out} * \frac{U_{out}}{R_{out}} = \eta U_{in} * \frac{U_{in}}{R_{in}} \\
\frac{U_{out}^2}{R_{out}} = \eta \frac{U_{in}^2}{R_{in}} \\
\to \frac{U_{out}^2}{U_{in}^2} = \eta \frac{R_{in}}{R_{out}} \\
\to \frac{U_{out}}{U_{in}} = \sqrt{\eta \frac{R_{in}}{R_{out}}}
]
Inserting again the simplistic equation from above:
[
\frac{1}{1-D} = \frac{U_{out}}{U_{in}} \\
\frac{1}{1-D} = \sqrt{\eta \frac{R_{in}}{R_{out}}}
\to D = 1 - \sqrt{\frac{R_out}{\eta R_in}} \\
\to R_in = (\frac{1}{1 - D})^2 \frac{R_{out}}{\eta}
]
As one can see from the last equation the boost converter allows one to provide
a higher input impedance than output impedance. This is also what allows it to
transfer power out of batteries at low charge, harvest energy, etc.
The asynchronous basic buck-boost
Sometimes one requires a circuit that allows one to step up or down input voltage
or convert impedances over a full range from increasing to decreasing with
respect to the output impedance. The buck as well as the boost regulator only
handle one of those situations. To solve that problem there are two topologies
that one encounters:
- Either simply combining a buck and a boost regulator one after each other (or the
other way round). This provides an non inverting wide range regulator topology.
- Use an inverting buck-boost topology. This allows one to convert any input voltage
into any negative output voltage.
Lets take a look at the inverting buck-boost topology - keep in mind that $U_{out}$
is negative with respect to GND!

As one can see the inductor is this time placed parallel to the load. How does this
work? During the charge cycle the inductor is directly charged from the input
voltage (usually via some kind of sense resistor). During this phase the output is
supplied only from the output capacitor.

During on phase the equation is again pretty simple as long as one assumes constant
input voltage:
[
U_L = U_{in} \\
L \frac{\partial I_L(t)}{\partial t} = U_{in} \\
\Delta I_{L,on} = \int_0^{t_{on}} \frac{1}{L} U_{in} \\
\Delta I_{L,on} = \frac{DT}{L} U_{in}
]
In the off state the inductor is put in parallel to the output load (and output
capacitor). When one remembers that the inductor switches signs of the voltage
while discharging while keeping the current direction one now sees why the output
voltage is inverted.

Assuming constant output voltage (i.e. a really large output capacitor):
[
U_L = U_{out} \\
L \frac{\partial I_L(t)}{\partial t} = -U_{out} \\
\Delta I_{L,off} = \int_{t_{on}}^{T} \frac{1}{L} U_{out} \\
\Delta I_{L,off} = \frac{(1-D)T}{L} U_{out}
]
Again requiring steady state behavior:
[
\Delta I_{L,on} + \Delta I_{L,off} = 0 \\
\Delta I_{L,on} = - \Delta I_{L,off} \\
\frac{DT}{L} U_{in} = - \frac{(1-D)T}{L} U_{out} \\
D U_{in} = -(1-D) U_{out} \\
\to \frac{U_{out}}{U_{in}} = - \frac{D}{1-D} \\
\to D = - \frac{U_{out}}{U_{in} - U_{out}}
]
As one can see this regulator - under ideal conditions - would output the same
voltage as inputted for a duty cycle of $50\%$. Dutycycles between $50\%$ and $100\%$
increase, duty cycles between $0\%$ and $50\%$ decrease the output voltage with
respect to the input voltage.
The synchronous basic buck-boost
As one can guess after the journey through buck and boost converters up until
now the idea behind the synchronous converter is again replacing the passive
switching element by an active one:

Again the same considerations have to be made. This time switching both MosFETs
at the same time would cause the input to be applied directly to the output and
thus energy may flow either way - depending on input and output voltage. Again
dead time as well as flyback diodes are required for proper operation.
Using the buck-boost as impedance match
Now lets get to another interesting application of the buck-boost. It allows
one to arbitrarily tune the input impedance (or output impedance):
[
U_{out} * I_{out} = \eta U_{in} * I_{in} \\
U_{out} * \frac{U_{out}}{R_{out}} = \eta U_{in} * \frac{U_{in}}{R_{in}} \\
\frac{U_{out}^2}{R_{out}} = \eta \frac{U_{in}^2}{R_{in}} \\
\to \frac{U_{out}^2}{U_{in}^2} = \eta \frac{R_{in}}{R_{out}} \\
\to \frac{U_{out}}{U_{in}} = \sqrt{\eta \frac{R_{in}}{R_{out}}}
]
Inserting our simplistic equation that relates the duty cycle to the voltage
proportionality:
[
(-\frac{D}{1-D})^2 = \eta \frac{R_{in}}{R_{out}} \\
\to R_{in} = \frac{R_{out}}{\eta} * (\frac{D}{1-D})^2 \\
\to D = \frac{\sqrt{\eta \frac{R_{in}}{R_{out}}}}{1 + \sqrt{\eta \frac{R_{in}}{R_{out}}}}
]
As one can see the term $\frac{D}{1-D}$ can supply values smaller or larger than 1.
Thus the inverting buck-boost can provide impedance match in both directions - increasing
or decreasing the input impedance with respect to the output impedance. This makes
the buck-boost in theory ideal for applications like solar maximum power point
tracking controllers.
The most flexible four-switch solution
As one can see above most of the designs are rather similar. There is a four
switch based topology that allows one to operate a DC-DC converter in any of the
described modes. Note that the boost and buck modes again are outputting positive
voltages with respect to ground, the buck-boots topology outputs negative voltages.
| Control A |
Control B |
Control C |
Control D |
Regime |
| On |
Off |
PWM |
PWM |
Boost converter (non inverting) |
| PWM (A,C) |
PWM (B,D) |
PWM (A,C) |
PWM (B,D) |
Buck-boost converter (inverting) |
| PWM |
PWM |
Off |
On |
Buck converter (non inverting) |
As one can see one still only requires two PWM signals that are - in theory - exactly
negated to build any of the topologies. Still dead time is required due to the
above mentioned reasons. This is an interesting approach when one wants to build
such an controller using a fast microcontroller or DSP.

This article is tagged: Physics, Tutorial, Basics, How stuff works, Power grid, Electronics