38131536
38131536
38131536
Danielle Coffing
Submitted to the Department of Electrical Engineering and
Computer Science
in partial fulfillment of the requirements for the degree of
Master of Engineering in Electrical Engineering and Computer
Science
at the
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
June 1997
@ Danielle Coffing, MCMXCVII. All rights reserved.
The author hereby grants to MIT permission to reproduce and
distribute publicly paper and electronic copies of this thesis
document in whole or in part, and to grant others the right to do so.
i. I . 134
2
Author .............
......... " '. ...... .......
..
.......
Department of Electrical Engineering and CGnmpder Science
Mav 8,1997
Certified by...
Professpr of
Martin F. Schlecht
etricaliEngineering
Thesis SupeiWor
Accepted by........
rthur
C.
Smith...
rthur C. Smith
Chairman, Department Committee on Graduate Theses
Abstract
A design method for switching regulators using Matlab and Simulink has been developed. The Matlab script presented calculates the necessary bandwidth of the loop
given the power distribution network characteristics and the maximum acceptable
output voltage variation. The compensation network is then calculated for given
characteristics of the output filter components. The script also analyzes the stability
over the range of possible load currents. The transfer functions describing the system
are loaded into a regulator model in Simulink so that transient simulations can be
performed. This design method has been correlated with Spice and four breadboards.
The design cycle time can be decreased by using Matlab to gain intuition for how
parameter and component variation affect the stability and transient performance of
the regulator. This method presented is then used to determine the necessary characteristics of the error amplifier and comparators used in the MC33470 design. Finally,
the OTA and comparator designs are presented.
Thesis Supervisor: Martin F. Schlecht
Title: Professor of Electrical Engineering
Acknowledgments
I gratefully thank the following people who have given me their support on this thesis:
Bob Vyne, design manager; and Al Zahedi, product manager; for the thesis description, administrative and technical support and oversight, and overall guidance and
direction.
The Intel program managers; Bob Dotson, project leader; Jeff Morud, applications;
and Todd Manes, production and test; for providing detailed oversight and help on
specific design and operational requirements.
Also, never-ending technical support from Tom Somerville, Tom Petty, Troy Stockstad, and Richard Griffith in design; Monty Palmer and Theron Barnes in layout;
and Jaime Vargas in test.
Finally, Professor Schlecht, for his thoughtful explanations and valuable advice.
Contents
1 Introduction
13
1.1
Background
...........
1.2
1.3
. .
.
..
.. .
....
14
........
..........
. ....
16
17
........
18
Voltage Regulators
2.1
. . . . .
20
2.2
. . . . .
23
. . . . .
24
. . . . . . . . .
2.2.1
2.2.2
. . . . .
26
2.2.3
. . . . .
27
28
29
3.2
30
3.2.1
30
3.2.2
Matlab Scripts
46
3.3
4
. ..................
..
.....
47
. . . . . . . . . . . . . . . . .....
.
4.1.1
4.1.2
. . . . .
49
50
53
4.1.3
4.2
...................
4.2.1
4.2.2
4.2.3
..........
4.4
4.5
4.3.2
4.3.3
..........
4.4.2
Simulink .............
4.5.1
4.6
...................
. .
..
............
...
..
Final script
...
................
...
...
.....
. . . . . .
..........
96
97
98
4.6.1
98
4.6.2
107
109
Script Verification
5.1
Verification Procedure
................
5.2
Breadboards..............
..
. . . .
. .
. .....
.........
109
112
5.2.1
113
5.2.2
123
5.2.3
131
139
Specifications
6.2
142
6.2.1
142
.......
Parasitic Values .
. ..
...........
. . . . . . . . . . .
.......
. . . . . . ..
139
6.2.2
6.2.3
6.2.4
6.2.5
6.2.6
...................
......
144
...
........
......
145
.. . 145
Compensation Technique . . . . . . . . . . . . . .
.......
. . . 146
6.3
6.4
. . . 152
. . . 146
6.4.1
. . . . . . . . . . . .
. . . 154
6.4.2
. . . 154
157
7.1
. . . . . . 157
7.2
. . . . . . 160
7.3
7.2.1
. . . . . . 160
7.2.2
. . . . . . 162
7.4
. . . . .
143
Current Mirrors.
. . . . . . 163
...........
........
....
.....
......
. . . . . .
..
163
. . . . . . 168
7.4.1
. . . . . . 168
7.4.2
. . . . . . 169
7.4.3
. . . . . .
172
7.4.4
. . . . . .
174
7.4.5
Transconductance ..................
. . . . . . 175
7.5
Biasing..
..........
7.6
Design Summary .
. .........
. . . . . . . . . . . . .
...
. . . . . . 176
...
. . . . . . 177
182
8.1
Functional Description . . . . .
182
8.2
Design Requirements . . . . . .
182
8.3
Comparator Architecture . . ..
183
8.4
9
Simulation Results
. . . . . .
. . . . . . . . . . . ..
* 185
Conclusion
190
9.1
Summary
................
9.2
Conclusions .
9.3
..........
.....
. . . .. .. . .
. .
.............
.........
. . . . .
. 190
.
190
191
A Matlab Script
192
224
List of Figures
2-1
19
2-2
20
2-3
21
2-4
22
2-5
3-1
........
25
a) Switching regulator using an operational amplifer as the error amplifier. b) Switching regulator using an operational transconductance
amplifier as the error amplifier.
3-2
. ..................
..
31
......................
...............
33
3-3
3-4
3-5
. ...
34
. ............
40
3-6
3-7
43
44
3-8
4-1
4-2
4-3
. ...................
45
51
. .
57
59
4-4
....................
. .
........
60
4-5
4-6
.........
....
. . .
...
......
63
65
4-7 Model of the power distribution network used to find its transfer function. 66
4-8
4-9
.................
.....
. .....
......
69
Comparison of output filter model with and without the power distribution network model. ..
.............
. .
. .............
70
....................
.............
73
...
..
.....
.......
.......
75
4-12 a) Block diagram and b) typical Bode plot of a type III compensation
schem e. . ..........
..
.... ..
....
......
77
.. ..........
..
78
...
80
80
4-16 Bode plot for type II compensation with Rot = 100 kQ and 10 MQ..
81
82
. . .
92
4-19 Input impedance of the regulator and output impedance of the input
filter .......
.........
..
....
. .
..
...
.....
. .......
95
99
...
....
..
..
.............
111
5-2 Example voltage transient caused by a load current step over a 300 ps
...
.
.......
...
112
.
.
115
...
.....
116
........
118
..
...
............
123
5-8
5-9
Transient response of LTC1430 breadboard with Sanyo Oscon capacitors: a) 0- 2 ps. b) 0- 500 ps.
.............
.......
125
126
5-10 Pspice schematic of the LTC1430 breadboard using Sanyo Oscon capacitors..................
..
.....
...
...
.......
127
5-11 Pspice transient response of generated from Figure 5.10 for a) 0 - 2 ups
and b) 0- 200 ps...........
.....
.............
128
5-12 Open loop response for breadboard with Sanyo Oscon capacitors generated with M atlab ...................
.........
130
.
132
133
.................
135
5-17 Open loop response for breadboard with Nichicon capacitors generated
with Matlab.
.............
.....
............
137
6-1
6-2
Impedance curves for the regulator using Nichicon 1800 ,pFcapacitors. 149
.. .
140
6-3
6-4
153
6-5
155
6-6
Slew rate characteristic of the OTA output voltage with Cc1 = 100 pF,
and Cc2 = 10 nF. ......
.....
..
..............
156
7-1
158
7-2
161
7-3
7-4
....
.......
165
7-5
...................
. .
. . . . . . . . ..
. . . . . . . . . 16 6
.....
.............
. . . . . .
167
. . . . . . . . .
170
171
7-6
7-7
7-8
7-9
. . . . ..
. .............
. . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . .
. . . ..
. . . . . . .
171
. 172
. 173
. . . . . . . . . . .
. . . . . . . . . . . 178
. . . ....
. . . . . . . . . .
. . . . . . . . . . . . . . . . . .
178
179
179
Comparator schematic .
8-2
8-3
186
8-4
187
8-5
. . . . . .
. . . . ..
. . . . . . . . . .
. . . . . . . ..
184
185
..... .. 188
List of Tables
2.1
7.1
158
7.2
181
8.1
......
. ..............
23
189
Chapter 1
Introduction
Microprocessors are moving towards lower operating voltages and higher current requirements [11, 34]. The lower operating voltages are necessary to limit the power
dissipation caused by both the increase in clock speeds to greater than 200 MHz and
the increasing number of transistors in each successive generation IC [13]. At the same
time, the tolerance level for supply voltage variation is decreasing. This has created
a market for high performance power supplies using voltage regulator ICs that can
provide exceptional load regulation and stability while minimizing cost. Because each
new generation of microprocessor requires a lower operating voltage, voltage regulators are being designed with an onboard digital-to-analog converter (DAC) to increase
flexibility and enhance long term usability [13, 15]. The regulator IC also contains a
pulse width modulator (PWM), logic, and an error amplifier, but the power FETs,
compensation network, and output inductor and capacitor are all external. Because
the external components are chosen by the user, a list of possible component values
should be provided as part of the total regulator design solution. These values will
give the user guidelines as to what choices would provide the best transient response
and stability to meet the performance requirements of the particular application while
staying within a certain price range. Simulation problems can occur in both creating
these guidelines and designing the basic system regulator.
This thesis will focus on two aspects of the regulator design problem. First, a
design methodology will be developed using Matlab that avoids many of the typical
simulation problems. Secondly, the design parameters extracted using this methodology will be used to design the error amplifier and comparators needed for the regulator. This thesis work will be conducted at the Amplifier and Power group of
Motorola's Logic and Analog Technologies Group in Tempe, Arizona. A standard
switching regulator targeting the microprocessor market will be designed. This buck
regulator will use a 5 V input voltage to provide an output voltage between 1.8 and
3.5 V, programmed by an integrated 5-bit DAC in 50 mV increments below 2.1 V and
100 mV increments above 2.1 V. The regulator will maintain the output voltage to
within 5% of its nominal value during a transition between no load and maximum
load of 14 A. This 5% window includes variations due to both the voltage reference
and the load transient effects. The regulator IC has to be able to slew at 30 A/ps at
the output pins which drive the external power devices.
Due to the large current demands, the regulator must be very efficient to reduce
power dissipation. The regulator must have an efficiency rating of at least 80% at
maximum rated load current and a minimum of 40% at low load conditions. To
protect itself and the microprocessor it powers, the regulator must provide several
protective functions. First, it needs to power down if the output voltage goes more
than 15% higher than desired. Secondly, if the load current increases beyond a specified level, the regulator needs to provide a constant current that will not damage the
IC. The goal of this design is to provide all of the above functionality and versatility
and yet cost less than the currently favored discrete linear regulator.
1.1
Background
increasing complexity makes top level system simulations more important since there
can now be more opportunities for errors to occur.
Simplification of the top level schematic can help Spice 1 simulation convergence
problems as well as dramatically improve run time performance. These simplifications
include using macromodels to represent some subcircuits. For example, a comparator
can be modeled as a differential input high gain block with the output limited between
ground and the power supply.
For this thesis work, two simulation packages, PSpice and MCSpice, were available.
MCSpice is Motorola's internal version of Spice. Neither package alone provides a
complete design solution. Top level behavioral modeling and system simulation is
adequately supported in PSpice, but is not fully implemented in the most recent
version of MCSpice.
1.2
Design Strategy
This project has three main goals. First, the switching regulator IC must be less
expensive than other regulator ICs currently available. This dictates how large the
die area can be and what sort of package can be used. The limit on die size advocates
the use of the simplest possible solution to reduce the area needed. However, the
regulator also needs to be well designed so that it can provide reasonable performance
with a variety of external components. This will allow the customer to choose the
most cost effective solution for their application. Secondly, the regulator must be
completely compatible with similar products already commercially available so that
each regulator will have comparable performance for the same external components.
Finally, the regulator design must be completed quickly so that it can reach the
market in time to be designed into microprocessor power supplies.
The first objective is to understand the system level issues and use this understanding to develop a software algorithm to assist in the regulator design.
This
algorithm should be generic enough to allow it to be used with future regulator design programs. The first part of the software to assist with the switching regulator
design is a Matlab program, or "script". This script will allow the system level design
of a switching regulator to be interactive. It should also provide almost instantaneous
feedback on system performance when any key parameter, either external or internal
to the system, is modified. For example, the script should be able to calculate the
necessary compensation values to meet the loop bandwidth specification and desired
system phase margin. Also, it should be able to model the effect of the error amplifier characteristics on the loop performance and find the total cost of the external
components used. The second part of the software used in the design process will be
Simulink. Simulink allows transient responses to be simulated using Matlab transfer
functions.
The Matlab algorithm developed will provide information on the effects of the
subsystem parameters on the regulator performance. For example, changing the open
loop gain of the error amplifier will affect the phase margin and transient response of
the regulator and the designer needs to know if this change will be significant. Once
these effects are understood, the error amplifier and comparator specifications can be
determined. The second objective of this thesis is to determine these specifications
and use them to design the comparators and error amplifier. Because the project
goals include designing a regulator controller IC that is completely compatible with
competitors' parts and completing the design as quickly as possible, developing a
Matlab design method is necessary.
1.3
Thesis Organization
This thesis is organized as follows. Chapter 2 will present an overview of linear and
switching regulators and the three most commonly used control methods for switching regulators.
Chapter 2
Voltage Regulators
Voltage regulators can be used to provide microprocessors with a well-controlled power
supply at the desired operating voltage from a pre-existing supply. Each successive
microprocessor generation requires a lower operating voltage and higher supply current. The trend in power supply voltage is shown in Figure 2.1 [18]. The drop in the
supply voltage has been driven by two requirements. First, each new microprocessor
generation contains an ever-increasing number of transistors. The Pentium (
Pro1 ,
for example, has 5.5 million transistors. To allow such a large number of transistors
to be integrated onto a single integrated circuit, minimum device spacing and size has
decreased. Therefore, lower supply voltages are needed to keep the electric field from
exceeding the dielectric breakdown of these high integration technologies. Second,
decreasing the supply voltage decreases the power dissipation in the IC for a given
drain current and clock frequency. The dynamic power dissipation is given as
Pdyn = I Vd2dClfclk
(2.1)
As clock frequencies continue to increase, higher supply currents are required to account for an increase in parasitic, oxide and junction capacitances associated with
these very high density integrated circuits. Therefore, even though the supply voltage has decreased over time, the power dissipation has increased dramatically due to
1Pentium
CD
0)
cu3.
CL
0...,
c~
2.
a(
1.
I1992
1994
1996
1998
2000
Year
2002
2004
2006
nC
12&1
1986
1988
1990
1986
1988
1990
7I
30
25
. 20
0
o 15
0
CL
10
5
1984
1984
1992
1994
1996
1998
1992
1994
1996
1998
Year
2.1
In the past, if power dissipation was secondary to cost and complexity, microprocessor
power dissipation levels were low enough to allow discrete linear regulators to be used
to convert from the 5 volt supply to the microprocessor supply voltage [26].
A simplified block diagram of a linear regulator is shown in Figure 2.3 [1]. The
regulator uses an error amplifier to compare the output voltage to a reference voltage.
The amplifier then generates a control signal proportional to the error between the
desired and actual output voltages. This linear control signal drives a pass transistor
at some point between saturation and cutoff so that the correct amount of supply
current is supplied to the load to keep the output voltage at the correct value. An
input filter can be used to prevent rapid changes in load current from affecting the 5
volt supply. The output filter is used to reduce the ripple in the output voltage due
to large load current changes.
The principle advantage of using a linear regulator is that it can have fewer components than a switching regulator and can therefore be less expensive. However, for
applications in which efficiency is a critical design goal, a linear regulator may not be
Input filter
Output voltage
5 volt
supply
Input filter
Output voltage
5 volt
supply
Vendor
Unitrode
Unitrode
Linfinity
MicroLinear
Raytheon
Cherry
Maxim
Elantec
Linear Tech
Part Number
UC3570
UC3886
LMX1600A
ML4900
RC5042
CS5150
MAX797
EL7560/61
LTC1553
Control Method
Voltage
Average Current
Proprietary (VRM Only)
Voltage
Voltage/Current
Proprietary (Dual Feedback)
Peak Current
Peak Current
Voltage
2.2
Several different switching regulator control methods exist that can be utilized to provide the level of performance needed. However, due to differences in compensation
techniques, packaging and external components, the control methods are not compatible. Therefore, to be competitive in the microprocessor power supply market, proper
selection of the control method most widely used by other vendors and preferred by
customers becomes critical. The information available on high current switching regulator ICs from throughout the industry was examined and three regulator control
methods were found to dominate. These methods are voltage mode control, average
current mode control, and peak current mode control. Information on eight switching regulator control ICs designed for high end microprocessors, including the Intel
Pentium Pro, was collected and a summary of part numbers and the control mode
used is provided in Table 2.1 [4, 6, 10, 16, 17, 19, 20].
2.2.1
Voltage mode control was the first method developed for use in switching regulators
[7]. A simplified schematic of a voltage mode controlled regulator is shown in Figure
2.5a [18]. The duty cycle of the control waveform is generated by comparing the error
signal to a sawtooth waveform using the pulse width modulator (PWM) comparator.
The error amplifier signal is determined solely by comparing the output voltage to
the reference voltage. Because only one control signal is used to determine the duty
cycle of the waveform applied to the power FET devices, voltage mode control is
the simplest control method. This simplicity means that few external components
are required, and the internal IC design consumes less die area, allowing this control
method to be, in general, the least expensive solution. In addition, the stability analysis and simulation modeling can be performed more easily than for control methods
using multiple control loops.
However, with this simplicity comes some disadvantages [18]. For voltage mode
control, the two poles due to the output filter need to be compensated directly. This
is accomplished by adding positive phase, or a "phase boost" at the double pole
location. This compensation technique causes the loop bandwidth of the regulator
to be limited if an acceptable phase margin is to be maintained. Likewise, the phase
margin of the system can be very sensitive to variations in the components used with
this compensation method. Any variation of the filter capacitor ESR, RDSon of the
power FETs, ESR of the inductor, or compensation component values can change
the system phase margin by several degrees, resulting in a change in the transient
performance of the regulator. Also, instability can be caused by adding an input filter
if the impedance of the filter is chosen incorrectly.
Vin
Vont
a. Voltage Mode
Vin
Vout
Vin
c) Average
Unlike current mode control techniques, the current limiting functionality is not
inherent in this control method and must be added separately. Finally, the gain due
to the PWM is a function of the input voltage and oscillator peak to peak voltage. If
the input voltage changes, the resulting loop bandwidth and gain will change, again
effecting the transient performance of the regulator [17].
2.2.2
A block diagram of peak current mode control is shown in Figure 2.5b [18]. This
control method generates a control signal by comparing the inductor current to the
output voltage. The slope of the inductor current is given by Eq. 2.2.
A
-=
(2.2)
in - Vout
L
This inductor current has a sawtooth shape similar to that generated by the oscillator used in voltage mode control. However, unlike the constant slope of the oscillator
waveform, the slope of the current waveform varies as a function of input and output
voltages. This results in a constant loop gain and bandwidth which is independent of
the magnitude of the input voltage. Also, because both the current in the inductor
and the output voltage are being sensed, rather than just the output voltage, the
compensation needed to account for the output filter frequency response is simplified.
This results in an additional feedback loop requirement, but serves to minimize the
effect of the pole from the output filter inductor [17]. Under normal regions of operation only one pole affects the stability of the system and therefore the compensation
is greatly simplified, allowing a higher bandwidth to be achieved.
Peak current mode control has an additional advantage.
becomes more complicated than voltage mode control because two loops need to be
considered, rather than just one. Finally, the system becomes unstable at duty cycles
greater than 50% unless slope compensation techniques are employed [3, 7, 14, 24, 31].
This instability is well documented in the literature and can be avoided, but the necessary compensation increases circuit complexity and cost.
2.2.3
An average current mode control loop is shown in Figure 2.5c [18]. This method is
similar to the peak current control method, except that another amplifier has been
added. This high gain amplifier, referred to as the current amplifier, generates an
output signal based on the current through the inductor and the error signal from
the error amplifier. This has the effect of comparing the desired output current to
the actual output current which allows it to have the fastest response to changes in
load current of the three control methods presented here. This control method is
more complicated than the peak current control method due to the extra amplifier
needed, but it has the advantage of not needing slope compensation for situations
in which the duty cycle exceeds 50%. As with peak current control, average current
control has been well documented [6, 7, 18, 24] and design strategies have been developed to maximize its performance. This control method was a proprietary technique
developed by Unitrode and remains underutilized in the industry.
After consultation with potential customers and experts in the field, the decision
was made to design this high current switching regulator using voltage mode control.
This type of control would provide relative simplicity, market compatibility and a
robust level of performance, all at minimal cost. This thesis will concentrate solely
on the design and modeling of this type of buck regulator with the understanding
that the principles and ideas presented here can be used with other architectures and
control methods.
Chapter 3
Regulator Top-Level Modeling
Although voltage mode has been chosen as the control method of choice due in part
to its relative simplicity, the regulator top-level modeling and simulation can still
present problems using traditional approaches. The ability to perform top-level modeling is important for several reasons. First, large high integration systems, such as
switching regulator, are generally designed using a top down approach with a number
of designers each responsible for their own subsystem, or functional block. A top level
simulation provides each designer not only with subsystem performance parameters
which are not immediately obvious from the system specification, but also with information regarding interactions between each subsystem. For example, in a switching
regulator, variations in the magnitude of the output filter capacitor can have a rather
profound effect on the soft start circuit biasing value. Secondly, a top level simulation
allows a designer to gain an understanding of how a variation in an external component can effect overall system performance. For example, variations in the equivalent
series resistance (ESR) of the output filter capacitor can dramatically effect the phase
margin of the system. Finally, these simulations can be used to quickly confirm top
level system functionality.
3.1
IC designs are often done on a transistor level with Spice. However, the transient
response of a large system such as a regulator can take many hours to simulate. Also,
the combination of a mixed-mode circuit, and one or more feedback loops can cause
the simulation to either not find a bias point or worse, find a bias point which is
inaccurate. To further complicate matters, bias and supply currents in a high current
switching regulator can differ by as much as six orders of magnitude. This can cause a
myriad of problems in circuit simulators that are unaccustomed to simulating such a
wide range of simulataneous operating conditions. For example, the load current may
be as high as 10 or 12 amps, yet biasing circuits for the error amplifiers, comparators
and other analog circuits are typically in the range of 10 to 20 microamps.
Efforts by the designer to assist or correct Spice simulation problems through
adjustment of tolerance values can often lead to inconclusive results. The designer is
left with no indication from the simulator if the algorithm in the simulation engine
failed due to a mathematical difficulty, or whether the system itself is unstable. Also,
Spice is not generally regarded as a controls system design tool. However, systems
on a chip are increasingly oriented toward integration of complex control functions
where knowledge of system stability and stability margin are critical to the success
of the project.
One alternative approach using Spice is to create a simplified model minus the
nonlinear components such as the logic circuitry, power FETs, comparators and pulse
width modulator. With this model, state space averaging could be utilized to find the
open loop frequency response of the system. However, even if these simulations converge and are valid, an excessive amount of time is required to complete the analysis
due to the size of the system, making it a challenge for the designer to gain intuition
regarding the system performance. Therefore, it becomes difficult for a recommendation to be made to the customer about the external components necessary to get
the best regulator performance for the lowest price. In an effort to decrease simulation time, macromodeling or behavioral modeling can be used instead of transistor
3.2
Matlab is a mathematical software package that is used for matrix manipulation and
graphical representation of data. The Matlab control system toolbox and Simulink,
a graphical user interface for manipulating system transfer functions and performing
system transient simulations, are used along with the basic Matlab functions in this
project.
3.2.1
For example,
f-IAr
'supply
/-7'-
Vsupply
Figure 3-1: a) Switching regulator using an operational amplifer as the error amplifier.
b) Switching regulator using an operational transconductance amplifier as the error
amplifier.
the power FET driver applies either a logic 1 (represented as PVDD in Figure 3.1)
or ground (logic level 0) to the gate of the top power FET (M1) which biases the
device either completely off (Vg
the node connecting the two power FETs (the source of M1 and the drain of M2) is
either close to V,,,pp, or to ground. The output filter, which includes the inductor
L 1 and capacitor C 1 , is an impedance divider. The input voltage to this impedance
divider can be expressed as (V,,ppy)D where D is the duty cycle generated by the
PWM. This input voltage is the average voltage applied to the output filter. As the
duty cycle increases, M1 is on for a longer period of time and the input filter sees
a higher average voltage. This analysis applies to the regulator with either an OTA
or operational amplifier because the functionality of the output filter, PWM, power
FETs, and FET driver remains the same. For now, it will be assumed that both
L 1 and C1 are ideal and that the power FETs have zero on-resistance. The transfer
function between the FET driver and the output voltage is shown in the following
equation.
H(s)=
Letting Zc =
Zc
Zi + Zc
(3.1)
LCS2 +I
(3.2)
In the following chapter, the model will be expanded to include effects of parasitic
elements and non-ideal components. In Matlab, a transfer function can be described
as a ratio of two vectors, one for the numerator and one for the denominator, with the
coefficients of each vector arranged in descending order of the power of the complex
variable s. For example, the previous transfer function could be written as num= [1]
and den= [LC 0 1]. Therefore, this relationship allows the power FETs, FET driver,
and PWM to be eliminated in order to express this system in terms of a single transfer
function.
The output voltage of the error amplifier is proportional to the duty cycle of the
regulator. However, this model has so far neglected the gain due to the PWM and
Figure 3-2: Operational amplifier shown with input and feedback impedance networks.
oscillator. The output of the error amplifier, regardless of which amplifier architecture
is chosen, is compared to a sawtooth waveform to generate a digital signal whose pulse
width determines the duty cycle. The smaller the range of the oscillator waveform,
the less the output of the error amplifier is required to swing for a given input. This
results in higher loop gain. The gain due to the PWM is therefore given as
Apw
= VsUPPIY
(3.3)
e-j(2rf)T/2
AAVoscil
where the peak-to-peak value of the oscillator sawtooth voltage is given by Vo,,il [18].
T is the period associated witht the switching frequency. The term e - j (2 rf)T/
repre-
sents the phase delay due to the PWM. The transfer function derivations described
thus far are valid for systems employing an operational amplifier or OTA (Figure
3.1a or 3.1b). However, frequency domain modeling of the error amplifier is strongly
dependent on the type of amplifier architecture chosen.
The operational amplifier and its compensation can be drawn as shown in Figure
3.2. The reference voltage for the regulator is attached to the positive terminal of the
operational amplifier, which is small signal ground. Nodal analysis provides us with
the following relationships:
vin- Vx
Zin
V- Vx
Z
Vo = AV,
= 0
(3.4)
(3
(3.5)
Vo
V
-A
Vin
zz(A - 1) - 1
-A
(3.6)
where
(3.7)
(3.8)
and
Z = Cf S
2
I (Rf +
(3.9)
s(RfCflCfs2 + Cfl + Cf 2 )
When vectors representing transfer functions are defined, the convention is used that
a 1 at the end of the variable name indicates the numerator and a 2 represents the
denominator variable. For example, hl would be the numerator of H(s) and h2 would
be the denominator of H(s). An example of how Matlab is used to manipulate these
transfer functions into the form shown in Figure 3.3 is provided below:
%hfeedback component values
>> rf=5000;
>> cfl=5600e-12;
>> cf2=4700e-12;
>> ri=1000;
1000
>> zi2= [1]
zi2 =
>> zfl=[rf*cfl
1]
zfl =
0.0000
1.0000
1.0e-07 *
0.0000
0.1030
The feedback factor shown in Figure 3.3 is given as Zi/Zf. This can be expressed
using Matlab by using the series command. This command takes two transfer
functions and calculates the equivalent transfer function for their series combination.
Therefore, Zil/Zf can be expressed as the series combination of Zi and 1/Zf, or in
Matlab, as series(zil, zi2, zf2, zf 1). To account for the situation where the
feedback factor contains a higher order numerator than denominator, which is not
allowed in Matlab, a high frequency pole is added to the transfer function. From a
practical standpoint, this high frequency pole can be ignored, but from a mathematical standpoint, it causes the order of the numerator to be the same as that of the
denominator, satisfying the Matlab criteria. Adding this pole to the feedback factor
is the same as adding a zero to Zf. Instead of writing
Zfi = RfCfls + 1
(3.11)
s + 1)
(3.12)
where fh is the location of the high frequency zero in rads/sec. This technique is
illustrated below:
% high frequency zero
>> fh=le9;
0.0000
1.0000
>> [compl,comp2]=series(zil,zi2,zf2,zfl)
compl =
1.Oe-04 *
0.0000
0.1030
0.0000
1.0000
comp2 =
0.0000
To complete the error amplifier model shown in Figure 3.3, the open loop transfer
function of the operational amplifier needs to be defined. If the operational amplifier
is assumed to have a very high low frequency gain and a single dominant pole, the
gain as a function of frequency can be described as
A(s) = Is
A
(3.13)
where f, is the dominant pole location and A is the low frequency gain. For illustration, if we let A = 100, 000 and f, = 20 rad/sec, the open loop characteristic of the
operational amplifier can be modeled in Matlab as shown below:
% low frequency gain
>> a=le5;
% A(s)
>> al=[a]
al =
100000
>> a2=[1/fp 11]
a2 =
0.0500
1.0000
Now the model for the operational amplifier and its associated compensation network shown in Figure 3.3 is complete. The transfer function for the entire system can
now be found using the feedback command. The first two variables passed to the
feedback command are the numerator and denominator coefficients of the plant. The
second set of variables is the numerator and denominator coefficients of the feedback
factor. The fifth variable indicates whether positive or negative feedback should be
used.
% compute transfer function of operational amplifier
% with compensation
>> [opl,op2]=feedback(al,a2,compl,comp2, -1)
op1 =
1.0e+05 *
0.0000
0.0000
1.0000
0.0000
0.0000
1.0800
1.0000
op2 =
m
C-
10- 2
100
102
104
10 6
Frequency (rad/sec)
108
10- 2
100
102
104
10 6
Frequency (rad/sec)
101010
1010
1012
a)
"D
1_0
C,
CU
-c
a_
1012
(3.14)
__
t
IV
------------------I
Figure 3-5: Block diagram of an error amplifier and compensation that includes the
effect of the output impedance of the OTA.
OTA determines the DC gain. This gain is given by
A, = gmRout
(3.15)
where Rout is the output impedance of the OTA. The output voltage of the OTA and
compensation network, modeled as shown in Figure 3.5, is given by
Vout = IoutZc
(3.16)
where Zc is the impedance of the compensation network in parallel with the output
impedance of the OTA. Substituting Eq. 3.14 into Eq. 3.16, the transfer function of
the OTA and compensation network is found to be
Voust
o=
mZc
(3.17)
Vin
An example of modeling the OTA with Matlab can be illustrated using the compensation network shown in Figure 3.lb. The compensation values are assumed to be
as follows: Cc1 = 100 pF, Cc2 = 10 nF, and Rc = 20 kQ. Also, the output impedance
at low fre-
(3.18)
s+l
Zc = Rout 11(Rc +
1
Oc2S
) 11
(3.19)
Ccl S
Manipulation and simplification of Eq. 3.19 provides the following relationship for
the current to voltage conversion network:
S2cl Cc2RoutRc
)+ 1
(3.20)
Matlab can be used to find the numerical representations of these transfer functions
as shown.
% compensation values
>> ccl=100e-12;
>> cc2=10e-9;
>> rc=20e3;
% transconductance
>> gm=le-3;
% compute gm(s)
>> gml=[gm]
gml =
1.0000e-03
>> gm2=[1/wp 1]
gm2 =
0.0000
1.0000
1000000
zc2 =
0.0000
0.0103
1.0000
0.0002
1.0000
0.0000
0.0000
0.0103
1.0000
ota2 =
An example of the open loop transfer function of the OTA with compensation network
is shown in Figure 3.6.
After each section of the regulator has been modeled in the frequency domain, the
subsystems can be combined as shown in Figure 3.7 to find the complete open loop
transfer function of the system. Figure 3.7a shows the model of a regulator using an
operational amplifier as the error amplifier while Figure 3.7b shows an OTA used as
__P'lI
11111111
i TrTTTTI
;;;;;;;I
;;;;;;;I
100
;;;;;;;I
102
101
11111111
:1111111
r:1111111
;;;;;;;I
;;;;;;;I
103
:~11111
;;;;;;;I
105
104
106
107
Frequency (rad/sec)
'~""
::::1
:I111I
rrrrn
rrrrrr
-90
-180
;
100
;;;;;;;I
101
;;;;;;;I
;;;;;;;;I
102
;;;;;;;I
:::::::I
103
104
Frequency (rad/sec)
105
:::::::I
106
107
1
>> f2=[1*c 0 1]
Vout
Vi"n
APWM
----
Output
filter
Z cApWM
Vout
b.
Figure 3-7: Block diagram used in Matlab of the regulator using an a) operational
amplifier and b) an OTA.
f2 =
0.0000
1.0000
% pwm gain
>> pwm=2;
>> fl=fl*pwm
fl =
0.0004
2.0000
-100
..............
.I
-2An
100
10
I.
102
103
10 5
104
10 6
107
Frequency (rad/sec)
II
---
-----
----
...
0)
_r_
C
-360
-Y_
100
101
102
103
104
105
106
107
Frequency (rad/sec)
Figure 3-8: Complete system transfer function for the example in Section 3.2.1.
r2 =
0.0000
0.0000
0.0000
0.0000
0.0103
1.0000
45
3.2.2
Matlab Scripts
We now have a basic tool for determining the effects of changing key design parameters on the stability of the regulator system. However, redefining these parameters
to iterate towards an optimum design solution is both cumbersome and vulnerable to
errors. In addition, the assumption that each designer be familiar with Matlab does
not exploit the full advantage of the tool. Both of these issues can be avoided by developing a Matlab program, or "script" to assist in the regulator design process. The
script will implement an algorithm that allows the system level design to be interactive, requiring only that the designer enter key design parameters when prompted.
No detailed understanding of the inner workings of the script, or knowledge of the
Matlab tool is required. The algorithm should be fairly generic to allow its use with
future switching regulator design programs. The script will also provide almost instantaneous feedback on system performance when any key design variable, whether
it be internal to the IC or associated with an external component, is modified. Also,
Matlab can be used to automatically calculate compensation values to ensure system
stability. A simple example of a Matlab script is shown below.
% scriptexample.m
% This script plots the transfer function of an LC filter.
l=input([blanks(5) 'Enter inductor value (in uH): -- >
']);
1=1l*le-6;
c=input([blanks(5) 'Enter capacitor value (in uF): -- >
']);
c=c*le-6;
fl = [1]
f2=[l*c 0 1]
bode(fl,f2)
title('LC filter')
This script prompts the user for capacitor and inductor values and then calculates
and plots the transfer function of an LC filter. Matlab also supports control flow
statements, such as for and while loops, as well as if statements, allowing the iterative
design process to be automatic and self contained. As the model for the switching
regulator becomes more involved, including the addition of passive device parasitics
and other non-idealities, this design methodology will become more of a necessity
than a convenience.
3.3
The regulator model developed thus far is very simplistic, accounting only for first
order effects of the output filter, error amplifier and compensation, and PWM gain.
To create a more viable representation of the regulator, several important design
variables need to be incorporated into the regulator model, including output filter
and board parasitics, power FET transfer characteristics, error amplifier limitations
and effects due to input filter components.
Possibly the most important effect on system stability is that contributed by the
parasitics of the output filter components. The two primary modeling concerns are
the equivalent series resistance (ESR) and equivalent series inductance (ESL) of the
output filter capacitor. These non-idealities are especially important for two reasons.
First, since the output filter can see load current changes of more than 10 amps in
a very short period of time, the magnitude of ESR and ESL can prove to be the
limiting factor in how well the regulator IC can maintain transient load regulation
[12]. Secondly, the ESR and ESL each contribute a zero to the output filter transfer
function which can dramatically change the phase margin of the system. The output
filter inductor also has an ESR which can effect the system phase margin and needs
to be modeled.
The interconnect between the voltage regulator output filter and the microprocessor itself contains parasitic resistance and inductance that needs to be included in the
system model. In addition, the microprocessor socket contains a number of bypass
capacitors to ensure that high frequency, high load current changes do not result in a
loss of load regulation. These components are part of the power distribution network
and are included in the higher order model.
The simple model represents the power FETs as ideal switches with zero onresistance. The magnitude of the channel impedance, or RDSon, of the actual power
FET is on the same order as the ESR of the output filter capacitor and therefore
must be included. Also, the error amplifier, whether it be an operational amplifier
of OTA, was assumed to have a single pole response.
non-dominant poles do exist and may have an effect on system stability. In addition,
if an OTA is used, the model should account for variations in output impedance with
frequency.
Finally, some applications require that the input supply voltage be isolated from
the regulator system using an LC filter. The filter components and associated parasitics need to be included in the complete model due to the effect it may have on the
system transfer function.
Developing an accurate and concise model for a switching regulator power supply
is a laborious process. However, the benefits of such a model, from rapid determination of system phase margin to accurate prediction of load regulation capability, is
invaluable to the success of any regulator design program.
As the model begins to evolve using state space averaging techniques and validated
assumptions, its complexity warrants the use of the Matlab design methodology. Used
in conjunction with Simulink and the available Spice simulation engines, complete
system level understanding and circuit level performance requirements will avail itself
to members of the design team. Chapter 4 begins a more detailed analysis of this
design methodology and outlines more specifically the additional factors necessary to
complete the higher order model.
Chapter 4
Developing a Regulator Design
Methodology using a Matlab
Script
Matlab has been shown to be a very useful tool that can be used to quickly determine
the frequency response and stability information of a regulator system for various
combinations of design parameters.
allows the interface to be more intuitive, simple to use, and reduces errors that could
occur if large numbers of commands had to be entered by hand. A script allows
the system level design of a switching regulator to be interactive. It can also provide
almost instantaneous feedback on system performance when any key parameter, either
external or internal to the system, is modified. To use Matlab most effectively, a more
detailed model of the regulator needs to be derived. This model can be used to develop
a methodology to reduce regulator design time and increase the likelihood of initial
project success.
4.1
of up to 1000 amps/p
1 s. These load current transients can occur at a frequency from
between 100 Hz to 100 kHz [15]. Because of these large transient load current changes
and switching speeds, the interconnect between the voltage regulator module and the
microprocessor becomes a critical design parameter that can't be ignored. This interconnect system, comprised of parasitic components and bypass capacitors, is referred
to as the power distribution network [18]. The parasitic inductance contained within
this network limits the ability of the regulator to provide the required load current
slew rate at the microprocessor input pins. Bypass capacitors are therefore added
to the network as physically close to the microprocessor as possible to store charge
and allow the regulator slew rate requirement to be greatly relaxed. Because of the
particularly demanding load current transient requirements, the power distribution
network design becomes critical to ensure the transient specifications can be met.
The interactive Matlab script will begin by asking the user to specify the components and parasitics in the power distribution bus between the regulator and the
microprocessor. A plot of parasitic output impedance versus frequency will then be
generated. The user will be prompted for the maximum regulator output impedance
to allow the output to slew quickly enough to meet the regulator specifications, and
two impedance lines will be drawn. The frequency at which they intersect is the
necessary bandwidth of the error amplifier and compensation. Before the script is
developed, however, an accurate model of the power distribution network must be
created.
4.1.1
To understand the effects of the power distribution network on the transient response
of the regulator, the first step is to develop a model of the parasitic inductance
and resistance values as well as the bypass capacitors. A simplified model of the
regulator, power distribution network, and microprocessor is shown in Figure 4.1
[18]. Cb represents the bypass capacitors placed at the microprocessor pins. Rcb is the
equivalent ESR of these capacitors, and Lcb is their equivalent ESL. The Pentium (D
Pro, for example, can contain as many as 30 or 40 1 pF bypass capacitors arranged in
Distribution Network
Regulator
L
Ic
Rs
Socket
Lb
Cb s
1
(
CoS
(4.1)
Es 3 + FS 2 + Gs
where
A =
CoCbLcb(Lc+ Lb + Lco)
B =
F = CbCo(Ro + Rb + R)
G = Co + Cb
In the vector form used in Matlab, this is written as:
num= [co*cb*lcb* (1c+lb+lco) (lc+lb+lco)*rcb*co*cb+lcb*co*cb* (rco+rs)
lcb*cb+co*(lc+lb+lco)+rcb*co*(rco+rs)*cb (rco+rs)*co+rcb*cb 1];
den=[cb*co*(lc+lb+lcb+lco) cb*co*(rco+rcb+rs) (co+cb) 0];
The output filter capacitor value, Co; effective ESL, Lo; and effective ESR,Ro; is
usually the result of having several capacitors arranged in parallel. If the capacitors
are equal, their impedance is given by the following equation
Zeq = (
C1s
where R 1 = R 2 , C 1
+ Ls + Ri) 1 (I
C2S
+ LS
2 + R 2)
(4.3)
Zeeq -= 2(C1
2
Lls + Ri)
+ Lis + R 1)
(4.4)
+ Lls
(4.5)
Zeq
2C s
RI
This means that if n identical capacitors are placed in parallel, the total capacitance
is given as
Co = c n
(4.6)
where c is the capacitance associated with each. Also, the effective ESR is
ESR
Rso = E
(4.7)
where ESR is the equivalent series resistance for each capacitor. Likewise,
Lo
ESL
ESL
n
(4.8)
4.1.2
The previous section completed the derivation of the output impedance model over
frequency. This model can be used to determine if the regulator is capable of meeting
the transient specifications.
This is equivalent to
specifying a maximum allowable output impedance [18]. The current can not change
instanteously, implying that the required output impedance curve has a zero at a
frequency given by
fz =
0.35
(4.9)
where tr is the load current risetime. Combining these two curves gives
1
Zreq = Zmax
fz2-x
1(
(4.10)
The power distribution network is capable of handling the load transient when the
actual output impedance is less than the required impedance, Zreq. Therefore, the
frequency at which these two curves intersect is the minimum loop bandwidth needed
to meet the transient voltage specification. This analysis is very useful because it
allows the designer to understand the tradeoff between the size of the filter capacitor and the required loop bandwidth. As the filter capacitor is increased, the loop
bandwidth specification is relaxed. An example of this type of analysis is illustrated
in Figure 4.2.
4.1.3
Development
Bandwidth Requirement
Now that the importance of the output impedance has been established in determining
the necessary regulator loop bandwidth, the process can be automated with a Matlab
script. First, the variables in the power distribution network transfer function are
defined.
lco=0. 34e-9;
cb=40e-6;
rcb=3e-3;
lcb=12e-12;
rs=1.29e-3;
lc=.26e-9;
lb=.5e-9;
Next, the maximum impedance in the mid-frequency region to meet the output cur-
rent slew rate requirement without exceeding the voltage transient specification is
defined by the user.
imp=input([blanks(5) 'Enter maximum output impedance in
mid-frequency region (ohms): -- >
']);
Because the current risetime is not infinite, the maximum impedance curve has a zero
whose location is a function of the rise time as discussed in the previous section. This
zero location is calculated after prompting the user for the load current rise time.
']);
fc=0.35/tr;
The total filter capacitance and effective ESR are found using the number of
capacitors, and the ESR and capacitance associated with each.
capnum=5;
capvalue=330e-6;
capesr=0.04;
co=capvalue*capnum;
rco=capesr/capnum;
The expression for the output impedance of the power distribution network as a
function of frequency was calculated in Section 4.1.1 and shown in Eq. 4.2. The
output impedance is expressed below in Matlab format as Zot(s) = num(s)/den(s).
num= [co*cb*lcb* (lc+lb+lco)
(lc+lb+lco)*rcb*co*cb+lcb*co*cb* (rco+rs)
lcb*cb+co*(lc+lb+lco)+rcb*co*(rco+rs)*cb
den=[cb*co*(lc+lb+lcb+lco)
(rco+rs)*co+rcb*cb 1];
To plot the output impedance versus frequency, the bode command is used. To
satisfy the Matlab requirement that the order of the numerator be less than or equal
to the order of the denominator, an extra pole is added to increase the order of
the denominator. This pole is represented by the variable temp and is added at a
frequency of 1012 rad/sec in this example, so that it does not affect the accuracy of
the impedance curve in the region of interest. After the pole has been added, the
output impedance is given by
Zout (s) =
num(s)
n(s)
den2(s)
(4.11)
ZreqS
imp
sS+ 1
(4.12)
*c+1
As before, a high frequency pole is added to Zreq(s) so that the order of the denominator is the same as the order of the numerator. The command freqresp is a low-level
command used in the definition of the bode command in Matlab. It generates the
magnitude of the output impedance as a function of the frequency vectors provided.
The vector magi contains the maximum output impedance of the regulator to meet
the voltage transient specification.
[magl]=freqresp([1/fc*imp imp], [le-12 1] ,f);
All of the data needed to determine the required loop bandwidth is contained
in the three vectors mag, magl, and f.
contained in the vector mag, is constructed on a log log scale. The axis is rescaled to
remove information distorted by the addition of the high frequency pole fh. This is
done by saving the current axis information in the vector v, and then rescaling such
that the magnitude scale remains the same and the frequency axis is limited to 1010
rad/sec.
--' 4
]u
10
102
-,
O 101
100
E
10-1
-2
10
1-3
100
102
104
106
108
1010
Frequency, Hz
figure
loglog(f ,mag)
v=axis;
axis([1
The maximum allowable output impedance is plotted on the same axis, in red. Then
the axes are labeled.
hold on
loglog(f,magl, 'r')
xlabel ('Frequency, Hz')
ylabel (' Impedance, Ohms')
hold off
Referring to Figure 4.2, the user is provided with a visual indication of where
the two impedance lines intersect. Matlab determines the location of this point by
comparing the two vectors, mag and magi, starting with the highest frequency and
iterating the frequency vector f towards zero. Each time the maximum acceptable
impedance is higher than the output impedance, the variable loopbw is overwritten
with the new value of frequency. Therefore, the required regulator loop bandwidth is
given as the frequency at which the maximum acceptable impedance is lower than the
output impedance. If the intersection of the two impedance curves occur more than
once, the loop bandwidth is given as the highest frequency at which they intersect.
loop=length(f);
while mag(loop) < magl(loop), loopbw=f(loop);, loop=loop-l; end
If the output filter component values provided by the user, in combination with
the power distribution network values, result in a required loop bandwidth of greater
than 1010 rad/sec, the variable loopbw is set to zero to indicate that the entered
values are unreasonable.
if mag(length(f))
> magl(length(f)),
loopbw=0;
end
The script allows the user to then modify the component values and observe immediately the effect this will have on the system bandwidth requirements.
4.2
A simple transfer function for the regulator output filter was derived in Section 3.2.1.
and was given as: H(s) = 1/(LCs2 + 1) (Eq. 3.2) This transfer characteristic was
determined to be inadequate since it neglects the parasitics associated with the filter
capacitor and inductor and ignores the effect due to the finite channel impedance of
the power FETs. A more detailed model needs to be derived that accounts for the
ESR and ESL of the capacitor, the ESR of the inductor, and the RDSon of the power
FETs. since these parameters have a significant effect on the regulator phase margin.
Also, since this switching regulator needs to maintain the required supply voltage to
the microprocessor from a no load (Stop Clock) condition to a maximum load demand
in excess of 10 amps, understanding the transient performance dependence on these
parameters becomes critical.
R1
L
Co
RcO
Lco
Figure 4-3: Model of the output filter used to find its transfer function.
4.2.1
Figure 4.3 illustrates a more complete model of the output filter, showing the ESR
(Rco) and ESL (Leo) of the capacitor and ESR (RI) of the inductor. Using a simple
voltage divider relationship, the new transfer function is given as:
(LcoCo)S 2 + RcoCs + 1
(4.13)
To show the impact of including the filter parasitics, a comparison of the transfer characteristics of the two models is illustrated in Figure 4.4 for the following component
values.
L=2.2 pH
Co=1650 pF
LC0o= nH
RCo-=10 mQ
Rz=10 mQ
The zeros of Eq. 4.14 are found using the following relationship.
=-RoCo
Wz =2LC
(RoCo)2 - 4LoCo
2LeoCo
(4.14)
(4.14)
(3
(.
)6
Frequency (rad/sec)
Co
0/)
-a
a.
nD
10 3
10 5
10 4
106
Frequency (rad/sec)
Figure 4-4: Comparasion between output filter models with and without parasitics
included.
In general, 4LCoCo can be neglected since it is much smaller than (R,,oCo) 2 . Therefore
the first zero occurs at approximately
Wz-
Rco
LeoCO
(4.15)
This is usually at a frequency high enough that it can be neglected. If Lco is small,
the lower frequency zero is located at approximately
1
Wz2 = R(4.16)
The poles of Eq. 4.13 are given by:
wp =
(-(Ron + R)
Co
(Ro + R) 2 C - 4LCo)
2LC(4.17)
2LCo
(4.17)
Rco + R(
2L
2L
If (Rco + R 1) 2 C2o < 4LCo, the poles will have an imaginary component.
(4.18)
As the
of the ESR of the inductor and capacitor. If the ESR of the inductor were to be
neglected, the poles of the output filter would appear at a higher frequency and the
filter would exhibit a lower Q than expected. Along with the previously mentioned
problems, if the ESR of the capacitor is underestimated, the low frequency zero caused
by this parasitic resistance would occur at a lower frequency than expected. Typical
values of ESR and ESL values will be on the order of 10 mQ. Varying their magnitudes
by even a few milliohms can, in many cases, change the expected phase margin of the
system by several degrees. Therefore, it is extremely important to not only include
these values in the output filter model, but also to determine what percent variation
they can have and still be able to guarantee system stability.
The RDSon of the power FETs is another important parameter that needs to be
modeled. When the top power FET is on (Ml in Figure 3.1), its channel impedance,
or RDSon, is in series with the filter inductor. Likewise, when the bottom power FET
is on (M2 in Figure 3.1), its RDSon is also in series with the inductor. This allows
the RDSon of the power FETs to be modeled as a series resistance. In the model
developed above, the RDSon can easily be included by redefining R 1 as the quantity
(R 1 + RDSon). In some regulator applications, two FETs are used in parallel for M1
and one is used for M2. In this situation, the effective value of the RDS,, is determined
by the duty cycle. This can be accounted for in the model by using both the RDSon
of a single power FET and that of a parallel combination represented as RDson/2.
This will allow the AC performance characteristics of the system transfer function to
be verified for a power FET channel impedance in the range of RDSon/
4.2.2
to RDSon.
From customer information, it was determined that the output load on the regulator
could be modeled as a purely resistive element [15]. The MC33470 voltage regulator
is required to provide from 0 to 14 amps with a regulated output range from 1.8 to
3.5 volts. This corresponds to an equivalent resistive load value of 0.13 Q or greater.
RI
Figure 4-5: Model of the output filter including the effective load resistance.
The load can be modeled as shown in Figure 4.5 where a resistor is placed in parallel
with the output filter capacitor. As the load current changes, the effective value of
the resistive element changes causing a change in the location of the poles and zeros
in the output filter transfer function.
The exact transfer function of the output filter including the load current can be
derived as follows:
Vo
Vi
S=
(Rload
(4.19)
Therefore:
Vo
V
As 2 + Bs +C
Ds3 +ES 2 +Fs+G
where
A = RloadLcoCo
B = RloadRcoCo
C = Rload
D =
LcoLCo
(4.20)
Road+ R 1
This transfer function contains two zeros and three poles. In most cases, we can
ignore the ESL of the capacitor which creates a high frequency pole/zero pair. The
output filter transfer function will then reduce to:
RloadRcoCoS + Rload
Vo
V,
L=2.2 pF
Reo=0.01 Q
Lco=1 nH
RI =0.01 Q (which represents the RDSon of the power FET and ESR of the inductor)
Rload varies from 0.13 Q to infinity to represent a load transient from 0 to 14 amps.
If the unity gain crossover frequency of the regulator loop is set at 3 x 104 rad/sec, a
transition from maximum to minimum load current will change the phase margin of
the system by almost 100.
4.2.3
So far the output filter model has neglected the effects of the power distribution network, including both board parasitics as well as the microprocessor bypass capacitors
with their associated parasitic elements. The output filter and power distribution
network is shown in Figure 4.7. Deriving the transfer function to relate Vo to
by
hand is tedious, and can be simplified using Matlab. An expression for Vo/Vi can be
cc
CD
103
104
10s
106
105
106
Frequency (rad/sec)
0)
CD
"0
0
-c
'3_
103
104
Frequency (rad/sec)
Figure 4-6: Example of output filter characteristic change due to changing load current.
Z3
zi
- -
Vi
To
Figure 4-7: Model of the power distribution network used to find its transfer function.
found using a combination of basic voltage divider relationships. These relationships
can be defined as follows:
S(s)
T(s)
Vi
Vf
(4.22)
Z4
Z3 + Z4
IIZ2
(Z3 + Z4)
Zi + Z 2
II(Z3
(4
+ Z4 )
therefore,
Vo
V
Z2 (Z3 + Z4 )
Z4
(Z + Z2 11(Z 3 + Z 4 ) Z3 + Z4(4.24)
where
Z2 =
Z 1 = R, + Ls
(4.25)
1
+ Leos + Rcos
Co s
(4.26)
Z 3 = Rs + (Lc + Lb)s
(4.27)
and
Z4=
(4.28)
First, the impedances Z 1 through Z 4 are defined in Matlab. The numerator and
denominator of Z 2 and Z 4 are defined separately to aid in the simplification of Eq.
4.24.
Z1=[1 rdson];
is found, a complete relationship for V,/Vi can be determined numerically with the
Matlab series command. Using the definitions for Z 1 through Z4 above, the equation
for T(s) can be expressed as follows:
T(s)
(Z3 + Z4 )Z2
T()
(Z3
Z4)Z2
+ Z4 )Z 2 + Z 1 (Z 2 + Z 3 + Z 4 )
(4.29)
The parallel combination of two transfer functions of the form G(s) = gl/g 2 and
H(s) = hi/h 2 is given by
G(s) + H(s) =
g2 h2
(4.31)
This technique is utilized to develop an expression for the transfer function of the
output filter in parallel with the power distribution network. The steps necessary to
complete the analysis are outlined below.
% determine numerator coefficients of T(s)
% numl represents the quantity z3z4d+z4n
The denominator of T(s) is actually given as the sum of the vectors tempi and temp2.
However, they cannot be summed directly because the two vectors are of different
lengths. To correct this problem, the length of the vector templ is increased, and the
two vectors are summed to form the denominator of T(s). The complete expression
for Vo/V1
is found by taking the series combination of T(s) and S(s) as shown below.
temp3=[0 tempi];
out2=temp2+temp3;
[tl,t2]=series(outl,out2,sl,s2);
To verify the validity of the Matlab model derived above, the output filter and power
distribution network was constructed and simulated in PSpice. A comparison of the
frequency characteristics of the two models is shown in Figure 4.8. The component
values are the same as used in Section 4.1.3, except R,,o = 2.6 mQ.
x10
20.0
O: dB20(VF("/filterout"))
0-00
-20.
40A2
-60.e:
-80.2-100.
-120.
-50
-100
104
106
Frequency (rad/sec)
108
106
108
1010
-180
104
Frequency (rad/sec)
b.
Figure 4-8: Using a) PSpice to verify the b) Matlab model of the power distribution
network.
69
-50
;;;f - I - I 11
"Z-100
...
......
-150
;;;;;
; I ;;;;;;I
; ;;;;;I
105
106
Frequency (rad/sec)
; ;;;;1
;;,,7
-'
103
104
`
108
10
10
108
109
'-""'
3 -90
c180
man, ;
;;; I
a;;;;I
:::::
-180
103
104
105
106
107
Frequency (rad/sec)
Figure 4-9: Comparison of output filter model with and without the power distribution network model.
The frequency response of the output filter, with and without the inclusion of the
power distribution network, is illustrated in Figure 4.9. At low enough frequencies,
the characteristics are reasonably well matched. However, as the loop bandwidth approaches 105 rad/sec, the effect due to the high frequency poles and zeros of the power
distribution network become increasingly obvious. Therefore, the power distribution
network can only be neglected if the loop bandwidth is maintained well below the
frequency at which the contribution from these high frequency poles and zeros can
be felt.
The following section of script prompts the user to enter the load transient requirements for their particular application.
min=input([blanks(5)
if min==O,
min=le-6;
end
']);
']);
']);
']);
rloadl=maxv/min;
rload2=minv/max;
The user can now verify that the system stability criteria is met for minimum and
maximum load conditions.
4.3
The basic model for the error amplifier with compensation network was developed in
Section 3.2.1 for both an OTA and operational amplifier. From the values provided
by the user for both the error amplifier and compensation network, the Matlab model
and associated script would generate the corresponding frequency characteristic. The
error amplifier compensation has a large impact on the phase margin of the regulator.
If the output filter components are modified to alter the output voltage transient
response or decrease the system cost, the compensation components will also need
to change to preserve the desired phase margin. This can be a very time consuming
process for the designer to manually recalculate the compensation values each time
the output filter values change. Therefore, the Matlab algorithm needs to incorporate
a routine to automatically calculate the necessary compensation values given the error
amplifier characteristics and output filter components. This algorithm should offer
the user the option of several types on compensation schemes, including single pole,
single zero or double pole, double zero methods. Also, it should allow the user to
manually enter compensation component values so that the effect of changing other
system parameters can be observed.
4.3.1
In Section 3.2.1, the operational amplifier model was found to be governed by the
transfer function in Eq. 3.13 which is repeated below.
A(s) =
A
1)
(is+
A is the low frequency open loop gain and f, is the low frequency pole location.
The model can be made more complete by accounting for the high frequency, nondominant pole so that the new operational amplifier transfer function becomes:
A(s) =
1)
+1)
(4.32)
The amplifier transfer characteristic with a type II compensation scheme [35] was
derived in Section 3.2.1. However, other compensation techniques are available, the
simplest type of which is the low frequency single pole approach. This method is
referred to as type I [35] and can be implemented as shown in Figure 4.10a. For this
method,
1
(4.33)
Zf =
and
(4.34)
Z =R
If we assume an ideal amplifier frequency response, the transfer function for the error
amplifier with compensation reduces to Zf/Zi or
Hi(s) =
RCs
(4.35)
The Bode diagram of this transfer function is shown in Figure 4.10b. This method requires the fewest components and is therefore very cost effective provided it is useable
for a particular regulator application. However, it has the disadvantage of limiting
__
nr-,.
60
......
.... . .. . .: ................................. . . :
.......
.....
.. .. . . .. .. ..
.c40
20
.... . . .
:.. .
. .
.. .... ....... ..............
.
.
.
20
10 - 1
...... . .. .
. ......
... . . ...... .. .....
..
.:.
.. . .........
..
: :
: ... .
.
..
100
101
Frequency (rad/sec)
-89
-89.5.........
-89.5
(
.... ........................ . .
.......
-90
-90.5 ...
........................
-91
10- 1
100
Frequency (rad/sec)
b.
101
Figure 4-10: a) Block diagram and b) typical Bode plot of a type I compensation
scheme.
73
the regulator loop bandwidth to a very low value. The single pole approach is used to
reduce the loop gain to less than one at a frequency below the two poles contributed
by the output filter. For regulators used in microprocessor applications, this double
pole combination usually occurs around 10 kHz. Using a type I compensation scheme
would require that the loop bandwidth be less than 10 kHz, which is usually too
low when the switching frequency of the regulator is approximately 200 to 300 kHz.
Therefore, type I will not be considered further in this thesis because it has little
application to this type of regulator program.
The architecture of a type II [35] compensation method is shown in Figure 4.11a.
In Section 3.2.1, the feedback network relationship was found in Eq. 3.10 and is
repeated below.
(RfCfis + 1)
s(RfCflCf 2s + Cfl Cf 2)
with Zi - Ri. If we assume an ideal amplifier characteristic, the transfer function of
the amplifier and compensation is given as:
H 2 (s) = Zy
Zi
(RfCyls + 1)
(4.36)
This transfer characteristic, illustrated in Figure 4.11b, contains a single pole at DC,
a second high frequency pole, and a zero. The placement of this zero is set relative to
the second pole to achieve a phase lead characteristic dependent on the spacing of the
doublet. Up to 900 of phase addition is possible if the zero and high frequency pole
are widely separated. The maximum phase lead is positioned such that the negative
phase contributed by the double pole from the output filter is partially cancelled by
the compensation network. This allows the cross over frequency of the regulator to
be somewhat higher than the double pole frequency, unlike with type I compensation.
As discussed in Section 4.2.1, if the ESR of the output filter capacitor is approaches
zero ohms, the negative phase contributed from the filter may approach -180'.
This
Of,)
Vo
50
Frequency (rad/sec)
-9
102
10 4
106
Frequency (rad/sec)
b.
Figure 4-11: a) Block diagram and b) typical Bode plot of a type II compensation
scheme.
[35] method can be used. The type III architecture is shown in Figure 4.12a with Zf
and Zi as follows:
RfCfls + 1
s(RfCfICf 2s + Cfl + Cf 2)
Ri2RilCS 1 + Ril
(Ril + Ri2 )CiS +-1
With an ideal amplifier, the transfer function of the operational amplifier and compensation network, illustrated in Figure 4.12b, is given as shown in Eq. 4.39.
H3 (s)
Zf
Zi
f s + 1)
Cis + )
s(RfCflCf 2s + Cfl t Cf 2 )(Ri2RilC1s + Ril)
(4.39)
This characteristic has a single pole at DC and, depending on the selection of the
component values, can contain two high frequency pole - zero pairs. This type of
compensation method can therefore contribute up to 180' of positive phase, allowing it
to compensate a much larger phase lag from the output filter components. However, it
has the disadvantage of requiring many more external compensation components than
either a type I or type II method and therefore would only be used when absolutely
necessary or cost and simplicity were not important issues.
The final type of compensation that will be considered is a series RC network, as
illustrated in Figure 4.13a with
Zi = Ri
(4.40)
and
Zf =
RfCfs + 1
Cf S
(4.41)
(4.41)
The transfer function of the amplifier and compensation network, assuming ideal
amplifier characteristics, is given as shown in Eq. 4.42.
Zf
RfCfs +1
+1
H 4 (s) = Z - RfC
CCRis
Zi
(4.42)
It has a
single, low frequency pole and a high frequency zero. This results in a 900 phase
Cf,
1UU
. 50
0
sm;;I;;;;;
Ad
101
100
;;;;
...... ...... .
... ..... . .
;;;';;;;;';;;;;
103
102
;;;
105
104
106
107
106
107
Frequency (rad/sec)
9 0
..
. ....
...
. ....
-90
100
101
102
103
104
105
Frequency (rad/sec)
b.
Figure 4-12: a) Block diagram and b) typical Bode plot of a type III compensation
scheme.
a.
.---
I DU
100
......
.
.............
50
10
100
10
103
102
Frequency (rad/sec)
104
105
100
101
102
Frequency (rad/sec)
b.
103
104
105
-30
S-60
a-
-90
10- 1
Figure 4-13: a) Block diagram and b) typical Bode plot of a series RC compensation
scheme.
78
lead characteristic above the pole frequency. This method is similar to the type II
technique, with the exception that the series RC method does not have the second
high frequency pole. The advantage of this approach is that is has less components,
and is therefore less costly to the customer, than a type II, while still achieving
basically the same functionality. The disadvantage is that without the second high
frequency pole, the loop gain at high frequencies is not reduced fast enough, leaving
the system more suseptible to noise.
A simplified model was derived for an OTA in Section 3.2.1 in Eq. 3.18 and is
summarized below:
Gm(s)
t=-
s+ 1
Avin
where gm is the low frequency transconductance of the amplifier and wp is the location
of the dominant pole. The non-dominant poles of an OTA are generally at a much
higher frequency than those associated with an operational amplifier. These high
frequency poles will therefore be neglected to preserve the simplicity of the OTA
model.
Compensation methods for the OTA resemble those used with an operational
amplifier. The first method that will be considered is the single pole, or type I architecture as shown in Figure 4.14. The transfer function of the OTA and compensation
is given by
H(s) = Gm(s)Zc(s)
(4.43)
where Zr(s) is the output impedance of the OTA in parallel with the compensation
network. For a type I compensation method,
Zc (s) =
Rout
RoutCcls + 1
(4.44)
This compensation method has the same limitations as the type I described for an
operational amplifier. To achieve the desired phase margin of the system, the pole
due to the compensation needs to be added at a frequency lower than that of the
AVi
Vout
Ccl
CsCc2RcRout + Rout
2CcCc2RoutRc + s(R ou tCc2 + RoutCc1 + Cc2Rc) + 1
(4.45)
This compensation has a zero and 2 poles arranged such that a phase lead of up
to 90' is created. However, the range of frequency over which the phase lead occurs
50
- ----
---
-- -
- --
- --
- ---- -
- --
---
---
--- --
-- -
-- - -
- --
-- - - -
-- -
- --
---
r0
----
Ar
10
102
100
10
102
-- Ok/10
'---
~ ~~-~~~~'~~~-~`"~~'~~~~-~''-a
---------
1O"
10
104
103
Frequency (rad/sec)
105
06
105
106
10
ra
00
-D
"D -90
CZ
CL
r-
-,
;;;;;
;;;;;
;;;r;;
;;;;
r I
;;;;;
a-
-180
100
101
102
104
103
Frequency (rad/sec)
10s
106
107
Figure 4-16: Bode plot for type II compensation with Rout = 100 kQ and 10 MQ.
is dependent of the output impedance of the OTA. For example, using the values
from Section 3.2.1 and varying Rout between 100 kQ and 10 MQ, the two OTA and
compensation transfer function extremes are shown in Figure 4.16. When an operational amplifier is used, the feedback path around the amplifier tends to minimize the
effects of the frequency characteristics of the amplifier on the compensation. Because
the compensation of an OTA does not create a feedback loop around the OTA, the
transfer function of the OTA and compensation is more suspectible to variations in
OTA characteristics. Therefore, if a type II compensation method is used, the possible variation in output impedance has to be considered to ensure the system stability
is acceptable over the entire output impedance range.
Series RC compensation of an OTA is shown in Figure 4.17. Z, is given as:
Zc =
RcRoutCcis + Rout
(Rout + Rc)Ccls + 1
81
(4.46)
AVin
Vout
4.3.2
During the regulator design process, the designer may need to change the error amplifier compensation technique and component values multiple times. Because of this,
the design cycle time can be reduced by including an algorithm in the Matlab script
to calculate compensation values automatically for each type of possible compensation architectures. The script should allow the user to manually enter the desired
compensation values rather than calculating them automatically so that the effects
of changing error amplifier parameters on the system stability for a given set of compensation values can be observed. The Matlab script has been developed with these
considerations in mind.
In reference [35], a method for calculating compensation components based on
The phase is converted from radians to degrees. The desired phase margin is defined
as m. These two values will then allow the required phase boost contribution from
the compensation to be calculated.
p=p*180/pi;
m=pm;
boost=m-p-90;
If the amount of phase addition is greater than 90', K is set to its maximum value of
10 since type II compensation can not provide a phase boost of greater than 900.
if boost>90,
k=10;
end
The variable g is defined to be the inverse of the loop gain at w, the loop crossover
frequency. By requiring the transfer function of the error amplifier and compensation
to be g at we, the loop gain is set to be 1 at w,.
g=1/abs((outl(1)*(wc*i)+outl(2))/(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3)));
R 1 is assumed to be 1 kQ, and the other compensation values are found using the
equations from the reference. If a different value of R 1 is desired, all other values can
be scaled appropriately to maintain the location of the poles and zeros.
rl=le3;
cl=1/(wc*g*k*rl);
c2=cl*(k\^2-1);
r2=k/(wc*c2);
Type III compensation values are calculated in a manner similar to that for a type
II approach with the primary difference being that the maximum phase addition is
limited to 180'. This also results in a larger allowable value for the K factor. The
Matlab script is shown below.
p=angle(outl ()*(wc*i)+outl(2))-angle(out2(1)*(wc*i)^2
+out2 (2)*(i*wc) +out2 (3));
p=p*180/pi;
m=pm;
boost=m-p-90;
if boost>180,
k=100;
end
k=(tan((boost/4+45)*pi/180)) ^2;
if k>100,
k=100;
end
g=I/abs((outl(1)*(wc*i)+outl(2))/(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3)));
rl=1e3;
cl=1/(wc*g*rl);
c2=cl* (k-1);
r2=k^0.5/(wc*c2);
r3=ri/ (k-i) ;
c3=1/(wc*k^0 .5r3);
Although the series RC compensation method is not defined in reference [35], the
K value technique can be used to find compensation components by adapting the
method shown for the type II approach. This is illustrated below.
p=angle (out (1) * (wc*i) +outl (2))-angle (out2 (1) * (wc*i) ^2
+out2 (2)* (i*wc) +out2 (3));
p=p*180/pi;
m=pm;
boost=m-p-90;
if boost>90,
boost=90;
end
g=/abs((outl ()
(wc*i)+out(2))/(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3)));
rl=le3;
x=-tan((-boost)*pi/180)/wc;
r2=g*rl;
cl=x/r2;
iteratively until the required phase margin and loop bandwidth are achieved.
variable gnuf is initalized to zero to indicate that the compensation values will not
meet the required performance requirements. A variable tries is also defined to limit
the number of iterations that will be performed. The following script was developed
for type II compensation using an OTA.
gnuf=0;
tries=0;
An initial attempt at determining appropriate compensatin values is performed by
setting R 1 = 20 kQ in Figure 4.15 and placing the zero to coincide with the lowest
frequency pole in the output filter. C2 is set to C 1/100 so that the phase boost is
approximately 80'. Increasing the value of C2 results in less positive phase addition.
The phase margin and crossover frequency of the loop is determined using these values,
and the variable tries is then incremented. If the phase margin is not adequate, the
location of the zero due to the compensation is moved to a slightly higher frequency.
The steps are repeated until either an acceptable phase margin is achieved or the
variable tries reaches its maximum value.
while gnuf==0,
rl=20e3;
cl=1/rl/(abs(min(real(roots(out2))))+tries*100);
c2=cl/100;
tries=tries+1;
compl=[cl*rl*rl rl];
comp2=[c1*c2*rl*rl
(rl*cl+rl*c2+cl*rl) 1];
[eampi,eamp2]=series(otal,ota2,compl,comp2);
[toti,tot2l=series(eampl,eamp2,outl,out
cresults(loopc,) =rl;
cresults(loopc,3)=cl;
cresults(loopc, 4)=c2;
2);
[templ,cresults(loopc,5),temp2,cresults(loopc,6)]=margin(totl,tot2);
cresults(loopc,6)=cresults(loopc,6)/2/pi;
if (cresults(loopc,5)>30 I tries>100),
gnuf=1;
end
% end of while loop
end
The compensation method for a series RC configuration is similar to that used for
the OTA with type II compensation and is included below.
gnuf=0;
tries=0;
while gnuf==0,
rl=20e3;
cl=1/rl/(abs(min(real(roots(out2))))+tries*100);
tries=tries+1;
compl=[cl*rl*rl rl];
comp2=[cl*(rl+rl)
1] ;
[eampl,eamp2]=series(otal,ota2,compl,comp2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
cresults(loopc,) =rl;
cresults(loopc,3)=cl;
[templ,cresults(loopc,5),temp2,cresults(loopc,6)]=margin(totl,tot2);
cresults(loopc,6)=cresults(loopc,6)/2/pi;
if (cresults(loopc,5)>minpm I tries>100),
gnuf=1;
end
end
This section outlines the use of a Matlab script to implement a method for automatically determining compensation values for a switching regulator. This methodology can also be used to assist in the design of the error amplifier by providing
specifications and limits for key performance parameters.
4.3.3
The characteristics of the error amplifier are important in determining the stability
performance of a switching regulator. For example, variations in the open loop gain
of an OTA can change the loop crossover frequency. Also, variations in the output impedance of the OTA can change the compensation frequency characteristics,
which can change the phase margin of the system. Continuing with the methodology
described thus far, an algorithm is developed to vary the amplifier characteristics
to determine how susceptible the system is to parameter variation. Once acceptable
boundaries have been determined for the amplifier charateristics, the amplifier can be
designed to the required specifications. This becomes especially critical when designing a switching regulator IC where the performance requirements can often be limited
to system specifications only, with no information regarding subsystem performance
is available to the designer.
Once the script has suggested an output filter capacitor combination and the user
has made the final decision on which capacitors to use, Matlab uses the regulator data
to iteratively determine how much the error amplifier parameters can vary before the
system performance is degraded to an unacceptable level. First, the phase margin
and loop bandwidth achieved with the nominal system parameters is saved to the
variables typpm and typbw, respectively. The variable ctc represents the row number
of the capacitor selected by the user.
typpm=cresults(ctc,5);
typbw=cresults(ctc,6);
Next, a while loop is used to create a multiplication factor, ni, that is incremented
by one each time the loop is repeated. The loop is interrupted when the loop factor
reaches 11 or the amplifier characteristics fail to meet certain specifications. The
latter condition results in the variable brokeyet being set to 1.
brokeyet=0;
n1=1;
while (brokeyet==O & nl<11),
nl=nl+1;
The multiplication factor ni is used to vary the DC gain and the location of the two
poles of the operational amplifier. The gain and pole locations are alternately multiplied and divided by ni to take into account each possible combination of operational
amplifier characteristic variation. The first case is shown below.
gl=[av*nll;
g2=[I/pl*nli
1;
hl=[1] ;
h2=[1/p2*nl 1];
The new system phase margin and bandwidth are then determined.
[vampcharl, vampchar2] =series (gl, g2,hl,h2);
[eampl,eamp2]=feedback(vampcharl,vampchar2,compl,
comp2);
[totl,tot2l=series(eampl,eamp2,outl,out2);
[jl,varypm,j2,varywc]=margin(totl,tot2);
varywc=varywc/2/pi;
The variable totvary is incremented during each iteration of loop if the following
requirements are satisfied. First, the regulator bandwidth must be at least half of
its nominal value.
minimum acceptable value. The user is also allowed to select a phase margin and
capacitor type regardless of those selected by the script. In that case, the default
values in the program are not used.
totvary=0;
decrease in the ESR of the capacitor causes negative phase to be added to the system.
The system could become unstable if a small phase margin had already existed.
The most negative phase prior to the crossover frequency is saved to the variable
rbstv. The variable minpml is defined to be either 10' or the minimum phase margin,
whichever is smaller. If rbstv+180 is greater than minpml, the regulator performance
is deemed to be acceptable with the given variation in error amplifier characteristics
and the variable totvary is incremented.
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(tot
,tot2);
w3=find(w2<wca);
phase2=phase2 (1:1length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml',
totvary=totvary+1;
end
The two tests outlined above are performed for each of the four variations in
error amplifier parameters. If system performance requirements for each iteration
through the loop are met, the variable totvary will have a value of eight. Therefore,
if totvary is less than eight, the system failed at least one test and the while loop is
terminated.
if totvary<8,
brokeyet=1;
end
end
The user is informed of the maximum factor by which the operational amplifier parameters can vary without degrading the regulator's performance below a minimum
acceptable level.
disp('
')
disp([blanks(5) ' The open loop gain and pole location of the
operational amplifier can vary by the'])
disp([blanks(5) ' following factor without becoming unstable.'])
opampvar=nl-1
A similar approach was developed for an OTA. However, because an OTA is used
in an open loop configuration, the typical amount of parameter variation is much less
than that allowed with an operational amplifier. Therefore, rather than the variable
ni increasing by 1 for each iteration of the while loop, it is increased by 0.1 up to a
limit of 2.1.
4.4
In most microprocessor applications, the input supply voltage to the regulator can
also be used to power other subsystems. The operation of the switching regulator
produces a large ripple component in the input current which can create a noisy supply
voltage, adversely affecting the performance of other subsystems being powered from
this common supply. This problem can be avoided by using an input filter to smooth
the large current transients of the input power supply as shown in Figure 4.18.
4.4.1
Improper selection of the input filter component values can cause either the regulator
to become unstable or alter and degrade its performance. These problems occur when
the input impedance of the regulator, Zi in Figure 4.19, becomes less than the output
Input filter
5 volt
supply
R2i
Zs
Output Voltage
Li
Rli
Ci
--------------Oscillator
(4.47)
<w
o
Th < i
(4.48)
I=
Zi
D2
-T
+-T ( oaD)
1+T Rjoad
1
1+T
D2
1+ T Zei )
(4.49)
(4.50)
G(s) is the transfer function of the error amplifier and compensation, F(s) is the
output filter transfer function, D is the duty cycle, and APWM is the gain due to
the pulse width modulator. Zei is the impedance looking into the output filter with
the load current modeled as a resistor. Through proper design of the input filter,
4.4.2
Matlab can be used to verify that the input filter chosen will not degrade the performance of the switching regulator.
4.47, is equivalent to the vectors totl and tot2 defined in Section 4.3.2. The input
impedance of the output filter is found to be
Zei = (LCo(Reo + Rload)S 2 + (L + Co(RDSon(Rco + Rload)
(4.51)
Vin
(4.52)
%pwm gain
c=1.65e-3;
1=2.7e-6;
esr=0.007;
rdson=0.02;
cl=10e-9;
c2=100e-12;
rl=20e3;
rl=3e6;
rload=0.6;
d2=1/3.2;
li=le-6;
ci=.66e-3;
rli=O.O1;
r2i=0.1;
otal=[O le-3];
ota2=[le-8 1];
outl = [a*c*esr a] ;
out2=[l*c c*(esr+rdson) 1];
compl=[O cl*rl*rl rl];
comp2=[cl*c2*rl*rl (rl*cl+rl*c2+cl*rl) 1];
[eampl,eamp2]=series(otal, ota2,compl,comp2);
[totl,tot2]=series(eampl,eamp2,outl,out
zeil=[l*c*(esr+rload)
);
l+rdson*c*(esr+rload)+esr*rload*c rdson+rload];
[tl,t2]=series(outl,out2,eampl,eamp
2);
Zi =
Zil/Zi2.
With the voltage source in Figure 4.18 set to zero, the output impedance of the input
filter is given by:
(453)
+ (Rli + R 2i)s + 1
The magnitude of this impedance is plotted on the same axes as the input impedance
143
()
E
0
X_O
a_
C
C
-0
a)
E
)8
Frequency, Hz
Figure 4-19: Input impedance of the regulator and output impedance of the input
filter.
[zs]=freqresp(zsl,zs2,f);
hold on
loglog(f,zs, 'r')
%red line should be lower than yellow line for
%stability.
axis([le-2
le8 0.1*min([min(zs)
min(zi)])
l0*max([max(zs) max(zi)])])
The two curves are now compared across the frequency range of interest. If the
input impedance of the regulator is greater than the output impedance of the input
filter at every point, the variable filtergood is set to 1 to indicate that the filter
characteristics will not cause instability problems.
filtergood=1;
n= 1;
for n=1:1:length(f);
filtergood2 is set to 1.
wi=1/sqrt(l*c);
ws=1/sqrt(li*ci);
filtergood2=1;
if ws>wi,
filtergood2=0;
end
filtergood2
hold off
The script presented here can now be used to design an input filter that does not
adversely affect the performance of the switching regulator system.
4.5
Simulink
These
subsystem blocks are then arranged by the user or programmer to model the regulator
system. Along with transfer function blocks, Simulink also allows logic and non-linear
functions to be implemented such as rate limiting and delay elements. The results
of performing a transient simulation on a particular block diagram can be observed
by viewing the waveform at any place in the system using the "oscilloscope" function
block or by saving the data to a vector and plotting it in Matlab as a function of
time.
4.5.1
4.6
Final script
The final Matlab script is shown in Appendix A. This version incorporates all of the
parameter modeling described in the previous sections. The user is prompted for
the relevant regulator system information such as PWM characteristics, output filter
inductor value, power FET on-resistance, and error amplifier type. The script then
determines compensation values, cost, number and type of output filter capacitors,
and loop bandwidth.
4.6.1
The Matlab script begins the regulator design process by asking users if they wish to
modify the output filter capacitor data available in the pre-existing data base. For
each type of capacitor, the capacitor value, ESR, cost, and a factor indicating size
and reliability is listed. The data for a particular capacitor is listed in a row of the
Matlab matrix ctype. The capacitor information can be deleted by deleting a row
or created by entering new information as prompted by the Matlab script. After
each change is made, the matrix ctype is display so that the user can verify that the
desired changes have been made. An example of this portion of the user interface is
shown below.
;-4
4
Programmed
Voltage from
DAC
o-
So
QC-
bc
I
-4
ESR
Factor
Cost
ctype =
0.0003
0.0300
1.0000
1.0000
0.0150
0.0200
3.0000
0.1200
0.0018
0.0390
2.0000
0.1200
0.0003
0.1000
1.0000
0.5000
0.0003
0.0180
1.0000
1.0000
1:
2:
3:
Value
ESR
Factor
Cost
0.0003
0.0300
1.0000
1.0000
0.0150
0.0200
3.0000
0.1200
0.0018
0.0390
2.0000
0.1200
0.0003
0.1000
1.0000
0.5000
ctype =
0:
1:
1:
2:
3:
200e-6
.03
Value
ESR
Factor
Cost
0.0003
0.0300
1.0000
1.0000
0.0150
0.0200
3.0000
0.1200
0.0018
0.0390
2.0000
0.1200
0.0003
0.1000
1.0000
0.5000
0.0002
0.0300
2.0000
0.7500
.75
ctype =
0:
1:
After editing the capacitor data, the user is prompted for the maximum output filter capacitor ESR. This value is determined by the allowable output voltage variation
divided by the maximum load current step change. Because the ESR and reliability
requirements of the output filter capacitors can be quite restrictive, their cost can
be a significant fraction of the total external component cost. Therefore, the user is
prompted for a price limit for these capacitors. The script then finds the number of
capacitors of each type necessary to meet the ESR requirement. If the total cost of
the necessary number of capacitors is greater than the price limit set by the user, that
capacitor type is marked as unacceptable. The necessary number of capacitors, total
cost, and acceptablity are stored in the first three columns of the matrix cdesign,
101
respectively. The fourth column of cdesign indicates the total capacitance that results from using a sufficient number of capacitors to meet the ESR specification. An
example is shown below.
Enter maximum ESR for acceptable transient response
Number
Cost
Acceptable
cdesign =
8.0000
8.0000
-1.0000
5.0000
0.6000
1.0000
10.0000
1.2000
1.0000
25.0000
12.5000
-1.0000
8.0000
6.0000
-1.0000
2 type(s) of capacitors will meet both the ESR and price spec.
Once the capacitors have been investigated to see which types will meet the ESR
and cost specifications, an output impedance versus frequency analysis, as described
in Section 4.1, is performed for each type of capacitor that has been deemed acceptable. The script offers three possibilites for the power distribution network parameters. First, the values used in the paper "Fueling the Megaprocessors - Empowering
Dynamic Energy Management" [18] can be chosen so that the functionality of the
algorithm can be verified by matching the results with those from the paper. The
second option is to enter the power distribition values manually. The final option is
to use the power distribution values taken from the Intel Pentium (
Pro specification
quency. If the necessary loop bandwidth is higher than the switching frequency, the
capacitor type will not be suitable for the regulator application and is marked as
unacceptable. If no capacitor types are acceptable after this analysis is completed,
the program concludes and informs the user of possible solutions such as altering
the power distribution network, increasing the total capacitance, or decreasing the
ESR. The user is also prompted for the desired phase margin of the regulator. The
minimum phase margin acceptable, minpm is then set to either 30', or 5' less than
the desired phase margin, whichever is a smaller value. The variable minpml is set to
the smaller value of either minpm or 10' for use later in testing the regulator design
for robustness.
The user is then asked to choose between an OTA or operational amplifier to be
used as the error amplifier. After the amplifier type has been chosen, the user is
asked to chose between four methods of compensation. The first method, type II
[35], is a lead compensation capable of provide up to 90' of phase lead. The second
method, type III [35], can provide up to 180' of phase lead as described in Section
4.3. This method has not been implemented for an OTA. If the user selects this type
and an OTA as the error amplifer, type II is used instead. The third type is a series
RC configuration that provides a single pole and zero. Finally, if the compensation
values are already known, the fourth choice can be selected which allows component
values for a type II configuration to be entered manually.
If an operational amplifier has been chosen, the user is prompted for its open loop
gain and first two pole frequencies.
peak to peak voltage of the oscillator sawtooth waveform and input supply voltage
and is included in the output filter model.
The compensation values for the regulator loop using an operational amplifier are
found as discussed in Section 4.3.2. The desired crossover frequency inserted into
the compensation routine is dependent on the regulator switching frequency and the
required loop bandwidth found from the analysis of the power distribution network.
If the required loop bandwidth is between 1/10 and 1/5 of the switching frequency,
1/5 of the switching frequency is used as the targeted crossover frequency. If the
required loop bandwidth is less than 1/10 of the switching frequency, the targeted
crossover frequency is set to 1/10 of the switching frequency. Finally, if the required
loop bandwidth is greater than 1/5 of the switching frequency, the desired crossover
frequency is set to 1.2 times the required loop bandwidth.
because the compensation scheme for the operational amplifier may not exactly meet
the targeted crossover frequency. If the target crossover frequency was the required
loop bandwidth, no margin is left for calculation errors or component variations.
Each time compensation components are found for a particular type of capacitor,
the compensation algorithm is performed twice. At the end of the first run, the minimum phase at frequencies below crossover is found. This is done for two reasons.
First, Matlab determines the phase margin of a system finding the phase at the frequency at which the magnitude drops to one. However, if the phase is less than -180'
below crossover and then becomes much less negative at the crossover frequency, the
system might be unstable while Matlab would predict a phase margin indicating a
stable system. This situation is quite common in high performance regulator systems
with a very low ESR for the output filter capacitor. Finding the minimum phase
below crossover ensures that the phase margin predicted by Matlab is accurate.
Secondly, the minimum phase below crossover frequency can vary as the ESR
of the capacitors and Rdson of the power FETs vary. The variable minpml is used
to verify that the minimum phase is greater than a certain safety margin given by
-180+minpml.
less than -180+minpml, the compensation is redone. During the second attempt, the
104
desired loop bandwidth is set to 1.2 times the required loop bandwidth. In many
cases, this is a significant reduction in the desired bandwidth which makes achieving
a reliable compensation easier. Also, the desired phase margin is set to 60' if it had
been previously defined to a lower value. These two definitions are used in the second
loop compensation, and the new minimum phase value is found.
The basic regulator compensation when an OTA is used has been described in
Section 4.3.2. As with the operational amplifier compensation, the OTA compensation method involves two attempts. If at the end of the first attempt the minimum
phase below the crossover frequency is greater than -180+minpml, the compensation
is complete. If it is less than -180+minpml, the compensation algorithm is repeated
with R 1 = 100 kQ rather than 20 kQ for both the series RC and type II compesation scheme. Also, for type II compensation, C2 is set to C 1 /1000 rather than
C2 = C 1/100.
These two changes have the effect of moving the phase boost to a
lower frequency and also spreading the phase boost to a wider range of frequencies.
This aids in raising the lowest phase that occurs before the crossover frequency which
creates a more robust compensation scheme.
These compensation algorithms are run for each type of capacitor that has been
determined to meet the price and ESR specifications entered by the user. The results
are stored into the matrix cresults. After the compensation is completed, the results
are screened to find which types of capacitors allow the regulator to meet all of the
requirements.
First, the loop bandwidth obtained for a particular capacitor combination is compared to the required loop bandwidth for that capacitor combination. If the loop
bandwidth obtained is not high enough, the matrix cresults is altered to indicate
that that capacitor combination is not acceptable. Next, the phase margin obtained is
compared to the desired phase margin and the capacitor type is marked unacceptable
if it does not meet the minimum acceptable value. Finally, the minimum phase below
crossover, which has been stored in the crobust vector, is compared to the minimum
acceptable value and the capacitor type is marked unacceptable if the minimum phase
is too negative.
105
After all of these tests have been performed, the number of remaining capacitor
combinations that meet all specifications is counted. If no types are acceptable at
this point, the program is aborted and the user is advised of parameters that could
be changed to allow more capacitor types to work.
At this point, compensation values have been found for all capacitors that met the
specifications created by the power distribution network analysis, and the resulting
system transfer functions have been checked against the frequency specifications.
Two variables, alphal and alpha2, are defined to indicate the relative importance
of cost and size in the regulator design. The vector whichcap is created, and the
value alphal*totalcost+alpha2*totalsize is found for each acceptable capacitor
type. The script then recommends the capacitor type that has the minimum value of
whichcap. If the user decides to use a different capacitor type than the recommended
one, all of the data in ctype, cdesigns, crobust, and cresults is printed to allow
an informed choice to be made.
After the user chooses a type of capacitor, all further calculations are performed
only for that type. To determine the effects of the load current on the frequency
response of the regulator, the user is prompted for the maximum and minimum load
current and maximum and minimum programmable output voltages. This generates
a maximum and minimum value of the load resistor used to model the load current. If
an operational amplifier is being used as the error amplifier, the compensation transfer
function is redefined with the values that correspond to the capacitor type chosen.
Next, the open loop gain and pole locations are varied as described in Section 4.3.3
to determine how much variation is allowed while maintaining the desired frequency
performance. If an OTA is used as the error amplifier, the same analysis is performed
to determine the allowable variation in the transconductance and output impedance.
In this case, however, the compensation transfer function must be redefined with each
variation in the output impedance because the output impedance is modeled as part
of the compensation network.
Next, the user is asked if an input filter will be used with this regulator design.
If an input filter is chosen, the user is then prompted for the component values and
106
parasitics of the input filter. In Section 4.4.2, the algorithm used to determine if a
particular input filter will cause instability was presented. In this part of the script,
the input impedance of the regulator is assumed to be as low as possible by setting
the load resistance to its smallest value and the steady state duty cycle to its largest
value. This creates the worst case scenario for instability due to the input filter.
After the two curves are plotted as described in Section 4.4.2, the user is informed of
whether the input filter is acceptable. If it is not, the user is allowed to enter different
component values for the input filter.
The method described in Section 4.2.3 to determine the effect of the output filter
on the system transfer function is used in the final script with both the minimum
and maximum values of the load resistor. The margin command is used to store the
phase margin and crossover frequency of both cases. Their difference is found and
displayed.
Finally, after the regulator design is finished from a frequency and stability point
of view, the transient response can be simulated using Simulink as discussed in Section 4.4. If the user chooses to perform a transient simulation with Simulink, it is
automatically started for the correct error amplifier and compensation configuration
with the Simulink transfer functions predefined. Also, the user can choose to run the
simulation with or without the maximum and minimum comparators. All that is left
for the user to do is to start Simulink for the desired simulation time and time steps.
4.6.2
Designing a switching regulator with Simulink and Matlab on a system level has
several advantages. First, the Matlab script is able to calculate the necessary compensation values for a given phase margin and cross over frequency. Matlab also
can determine what combination of output filter capaictors should be used to meet
a certain cost limitation. These advantages eliminate most hand calculations and
reduce the design cycle time. Because the regulator system transfer function can be
generated for any combination of components, loop bandwidth, and error amplifier
characteristics, it also gives the designer insight into the effect each component has
107
108
Chapter 5
Script Verification
A design methodology, outlined in the preceding sections, has been developed using
Matlab and Simulink. This method has been correlated with both breadboards built
from competitors' parts and PSpice simulations using macromodeling techniques.
This correlation ensures that all necessary second order effects of the regulator have
been modeled correctly and that the design method is valid.
5.1
Verification Procedure
The flexibility of the Matlab Design Methodology allows model accuracy verification
using any available regulator IC and external component combination. This gives the
Matlab design procedure a significant advantage since it can be correlated with any
competitor's part and then used to design the next generation of voltage regulators.
The verification procedure is performed using several different breadboards with a
wide range of expected phase margins as well as Spice simulations and Matlab and
Simulink representations of these breadboards.
The first microsecond of a typical voltage transient is shown in Figure 5.1 [18].
The load current change, occurring at a rate of 30 A/ps at the microprocessor supply,
is too rapid for the regulator to respond immediately, and therefore the parasitic
values of the output filter capacitor play an important role during the initial period
of the transient response. The change in output voltage during a current transient
109
is due to three effects. First, the current in the output filter inductor cannot change
instantaneously, and therefore when the load current changes from a low to high
value, the extra current required by the microprocessor is temporarily provided by
the output capacitor. As a result, the capacitor voltage begins to drop at a rate given
by
I
dv
dv = I
dt C
(5.1)
The load current will ramp up to a constant value causing the voltage on the capacitor
to drop as a quadratic function of time. The capacitor voltage then decreases linearly
as the current reaches its final value. The second transient effect, due to the ESR
of the capacitor, creates a voltage drop across this resistance as the load current is
removed from the capacitor. The third effect is due to the ESL of the capacitor. This
causes the voltage transient due to the ESL to be a pulse during the load transient
of a magnitude given by
V= L
di
dt
(5.2)
Therefore, a faster load current change will result in a larger transient spike in the
output voltage. These three transient effects are illustrated in Figure 5.1. The breadboards used in this verification process do not have the 1 pF ceramic capacitors in
parallel with the output filter capacitor. In the actual microprocessor board layout,
these capacitors would alter the output voltage variation equations given above.
The output voltage transient in response to a step change in load current also needs
to be analyzed over a longer period of time. A typical voltage transient response
measured for 300 ps is shown in Figure 5.2.
microsecond of the response is due to the effects discussed in the previous paragraph.
The transient response shown in Figure 5.2 has several distinct characteristics that
need to be measured in order to verify an accurate correlation with the developed
model. These include the settling time (Ts), the percent overshoot (P.O.) and, if an
oscillation occurred, the damped natural frequency of that oscillation (wd). Also, the
parasitic series resistance (Rs) of the connector between the microprocessor and the
regulator can be found by noting the final value of the output voltage under a heavy
110
Regulator
load
load
Ia
-14 A in 14 ns.
VESR;
-I
ESLII-
V,
L-----------------------------------
time --
Figure 5-1: Voltage transients caused by a load current step over a 500 ns time period.
111
3.4 V
S 7.
3.3 V
3.2 V
3.1V
3.0 V --------------------------------------------200 us
100 us
0
Time
300 us
Figure 5-2: Example voltage transient caused by a load current step over a 300 ps
time period.
load condition and dividing that voltage by the load current.
By examining the breadboard output waveforms shown in Figures 5.1 and 5.2, the
ESR, ESL, R,, phase margin, P.O., Wd, and r, can be found. Next, the ESR, ESL,
and R, values can be used in PSpice simulations to verify that the P.O., Wd, and 7,
parameters match the breadboard performance. Also, the regulator phase margin can
be estimated from the P.O. and 7, and correlated with the phase margin predicted
by the Matlab regulator model.
5.2
Breadboards
Several regulator ICs, similar to the MC33470, were already available from competitors such as Maxim, Linear Technology, Micro Linear, and Elantec prior to the
beginning of this design. Three breadboards were constructed with Linear Technol112
5.2.1
The first breadboard schematic using the LTC1430 regulator IC is shown in Figure
5.3. The output voltage is fed back to the negative input of the OTA through the
SENSE+ pin. The OTA is compensated with a lead network at the COMP pin.
The FREQSET pin, which is not connected in this configuration, causes the internal
oscillator to run nominally at 200 kHz. An OTA is used as the error amplifier with
a typical transconductance of 650 pt-
1.
(5.3)
Rout is found to be 406 kQ. Also, the OTA can source and sink 100 pA. The LTC1430
has coarse comparators to drive the output of the PWM to its maximum or minimum value if the output voltage is outside the desired output voltage by more than
3%. Four 1 Q resistors in parallel are connected in series with a switchable FET
to simulate an 11 amp load transient on the output when the gate of the MOSFET
switch is pulled to the 12 V supply. The 3.3 V regulated output voltage is then
dropped across an effective 0.25 Q load. This allows the 30 A/ps load transient to
be applied. This breadboard uses 6 AVX tantalum low ESR capacitors, part number
TPSE337M006R0100, connected in parallel. Each of these capacitors has a maximum
ESR at 100 kHz of 100 mQ. The breadboard uses Motorola's MMSF7NO3HD power
FETs, which have an RDSon at room temperature of 28 mQ specified at VS = 5 volts
113
with a drain current of between 3 and 15 amps. At 125 0 C, this RDSon value can increase by as much as 50% and decreases slightly as V., increases. In this breadboard,
two FETs are connected in parallel for M1 while only one is used for M2.
A 0 to 11 amp load current square wave was applied to the regulator output at
4 kHz. The rising and falling edges occurred at 30 A/ps. The output waveforms
are shown in Figure 5.4. Each photograph is a different time scale representation
of the same output voltage waveform. Figure 5.4a illustrates the shortest time scale
waveform, from which the ESR, ESL and Rs values can be extracted. The voltage
waveform shown in this figure does not have the same shape as the one shown in
Figure 5.1 due to the 20 MHz bandwidth limiting of the oscilloscope. The ESR + R,
value can be found from the photograph by the following relationship:
ESR + R, = A
(5.4)
'load
and therefore 150 mV/11 A = 13.6 mQ. 1/ is defined as shown in Figure 5.2. The
maximum ESR of each capacitor is 100 mQ. Therefore, with six capacitors connected
in parallel, the maximum ESR expected is given as
ESR
(5.5)
or ESR = 100 mQ/6 = 16.7 mQ, where n is the number of output filter capacitors in
parallel. The inductor value was measured to be 2.8 pH with an ESR of less than 1
mQ. The ESL is given as
ESL= d,
(5.6)
dt
or ESL = 100 mV/(30 A/ps) = 3.3 nH. R, can be found by observing the final value
of the regulated output voltage and noting the offset. From Figure 5.4a, the R, value
is found to be
Rs =
oad
'load
(5.7)
or R, = 30 mV/11 A = 2.7 mQ. Using Eqs. 5.3 and 5.6, the ESR = 13.6 mQ - 2.7
mQ = 10.9 mQ which is 65% of the maximum ESR value taken from the data sheet.
114
09
12 V
Oq
CD
t7'
I,
CD
O
;'-
rrj
10 x4
Or
09
X
x
drive
Fu
MIA, MIB, M2: Motorola MMSF7NO3HD
M
Figure 5-4: Transient response of LTC1430 breadboard with AVX capacitors: a) 0 2 Ps. b) 0 - 200 ps.
116
In Figure 5.4b, it is observed that the output voltage has no overshoot in response
to the load current step. This indicates that the phase margin is 60' or greater. Also,
the regulator requires 100 ps, or 20 clock cycles, to restore the output voltage to the
desired value.
The PSpice schematic used to simulate this breadboard is shown in Figure 5.5.
The OTA is modeled as a voltage controlled current source with a transconductance
of 650 pQ-' and an output current limit of 100 pA. The OTA subcircuit model is
shown below.
*************OTA
subcircuit model**************
.subckt ota 1 2 3 4
vin+=1
vin-=2
vout+=3
vout-=4
voutl=1
vout2=2
vgnd=3
117
'-1
cjD
00
C
C-
0im16
r
r
Oq
X
O
Cd
FU
O
r
O
tf
.ends
The LTC1430 sawtooth waveform has a voltage range of 900 mV while this model
uses a sawtooth waveform that has a 1.5 V signal range. This causes the low frequency
gain factor of the breadboard to be 1.5/0.9 times greater than the low frequency gain
factor used in the simulation. To account for this, the OTA output impedance is
modeled as Rot = 406 kQ - 1.5/0.9 = 675 k2.
The maximum and minimum duty cycle comparators are modeled by a high gain
voltage controlled voltage source with the output limited to ground and 5 volts. The
model is shown below.
******Comparator subcircuit model**************
.subckt comparator 1 2 3 4
vin+=l
vin-=2
vout+=3
vout-=4
The power FET model used by PSpice is that of the Motorola MMSF5NO3HD
and is included in Appendix B [2, 5]. The model indicates that the nominal RDSon
of this power FET is 26.5 mQ. A specific model for the power FETs used on the
breadboard was unavailable. The RDSon of the two power FETs connected in parallel
on the breadboard was measured to be 18 mQ, indicating that each FET has an
RDSon
of approximately 36 mQ.
transient but failed to converge at the beginning of the second load transient. The
output voltage for the first two microseconds of the transient is illustrated in Figure
5.6a. The complete simulation covering a two hundred microsecond transient took
several hours to perform on a Sun Sparc station 10 and created a 31.5 Mbyte data
file.
Figure 5.6b expands the time scale in Figure 5.6a. Figure 5.6a appears to have the
same response as that represented in Figure 5.1. Neither figure was subject to the 20
MHz bandwidth limit imposed by the oscilloscope that alters the transient response
shown in Figure 5.4b. A comparison of Figures 5.4b and 5.6b indicates that while the
actual voltage regulator requires 100 ps to return the output voltage to the desired
value, the PSpice data shows that the regulator requires 50 ps. Both figures show
that the regulator has a phase margin of 600 or greater because there is no overshoot
in response to the load transient. These curves shown in Figures 5.6 and 5.4 have
the same defining characteristics as expected because the breadboard parasitic values
were used in the PSpice simulation. This verifies that all important parasitic values
have been included in the PSpice model presented in Figure 5.5.
The values taken from the breadboard were then entered into a modified Matlab
script to find the expected phase margin of the regulator. The script used is shown
below.
. Matlab Script to Analyze Phase Margin of LTC1430 with AVX Capacitors
% OTA Description including Compensation
gm=.65;
YOTA transconductance
gm=gm* le-3;
pl=3e6;
pl=pl*2*pi;
rf=7.5e3;
%compensation resistor
cl=4.7e-9;
%compensation capacitor
c2=220e-12;
%compensation capacitor
rl=406e3;
3.
4V
3.3V
--------------------------------
3.2V-
-----------3.1V+--150us
V( net54)
T-------------~-15lus
152us
Time
3.
4V
--------------------------
I
I
I
I
I
I
I
I
I
I
I
I
.i
3. 3V
I
I
g %, i ii_ r ,
I
f
n:
3.2V -
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
3.1V
------r-150us
200us
V (net54)
300us 350us
Time
Figure 5-6: Pspice transient response of generated from Figure 5.5 for a) 0 - 2 ps and
b) 0 - 200 ps.
121
1=2.8e-6;
c=1.98e-3;
esr=0.0136;
rdson=0.018+0.001;
c*(rl+rdson) 1];
2,opl,op2);
margin(tot 1,tot2)
Execution of the script indicates that the phase margin of the regulator is 570,
assuming that the RDSon of M1 is 18 mQ as measured on the breadboard. The open
loop transfer function is shown in Figure 5.7. If the RDSon is assumed to be 13.75
mQ to match the model of the two FETs in parallel in the PSpice simulation, the
phase margin becomes 560. This phase margin describes the system immediately
following a load change from 0 to 11 amps. At this time, the top FETs are on at
nearly the maximum duty cycle and the equivalent
RDSon
is the 18 mQ described
above. However, when the load changes from a maximum to a minimum, the bottom
FET is on most of the time as the duty cycle drops to zero. This causes the effective
122
Frequency (rad/sec)
o,
"O
U -180
ca
a_
,.
I.
.. ....
. ..
-270
I'
30in
-
100
104
Frequency (rad/sec)
Figure 5-7: Open loop response for breadboard with AVX capacitors generated with
Matlab.
RDSon to be twice the value used above. When RDSon = 36 mQ is used, the phase
5.2.2
The second breadboard schematic using the LTC1430 regulator IC is shown in Figure
5.8. The configuration is similar to the breadboard shown in Figure 5.3 with the
exception that Sanyo Oscon capacitors are used in place of the AVX capacitors in
the output filter. Three 1 Q resistors are connected in parallel at the output and
in series with a FET causing an 10 amp load to be applied when the regulator is
maintaining 3.3 volts at the output. This breadboard uses 7 Sanyo Oscon electrolytic
capacitors arranged in parallel. These capacitors, part number 6SA330M, use an
organic semiconductor as the electrolyte [28]. Each capacitor has a maximum ESR
123
rating at 100 kHz of 30 mQ. The power FETs are Motorola's MTP50NO6VL with
an RDSon of 25 mQ at V, = 5 volts and 3 < Id < 15 amps. This room temperature
RDSon value can increase by 50% at 105'C and decreases slightly as Vgs increases. For
this breadboard, two FETs are used in parallel for both M1 and M2.
A 0 to 10 amp load current square wave was applied to the regulator output at
4 kHz. The rising and falling edges occurred at 30 A/ps. The output waveforms are
shown in Figure 5.9. From Figure 5.9a, the ESR, ESL and Rs can be found as with
the previous breadboard. First, the parasitic resistance is found as ESR + R, = 50
mV/10 A = 5 mQ (Eq. 5.4). The maximum ESR of the each capacitor is 30 mQ.
Therefore, with seven capacitors connected in parallel, the maximum ESR expected
is 30 mQ/7 or 4.3 mQ (Eq. 5.5). The inductor value was measured to be 2.5 PH with
an ESR of 13 m2. The ESL is given as 350 mV/(30 A/jps) or 11.7 nH (Eq. 5.6).
From Figure 5.9b, the offset voltage is used to find that R, = 20 mV/10 A = 2 mQ
(Eq. 5.7). Therefore, the ESR is given as 5 mQ - 2 mQ = 3 mQ which is 70% of the
maximum ESR value for this type of capacitor.
Figure 5.9b illustrates the regulator response over a longer time scale. It can be
seen that the output voltage has a significant overshoot in response to the load current
step indicating a less than desirable phase margin was achieved.
The PSpice schematic used to simulate this breadboard is shown in Figure 5.10
and uses the same macromodels that were described in Section 5.2.1. Figure 5.11a is
the transient performance of the regulator system for 0 to 2 ps and can be used to
correlate the model with the photograph shown in Figure 5.9a. Figure 5.11b extends
the time scale to examine the final regulated output voltage under a heavy load. As
expected, problems with Spice convergence limited the amount of data that could be
obtained. The simulation again required multiple hours of microprocessor dedication
and resulted in a 40 Mbyte output file.
The values taken from the breadboard were then entered into a modified Matlab
script to find the expected phase margin of the regulator. The script used is shown
below.
% Matlab Script to Analyze Phase Margin of LTC1430 with Sanyo
124
12V
CI
ol
S
1Q x3
0
drive
200 21
-IVIUtUxlUa
0.
O
0,
Ct
Ivir -JUiVu
iL
Figure 5-9: Transient response of LTC1430 breadboard with Sanyo Oscon capacitors:
a) 0 - 2 ps. b) 0 - 500 /is.
126
~*
co
OCd
i,
.
Cr
CD
cm
0CD
O
?0CD3
0'
0D
0,
n-
3.28V
3.26V
3.246V2V I
3.22V+--- -300us
V (net54)
0---------0--------------302usS0lus
302us
301us
Time
3,.32V -T------------------------------
3.24V-I,
3.20V-J
3. 16V +-------------------------------300us
400us
V(net54)
Time
Time
500us
Figure 5-11: Pspice transient response of generated from Figure 5.10 for a) 0 - 2 ps
and b) 0 - 200 ps.
128
%OTA transconductance
pl=le6;
pl=pl*2*pi;
rf=20e3;
%compensation resistor
cl=10e-9;
%compensation capacitor
c2=100e-12;
%compensation capacitor
rl=405e3;
gi=[gm];
g2=[1/pl 1];
compl=[cl*rf*rl rl];
comp2=[cl*c2*rf*rl (rl*cl+rl*c2+cl*rf) 1];
[opl,op2]=series(a*gl,g2,compl,comp2);
r2=0.6;
rl=esr;
lco=11.7e-9;
outl=[lco*c rl*c 1];
out2=[c*(lco+l) c*(rl+rdson) 1];
[totl,tot2]=series(outl,out2,opl,op2);
margin (tot 1,tot2)
129
...
50
ca
0
-50
2.6.8
_1 nn
104
102
|vv10
100
(rad/sec)
104
Frequency
Frequency (rad/sec)
2 2
..
106
106
108
10
106
108
-90
.. .
. .
. ..-
cD-180
a-270
300n
100
104
102
Frequency (rad/sec)
Figure 5-12: Open loop response for breadboard with Sanyo Oscon capacitors generated with Matlab.
Assuming the RDSon is given by 25 mQ/2 = 12.5 mQ, the phase margin is found to be
390, which agrees with the overshoot shown in Figures 5.9 and 5.11. The open loop
transfer function of the regulator is shown in Figure 5.12. The dominant complex pole
pair was found using Matlab, from which w, was found to be 27r- 15.8. 103 rad/sec
and ( = 0.29. Using the following equation,
Wd
n=
1 - 2(2
(5.8)
rad/sec. The peak-to-peak output voltage for the breadboard was 110 mV while the
output voltage of the PSpice simulation had a peak-to-peak value of 120 mV.
130
5.2.3
The third breadboard schematic using the LTC1430 regulator IC is shown in Figure
5.13. The setup is similar to the previous two breadboards, with three 1 Q resistors
connected in parallel at the output and in series with a FET causing an 10 amp load to
be applied when the regulator is maintaining 3.3 volts at the output. Four Nichicon
aluminum electrolytic capacitors, part number UPL1A182MHH, are connected in
parallel for the output filter capacitor. Each of these capacitors has a maximum ESR
at 100 kHz of 39 mQ. The power FETs used are Motorola's MTP50NO6VL, as were
used in the previous breadboard.
A 0 to 10 amp load current square wave was applied to the regulator output at
a rate of 4 kHz with the rising and falling edges occurring at 30 A/ps. The output
waveforms are shown in Figure 5.14. The ESR, ESL and R, values were determined
as before: ESR + Rs = 150 mV/10 A = 15 mQ (Eq. 5.4). With four capacitors
connected in parallel, the maximum ESR expected is 39 mQ/4=9.75 mQ (Eq. 5.5).
The inductor was the same type as that used in the breadboard with Oscon capacitors.
The ESL is given by 250 mV/(30 A/ps) = 8.3 nH (Eq. 5.6). From Figure 5.14b, the
offset voltage is used to find the value of Rs. Rs = 30 mV/10 A = 3 mQ (Eq. 5.7).
Therefore, the ESR = 15 mQ - 3 mQ = 12 mQ which is more than the maximum
ESR value expected for this type of capacitor.
The PSpice schematic used to simulate this breadboard is shown in Figure 5.15
and uses the same macromodels that were described in Section 5.2.1. Figure 5.16a is
the transient performance of the regulator system for 0 to 2 ps and can be used to
correlate the model with the photograph shown in Figure 5.14a. Figure 5.14b extends
the time scale to examine the final regulated output voltage under a heavy load. As
expected, problems with Spice convergence limited the amount of data that could be
obtained. The simulation again required multiple hours of simulation and resulted in
a 45 Mbyte output file.
The values taken from the breadboard were then entered into a modified Matlab
script to find the expected phase margin of the regulator. The script used is shown
131
or
x3
0o
t...
.,o
200
r,
Cl
crO
vl
drive
133
on
cjo
O
C
C*
C
,o
O
c
Cr
...J.
I..,
.,d
oD
3.30V
--------------------------I
I
I
I
I
I
I
I
I
I
I
3.25VW-
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
3.20V-
3.15V
3. 10V+--
-----------------------------
201us
V (net54)
202us
203us
Time
3.30V
----------------
1
I
I
I
I
3.25V
i,
3.20V-
ni;ei;:~1W.U.
8~s;fps
B"I""BV
3.15V-
3.
10V ------------------------201us
SV(net54)
300us
400us
Time
Figure 5-16: Pspice transient response of generated from Figure 5.15 for a) 0 - 2 ps
and b) 0 - 200 ps.
135
below.
%OTA transconductance
pl=le6;
pl=pl*2*pi;
rf=20e3;
%compensation resistor
cl=10e-9;
%compensation capacitor
c2=100e-12;
%compensation capacitor
rl=406e3;
rdson=0.0125+0.013;
compl=[cl*rf*rl rl];
comp2=[cl*c2*rf*rl (rl*cl+rl*c2+cl*rf) 1];
[opl,op2]=series(a*gl,g2,compl,comp2);
r2=0.6;
rl=esr;
lco=8.3e-9;
outl=[lco*c rl*c 1];
out2=[c*(lco+l)
c*(rl+rdson) 1];
136
102
104
Frequency (rad/sec)
106
50
S0
-50
- i rln
100
10
-90
CD
_0
) -180
. . . . . . . . . . . . .
-c
I-
-270
100
102
104
Frequency (rad/sec)
106
10e
Figure 5-17: Open loop response for breadboard with Nichicon capacitors generated
with Matlab.
[toti,tot2]=series(outl,out2,opl,op2);
margin(totl,tot2)
In both the PSpice simulation in Figure 5.16 and the breadboard results in Figure
5.14, the output voltage does not exhibit any overshoot, indicating that the regulator
has a phase margin of greater than 60'. This agrees with the phase margin of 730 in
Figure 5.17 found using Matlab. The output voltage of the breadboard takes 25 ps to
to recover from the load current step. The PSpice simulation shows that the output
voltage recovery time is 40 ps. The recovery time of this breadboard is faster than
that of the breadboard using AVX capacitors for two reasons. First, the bandwidth
of the breadboard using Nichicon capacitors is slightly more than twice that of the
breadboard using AVX capacitors. Secondly, the inductor value is slightly smaller,
allowing the current to change more quickly.
137
In this chapter, three breadboards have been correlated with both the Matlab
script and PSpice. The phase margin predicted by Matlab agrees with the output
voltage transient characteristics of the breadboards and PSpice. The Matlab script
can be used to study the effect of system parameters such as output filter capacitor
ESR and MOSFET RDSon on system stability without needing to run long, memory
intensive PSpice simulations.
138
Chapter 6
Regulator Design: MC33470
In Chapter 4, a Matlab script was written and models were developed to aid in the
design of a buck switching regulator. This design method will be illustrated by using
it in the design of the MC33470, a buck switching regulator control IC developed in
the Amplifier and Power Group of Motorola's Logic and Analog Technologies Group.
6.1
Specifications
A simplified block diagram of the proposed MC33470 is shown in Figure 6.1. The
reference voltage is set with a 5-bit DAC. A soft start function controls how quickly
the output voltage can ramp up during startup. The output voltage is regulated with
an error amplifier, PWM comparator, and logic so that the duty cycle can be limited
to a maximum and minimum value. Two comparators are also used to force the duty
cycle of the external MOSFETs to either its maximum or minimum value when the
output voltage is outside of a specified regulation window. A power good indicator
provides a signal indicating when the output voltage is within the desired regulation
window. Also, logic is provided to shut off the regulator if the input voltage is too
low or an "OFF" signal is received. Finally, the output current is sensed to provide
short circuit protection.
The input voltage will be 5 V 5%.
voltage will be between 1.8 and 3.5 volts, programmed by an integrated 5-bit DAC
139
__
Off / On
in 50 mV increments below 2.1 V and 100 mV increments above 2.1 V. The regulator
needs to maintain the output voltage to within 5% of its nominal value during a
transition between no load and maximum load of 11 to 14 amps. The maximum load
current depends on the supply voltage and is 11 amps at 1.8 volts and 14 amps at 3.5
volts. This 5% window includes variations due to both the voltage reference and
the load transient effects. The regulator IC has to be able to slew at 30 A/Ps at the
output pins which drive the external power devices due to current load changes of up
to 1 A/ns at the pins of the microprocessor. Due to the large current demands, the
regulator must have an efficiency rating of at least 80% at the maximum rated load
and a minimum of 40% at low load conditions.
During startup, the error amplifier must begin to function as soon as the input
voltage reaches 4.25 V, which places a tight requirement on the input stage of the
amplifier when the IC is used to regulate 3.5 volts. The OTA has to have an input
common mode voltage range of 1.6 - 3.9 V to handle all possible output voltages. The
oscillator waveform used with the PWM has a 1.5 V swing from 1.5 to 3.0 V. The
OTA must have an output signal swing of at least this range to be able to regulate
the duty cycle between its maximum and minimum values.
The regulator switching frequency should be chosen to be between 200 kHz and
300 kHz.
141
6.2
From the specifications in the previous section, several parameter values can be determined and used with the Matlab script to find the rest of the design parameters.
6.2.1
Parasitic Values
The output filter capacitors tend to make up the largest fraction of the total cost of
the external components. Their cost increases with decreasing ESR. Therefore, it is
important to know the maximum ESR that is acceptable in this regulator design to
minimize the cost.
At 2.8 V and a load current of 13 A, a voltage drop of
AV = 13 A - (Rco + Rs)
(6.1)
occurs as described in Section 5.2.1. If AV is 5% of the output voltage, (Rco + Rs) <
10.8 mQ to meet the transient specification, assuming the capacitor has no ESL.
However, as was shown in Chapter 5, the ESL cannot be neglected. The voltage
change due to the ESL is given by V = L . With ! = 30 A/ups and L = 1 nH, the
voltage change is 30 mV, which constrains (Rco + Rs) < 8.5 mQ.
In future generation processors, the regulator output voltage will be lower and
therefore have a smaller absolute tolerance window. The calculations in the preceeding
paragraph would then no longer be valid, and the external components would need
to be changed. For this reason, the ESR and ESL values (Rco and Lo) should be
minimized below the maximum values given above for a given total cost. For example,
to meet the 5% window at 1.8 V with an ESL of 1 nH, (R,o + Rs) < 5.5 mQ. Finally,
if the cost restriction does not allow capacitors with a sufficiently low ESR to be used,
the reference voltage can be adjusted by 1 or 2% of the output voltage to account for
the drop due to R,.
The equations for static power dissipation in the external MOSFETs are given
142
below [16].
RDSon(M1)
RDSon(M2)
VinPmax(M1)
Vout Iax
VinPmax(M2)
(in - Vout)a
(6.2)
(6.3)
RDSon(M1)
10.5 mQ
(6.4)
RDSon(M2)
13.4 mQ
(6.5)
For applications in which Vout is around 3.5 V, the required RDSon of M1 is half of
the RDSon of M2. This implies that in such situations, one MOSFET could be used
for M2 while two in parallel are needed for M1. For this regulator design, two are
needed for both M1 and M2 to achieve a low enough RDSon over all possible ranges
of Vout. These calculations were done neglecting the switch losses which are given as
Ps_ = CV 2f
(6.6)
where C is the effective capacitance due to the power MOSFETs, V is the applied
gate drive signal (12 V in the MC33470), and f,, is the switching frequency. With
fSw = 300 kHz and C = 10,000 pF, the switching losses are P,,= 0.43 W which must
be included in the efficiency calculations to ensure that the specifications are met.
6.2.2
between the inductor current and output current is provided by the capacitor, causing
143
D)T
(6.7)
(6.7)
where D is the steady state duty cycle and T is the switching period. Using the worst
case values of Iload = 15 A and D = 1.8/5 = 0.36, and the value of C found above,
the ripple is found to be 13 mV. Therefore, with this value of capacitance used in the
output filter, the output voltage variation will be about 1.5%. If this is deemed to be
too large, the output filter capacitance should be increased.
Another important consideration in choosing a filter capacitor is its expected
lifetime. The voltage regulator module is required to have a MTBF of 500,000 hours
as stated above, while many capacitors have specifications based on a 2000 hour
lifetime. To ensure proper operation, higher reliabilty capacitors have to be used so
that the parameters such as ESR are constant over their lifetime [21].
6.2.3
The Pentium (
If the minimum current is zero amps, and the maximum is 13 A, the load current
risetime is 13 ns. The rise time is used in determining what range of the regulator
output impedance is acceptable and has an effect on what the bandwidth of the loop
needs to be.
If the regulator output current changes by 13 A at Vout = 2.8 V, the low frequency
output impedance must be less than 10.8 mQ for the output voltage to remain within
the 5% window as described in Section 4.1.2. Likewise, the output impedance must
be less than 8 mQ if the output voltage is 1.8 V. The load current rate of change, the
144
maximum output impedance, and the filter capacitor value will be used to determine
the loop bandwidth specification.
6.2.4
The desired phase margin is generally between 450 and 60'. A lower phase margin
can be acceptable as long as the percent overshoot is not large enough to exceed
the 5% transient window. If a higher phase margin is used, the loop response to a
load current change will be slower, which requires that the output filter capacitor be
larger.
6.2.5
For the MC33470 design, an OTA will be used rather than an operational amplifier
for two reasons. First, the OTA requires fewer external compensation components
to provide the same phase boost. Secondly, the OTA configuration is more common
among competitors' ICs. The external component connections for an OTA and operational amplifier are different. Because of this, even if the pin outs are the same
between an IC using an operational amplifier and one using an OTA, the ICs cannot
be interchanged without altering the board layout. An OTA is chosen so that the
MC33470 will be able to minimize the system cost and maximize compatibility.
The nominal transconductance of the OTA design can be found in the following
equation
m
120 pA
A
2.8 V - 0.05
120
850 p-
(6.8)
where the output drive capability of the OTA is assumed to be 120 pA and the output
voltage is 2.8 V. This value of transconductance causes the maximum OTA output
current to be provided to the compensation when the output voltage is 5%of the
reference voltage.
The OTA gain should be large enough that the OTA is capable of driving the
145
duty cycle to either extreme with only a few millivolts of error in the output voltage.
A Vo
1.5 V
0.002 V
= gYn RoUt
-=
(6.9)
6.2.6
Compensation Technique
Three compensation types were described for an operational transconductance amplifier in Chapter 4. The first, a type I, has already been determined to create a
bandwidth that is too low for this regulator application. The second, a type II configuration, uses three components to create a phase boost of up to 90'. The third, a
series RC connection, also provides up to 900 of phase shift, but does not roll off as
much as a type II, leaving the system more suseptible to high frequency noise. For
these reasons, a type II configuration will be used unless it is determined that a series
RC is more cost effective compensation scheme.
6.3
The script used in the MC33470 design is shown in Appendix A. Using the values
derived in the previous section, the script will be used to find the acceptable variation in the OTA specification, the compensation values, and other regulator design
parameters.
Switching Regulator Design and Optimization
Enter the output filter inductor value (uH): -- >
Value
ESR
Factor
Cost
0.0300
1.0000
1.0000
ctype =
0.0003
146
0.0150
0.0200
5.0000
0.1200
%Panasonic 15,000 uF
0.0018
0.0390
2.0000
0.1200
%Nichicon 1800 uF
0.0003
0.1000
1.0000
0.5000
%AVX 330 uF
0.0003
0.0180
1.0000
1.0000
In the capacitor types matrix shown above, the variable factor is used to measure
relative capacitor size.
2:
3:
0.007
($): -- > 4
A maximum ESR of 0.007 mQ is chosen because it is recognized that the value of Rs
will not be zero.
Number
Cost
Acceptable
cdesign =
5.0000
5.0000
-1.0000
3.0000
0.3600
1.0000
6.0000
0.7200
1.0000
15.0000
7.5000
-1.0000
3.0000
3.0000
1.0000
3 type(s) of capacitors will meet both the ESR and price spec.
147
Unitrode paper.
2:
3:
Choice number 3 contains the most current information about the board layout available from the customer.
Enter your choice for power distribution network values: -- >
(Pentium Pro is
13e-9
1.5
0.01
0.01
60
W)
E
0
C,
Cz
V
'D
(D
a
10 0
10 2
10 4
10
10 8
10
Frequency, Hz
Figure 6-2: Impedance curves for the regulator using Nichicon 1800 pF capacitors.
1:
Op Amp
2:
OTA
Type 2
2:
3:
Series RC
4:
0.85
149
The OTA output impedance is set significantly higher than the minimium calculated
value to give a margin for process variation.
R1
R2
C2
C1
Loop BW
PM
cresults =
1.Oe+04 *
2.0000
0.0000
0.0000
0.0075
5.8187
2.0000
0.0000
0.0000
0.0073
5.6650
2.0000
0.0000
0.0000
0.0045
5.6794
3
The values of al and a2 used are 1 and 0.4 respectively. If a different combination
had been used to give more weight to either size or cost as a design parameter, the
suggested capacitor type may change.
Value
ESR
Factor
Cost
0.0018
0.0390
2.0000
0.1200
Number
Cost
Accept?
Req BW
Tot Cap.
0.0007
0.0010
9.8838
0.0000
ans =
ans =
1.0e+03 *
0.0060
1:
2:
150
14
1.8
3.5
tampvar =
2.0000
1:
2:
1800e-6
0.039
2.2e-6
2.3624e+03
151
100
10- 2
-2
10
100
104
102
106
frequency, Hz
Figure 6-3: Impedance curves to determine if the proposed input filter is acceptable.
These variables dpm and dwc show that the load variation does not significantly affect
the frequency characteristics of the regulator.
1:
2:
3:
Quit.
6.4
Running the Matlab script in the previous section gave the open loop system response
shown in Figure 6.4. The compensation values are Rc = 20 kiQ, Co1 = 22 pF, and
Cc2 = 2.2 nF.
152
50
-50
I........
1 nn
1i
01
..........
........ I
...
.
...
104
Frequency (rad/sec)
-90
............................................. ...
-180
-270
E
-36i
--
104
Frequency (rad/sec)
Figure 6-4: Open loop system response generated by running the Matlab script.
153
6.4.1
From Figure 6.4, the phase margin of the system is seen to be 73'
However, this
does not include the phase delay due to the PWM. This can be included using Eq.
3.3. With a switching frequency of 300 kHz, the phase margin is 340 lower than
expected, or 39'. Usually the phase delay associated with the PWM is only around
100 to 150 when the loop bandwidth of the regulator is approximately 1/10 of the
switching frequency. In this particular case, the loop bandwidth is 1/5 of the switching
frequency. Therefore, the phase delay at crossover is higher, causing a lower phase
margin than expected.
These problems can be avoided by finding new compensation values that cause
the crossover to be at a lower frequency. With compensation values of Rc = 10.5 kQ,
Cc = 100 pF, and Cc2 = 10 nF, the nominal phase margin is 780 and the crossover
frequency is 30 kHz. Once the phase delay associated with the PWM is included, the
phase margin becomes 60'. The Bode plot is shown in Figure 6.5.
6.4.2
In Section 6.2.5, the OTA was assumed to be able to source and sink 120 pA. With this
current, the time it takes to slew the output voltage of the OTA from the minimum
to maximum value of the oscillator sawtooth waveform is given by
t ==AVoscil C
120pA
1.5V - C
120pA
(6.10)
Assuming that Cc2 dominates, the OTA will require 125 ps to fully respond to the
input change. However, during the first part of the transient response, the output
voltage slew rate of the OTA is dominated by Cj1 and is much faster than it is after
Cc2 becomes more important, thereby reducing the total transistion time between
minimum and maximum duty ratio.
Figure 6.6 shows the output voltage of the OTA in the transition between minimum and maximum values of the oscillator voltage waveform with the compensation
values given above. The total transition time for the output of the OTA to slew 1.5
154
.
-50
-
, t,
II
11
IU
Frequency (rad/sec)
II
--- ..-..---- ..... .,....
-90 .--
.....
.... , .....
.....-.
.....
CD
o,
S-180
C,
a.
-270
.- AP11I
104
Frequency (rad/sec)
Figure 6-5: Open loop system response with improved compensation values.
155
1.0
VT("/out")
0.(
-2.
-3.
0.00
50.0
x10-6
100.
time
Figure 6-6: Slew rate characteristic of the OTA output voltage with C 1l = 100 pF,
and Cc2 = 10 nF.
V is 25 /is, which is significantly less than the 125 ps predicted above as expected. If
this transition time is deemed to be too long, the compensation values can be scaled
to use smaller capacitors while achieving the same phase boost.
The Matlab script has been used to design the MC33470 switching regulator and
determine the necessary characteristics of the OTA. The OTA and comparator designs
are presented in the following two chapters.
156
Chapter 7
An operational transconductance amplifier, or OTA, provides an output current proportional to a differential input voltage. A single high impedance node, defined by
the differential to single ended conversion, is compensated in this design by a two
pole, single zero network referenced to ground. The performance requirements of this
OTA were derived in Chapter 6 and are summarized in Table 7.1.
Folded cascode architectures have been used in the industry to provide reasonably
high stage gain and high speed. However, due to the use of coarse comparators for
this design to provide large load transient regulation, a high bandwidth error amplifier
is not necessary. A simplified schematic of the OTA architecture used in this design
is shown in Figure 7.1. This topology has the advantage of increased drain current
efficiency since the current mirrors can be exploited to provide high output drive while
minimizing the overall current drain of the amplifier. The output current is given as:
lout = GmVid
(7.1)
where Gm is the effective transconductance of the stage including the gm due to the
input differential pair and the g, due to current mirror stage's ratio, and will be
157
Supply Voltage
Output Voltage Range
4.2 - 5.5 V
1.5 - 3.0
OoC - 100IC
Table 7.1: Performance requirements of the OTA needed for the MC33470.
out
A, = GmRout
(7.2)
Achieving high stage voltage gain is therefore driven by the ability to optimize the
GmRout product. The gm of a MOS transistor, assuming strong inversion operation
and Vd, greater than (V,1 - VT), is approximated by the following expression.
9m = pCox
L(Vgs - VT)
2ldLCo L
(7.3)
1
AId
(7.4)
(7.5)
Note that while gm is directly proportional to the drain current of the device, the
output impedance varies inversely with it. Matlab provides the designer with a specification for each that satisfies both the open loop gain requirement as well as the
output impedance of the OTA. This is necessary to ensure successful interaction with
the current to voltage conversion network formed by the two pole, single zero compensation network. Note also that lowering the drain current to increase the output
impedance of the current mirrors could lower the current density in the input differential pair to an extent that it forces the device to operate in the moderate inversion
region. In this case, Eq. 7.3 becomes invalid and Level 3 models, as will discussed in
Section 7.3, fail to accurately predict transistor behavior.
159
7.2
7.2.1
The common mode range requirement of 1.6 V to 3.9 V, in combination with a requirement that the system be fully operational at a supply voltage of 4.2 V, precludes
the use of an enhancement mode PMOS or pnp transistor for the input differential
pair. Referring to Figure 7.2, the common mode voltage range of this architecture is
given by the following relationships:
Vss + Vgs()
+ (Vgs(MO)-
<
VT) -
Vgs(MO)
(7.6)
(7.7)
This input stage can easily be designed to sense common mode voltages of 1.6 V or
less. However, when Vdd = 4.2 V, assume a Vdsat(p) of 300 mV and a Vgs(pMO) of 1.3
1SMARTMOS is a registered trademark of Motorola.
160
vdd
irl
gnd
(7.8)
This does not meet the common mode voltage requirement specified in Table 7.1
of 3.9 V. If we perform the same analysis for the OTA illustrated in Figure 7.1, we
observe the following relationships:
Vim(n)
If we assume a
(7.9)
>
Vss + Vdsat(lIa)
<
Vdd -
Vgs(M2) -
Vdsat(MO) + Vgs(MO)
<
Vdd -
Vgs(M2) -
(Vgs(MO) -
<
Vdsat(n)
V9s(MO)
VT(MO)) + Vgs(MO)
(7.10)
Vim(n)
>
OV+0.3V+1.0V=1.3V
161
Vicm(p)
<
which meets the requirement. Equally suitable and possibly functional at lower supply
voltages would be the use of an npn differential pair. However, the common mode
range requirement is not the only consideration.
7.2.2
order of 500 mV. Therefore, for a given tail current bias value, bipolar input stages
can provide significantly higher gm than their MOSFET counterparts. However, one
concern associated with bipolar inputs for this design is the effective input impedance
that it will present to the internal, precision voltage reference. Errors associated with
the input base current requirement of the OTA needs to be considered.
For most switching regulator designs, including the MC33470, the OTA monitors
the output regulated voltage and compares its value with that of an internal precision voltage reference, such as a bandgap. For this design, a curvature corrected
bandgap current reference is derived using a patented circuit topology that mixes
both a thermal and a negative temperature coefficient current [30]. This current is
then used to bias the programmable resistor string DAC which generates the internal
voltage reference. Errors associated with this voltage reference can make it difficult
to guarantee the +5% tolerance window for the regulated output, particularly with
transistor / that vary with temperature and process conditions. A MOSFET input
differential pair would ensure that there would be no ib loading of the voltage reference. The MOS OTA architecture also provides a means to increase stage gain by
the use of current mirror ratioing from the input pair to the output drive circuitry.
MOSFET architectures also have the added benefit of much higher integration levels
than bipolar transistors.
162
7.3
MOSFET Modeling
Historically, MOSFET models have, to some degree, addressed the problems associated with digital CMOS designs where moderate and weak inversion operation, bulk
effects, and small signal conductance are of secondary or lesser concern. However, as
more analog and mixed mode ICs have turned to CMOS to capitalize on size efficiency
and shrink compatability, the use of existing models have been found to be severely
lacking [32, 33]. A good analog MOS model is critical to help ensure initial project
success.
7.3.1
Possibly the two most important device characteristics with regard to the performance
of the operational transconductance amplifier are the output impedance and moderate
inversion characteristics of a MOS transistor. As has been described previously, the
GmRout product determines the open loop gain of the OTA, which, if incorrectly
determined, could lead to severe control loop stability problems. As such, a thorough
understanding of the model performance available to the designer is necessary if one
is to have any faith in the results provided by the simulation tool.
PSpice supports a Level 3 MOSFET model which has been found to be sufficiently
adequate for most LSI digital circuit designs. However, this model makes several
highly inaccurate assumptions that can lead an analog designer astray. Of particular
note is that this model relies on a discrete (i.e., if - then) algorithm which completely
ignores device operation in moderate inversion, a typical bias point for low voltage,
low current analog circuits. Moderate inversion refers to the region where Id(Vgs)
is neither exponential nor a first degree polynomial. Using either weak or strong
inversion relationships to analyze the performance of the device with regard to gm
and drain current in this region leads to a significant error. For example, when a
MOSFET is biased with a low drain to source potential and the gate bias is increased,
the device moves from a region where the drain current is exponentially related to
the gate bias (weak inversion or subthreshold) to a region where the drain current is
163
linearly dependent on V,1 (strong inversion). Neither of these relationships is valid for
the moderate inversion region. The Level 3 MOS model treats the transition between
these two regions as a step change in device performance which can appear to the
designer as a sudden large drop in transconductance when the current density in the
device is lowered. Likewise, a high gm indicative of strong inversion operation may
present itself to the designer even though the device is biased in the intermediate
region.
The Level 6 model, or SSIM, used by MCSpice, treats the transition through the
various inversion regions as a continuous phenomenon. A comparison of the input
characteristic of the Level 3 and SSIM models is shown in Figure 7.3 for a low voltage,
enhancement mode NMOS device measuring 80/8 UDR and biased with a Vd, of 100
mV. Note that for V., just above VT, severe discrepancies exist between the two
models.
The Level 3 model also suffers from an inadequate representation of MOSFET
output impedance which is not limited to short channel effects alone. This can lead
to a highly inaccurate prediction of the voltage gain of the OTA. Figure 7.4 illustrates
a comparison of the output impedance of a 4 UDR (minimum supported by the
technology) channel length. Figure 7.5 illustrates the output impedance characteristic
of the same device if the channel length is increased to 12 UDR.
This modeling inadequacy presents a problem for the design of complex, high
performance mixed mode ICs. PSpice adequately supports macro and behavioral
modeling but cannot be used to verify transistor level circuit performance. MCSpice
provides excellent analog MOS characterization, but fails to provide the designer
with a robust simulation capability at the system top level. This discussion further
reinforces the need to have additional simulation aids, in this case, the Matlab design
methodology as presented in previous chapters, to assist the designer in providing
information not readily available by other means.
164
S: deriv(!S"/MLVL3/D))
90.
80.
70.
60.
50.
III
40.
30.
20.
10.
0.0
0.0
.50
1.0
1.5
2.0
Figure 7-3: Input characteristic comparison (NMOS, Vd, = 100 mV): SSIM Level 6
versus Level 3.
165
a: OP("/MLVL3" "id")
OP("/MSSIM" "id")
-:
x10-6
40
;.........--;... ---,--
30.
20.
10.
i
i
ii
i
'i
-ii LiC;L--ilCkt;rirt-L.IIIL~:_L
iLi.i.i
..
0.0IT-',
0.0
_D
__Y_
166
40U x10
10.
0 OP("/MLVL3" "Id")
6 : OP("/MSSIM" "id")
0.0 i -
0.
v- I
I ,
vds
167
7.4
Current Mirrors
7.4.1
The compensation network performs a current to voltage conversion, defines the frequency response, and establishes the limit on slew rate capability. Sufficient drive
from the OTA must be available to change the voltage present on the compensation
capacitors to ensure adequate response to a change in regulated output voltage is
presented to the PWM comparator. The use of coarse comparators for this design in
the control loop, as will be described in Chapter 8, greatly alleviates the need for a
high performance, high bandwidth error amplifier. The principle requirement of the
OTA using the topology presented is to maintain steady state voltage regulation and
control loop stability.
During transient situations where the output load is insufficient to activate the
coarse comparators (i.e., voltage regulation does not move outside the 3%tolerance
window), but is sufficient to divert the full effective tail current bias for charging the
compensation capacitors, the slew rate is given as:
t )max
(d
dt
Itail(eff)
Cc
(7.11)
168
Aout
1.5 V
At = 1.5 ps
1.5 V
= SR
1.5 [is
1V
1V
Itail(eff)
Cc(
Itail(eff)
100 /1A
pus
,us
) = 100 pF(
IV
ps
The time requirement is set by the customer and reflects a margin to allow sufficient
time for settling effects due to the finite bandwidth of the amplifier. The use of current
mirror ratioing can be exploited in this architecture to reduce the tail current bias
value to minimize amplifier drain current yet still provide the output drive capability.
7.4.2
Simple MOS current mirrors, like the one employed in the OTA shown in Figure 7.1,
suffer from poor matching due to the finite output impedance of the MOS transistor.
A simple PMOS current mirror is shown in Figure 7.6. The drain of reference diode
M1 is held at a V,s below the supply voltage Vdd resulting in a fixed drain to source
potential equal to Vgs(M1). The drain of the mirror transistor MO is connected to Vnode
Id
(7.12)
where A was defined in Section 7.1. When a MOSFET enters saturation, a pinch
region, given as Xd in Eq. 7.5, is formed at the drain end of the transistor. As the
drain to source voltage is varied, the length of this pinch region also varies and results
in a modification of the effective channel length of the device. As such, it has a direct
effect on the square law characteristic of the transistor. Lengthening of the channel
helps to increase the output impedance by reducing the percentage of the pinch region
169
pIlv4
Iref
,Ignd
Ro(eq)
Ro(eq)
gm(M3)ro(M3)ro(MO)
(7.13)
6: IS"/Vnode/PLUS")
33. x10-6
51.
29.
27.
25.
23.
0.0
3.0
4.0
5.0
sweep
171
S
27 x10
S(::/Vnode/PLUS")
,II
26.
25.
24.
0.0
23.
0.0
'''''''' 1.0
2.0
30
4.0
5.
1.0
2.0
3.0
4.0
5.0
sweep
Vdsat(M1) + Vdsat(M2). Figure 7.8 shows the matching of this current mirror,
using 8 UDR channel length devices, as the drain of M3 is moved from ground to
within 500 mV of Vdd. The drop in the mirrored current within 700 mV of the supply
rail is due to the cascode device M3 entering the linear region. This phenomenon
can be avoided by lowering the Vdsat of the affected devices through device sizing. In
this way, a well matched current mirror can be designed with limited impact on the
common mode range and yet have substantial output voltage swing.
7.4.3
The complete OTA schematic is shown in Figure 7.10. The output voltage is required to swing from 1.5 V to 3 V to match the peak to peak voltage of the internal
172
2 L (Vg-
Id
L
VT)2
=-KVdsat
21d
KWV
2 L
at
(7.14)
(7.14)
2(100 pA)
60 y-A 0.42
Minimum channel length for this technology is 4 UDR. However, to provide a margin from long term threshold shifts due to hot carrier injection effects, analog MOS
transistors are sized at 8 UDR. The transconductance of a PMOS transistor is approximately half that of an NMOS device and the transistor is sized accordingly.
173
Assuming a safety margin for Vdsat of 250 mV, the output dynamic range is given as
follows:
Vout(dyn)+
Vout(dyn)-
2(Vdsat) -
2(Vdssm)
Vdd(min) -
7.4.4
The input common mode range requirement can be further enhanced by extending
the gate to source voltage of the input differential pair. This can be accomplished
by increasing the intrinsic threshold voltage of transistors MO and M1 by using the
body effect. The body of transistors MO and M1 are both connected to Vs,.
As the
gates of these transistors are moved toward the positive supply, the source will tend
to follow the gate for a fixed bias current. However, as the source voltage increases,
the source to body voltage increases, leading to a positive shift in the magnitude of
the threshold voltage. This is represented by the following relationship:
Vtact = Vto + 7[ 2qf + Vsb
(7.15)
2/if]
where y is the body effect coefficient and is dependent on oxide thickness and background doping levels. For a p-well technology, y for an NMOS device device is approximately 1.0 v'V. If we assume a VIb of 2 V with the gates near the positive
supply, the actual threshold is given as:
Vtact
Vtact
174
potential is now up to 2 V below the gate voltage when the gates are biased near the
top of the common mode voltage range, moving the device operation far from the
linear region.
7.4.5
Transconductance
Gm -
n " gm(MO)
(7.16)
where n is the current mirror ratio factor. For this design a ratio of 4 was used
based on meeting the output drive requirement and saving overall amplifier drain
1 /4 = 212.5 pL2
- 1 . The
current. This results in a gm(MO) requirement of 850 pt-
drive requirement as determined in Section 7.4.1 of 100 pA leads to a tail current bias
value of 25 pA. The transconductance of the input stage devices, assuming strong
inversion operation, is given as:
gm
2IdKE
L
2IdK
LS
2IdK
(7.17)
(212.5 p/-1) 2
(25. 10-6 . 60 10-6)
Initial simulations using the SSIM Level 6 model indicated a lower gm than predicted due to a relatively low current density. The tail current was increased slightly,
to 30 pA, and device sizing was increased to 40x.
175
7.5
Biasing
Tail current and cascode reference voltage biasing was implemented using npn transistors to provide high output impedance without the need for cascoding. The reference
voltage for the cascoded current mirrors are provided by diode connected devices
M14 and M15 and bias resistors RB1 and RB2. Transistors M14 and M15 are sized to
match the current density of cascoding devices M2, M4 and M10, M11 respectively.
The voltage drop across bias resistors RB1 and RB2 maintain sufficient voltage across
M3, M5, Mll
Vgs(MlO) -
Vdsat(M11)
0 + Vgs(M15) -
Vgs(M1O)
Vgs(M15)
Vdsat(M11)
= 0
=
Vdsat(Mil)
V(RB1)
V(RB1)
SVgs(M10)
Vdsat(M11) -
V(RB1)
2
Id(Mll)
K(W/L)Mll
=
Id(M15)RB1
Id(M15)RB1
Id(Mll)
K(W/L)Mll
2 Id(M11)
=:
RBI
Let Id(M11)
RB1
RB1
K(W/L)Mll Id(M15)
Id(M15) = Id
21d
(K(W/L)Ml I
2
K(W/L)M 11Id
(/
(7.19)
For example, with a W/L ratio of M11 of 10 biased at 30 pA, RB1 would be sized at
10.5 kQ. Cascoded PMOS mirror M16 - M19 was used to provide a well controlled
bias current to the voltage reference comprised of M15 and RB1.
176
7.6
Design Summary
The open loop, uncompensated, frequency response of this OTA over the specified
temperature range of 00 C to 100'C is shown in Figure 7.11. Note a nominal open loop
gain of 67 dB which remains flat until approximately 200 kHz. The -20 dB/dec rolloff
above the corner frequency is indicative of a single dominant pole response caused
by the high impedance node formed at the drains of M8 and M12. The frequency
response, with a two pole, single zero compensation network included, is shown in
Figure 7.12.
kHz and can be adjusted, if necessary, by a simple iteration of the Matlab script
demonstrated in Chapter 6. Figure 7.13 illustrates the large signal slew rate behavior
of the OTA when biased from 2.5 V supplies. Figure 7.14 demonstrates the output
signal swing capability. A summary of the simulated performance, conducted using
MCSpice, is listed in Table 7.2.
The layout of the OTA is shown in Figure 7.15. The input stage devices and
the cascoded mirrors are cross coupled. The die size measures 0.352x0.253 mm 2
(13.8x9.96 mils 2).
177
x10 0
: dB20((VF("/vout") / VF("/vin")))
70
70..
~"""
'
-
' """'
iLUIIIUTIIU
'
x10
190.
"""'
'
'
"""'
'
'
"""'
'
'
"""'
'
'
"""'
EM]
'
'
DC=5k
PDC=
EMPDC
"""'
phase(VF("/vout"))
- phase(VF("/vin")))
w
iii ....
! .
TEM
FID(
:R
=25
ODC=5k
PDC=
EMPDC
40.0 L
100
10
frequency
x10
dB20((VF("/vout") / VF("/vin")))
70
70
_i
L.......2
'
"""'
'
""""
'
'
"""'
----
'
'
'
"""'
'
"""'
'
"""'
'
'
"""'
------
'
'
"""'
5
2
--
1x
00
180.
: (phase(VF("/vout")) - phose(VF("/vin")))
160.
140.
PC=O
80.0
TF
25
50
C=
40.0
DC
I
6
10
10
frequency
.:: vr/vin")
VT "/vout")
x10
- 6
Li me
5 0
VS("/vout")
-'~-
/--~~r
4.0
3.0
2.0
1.0
0.0 A
2.2
1 1 ,
{ lIl
l,
l l
ll
l l
I I I I I I
l I l l
l l
I I l
II,
2.8
sweep
180
Parameter
dc Gain
-3 dB Bandwidth
Simulated Value
67 dB
200 kHz
0.5 - 4.5 V
1.2 - 4.8 V
Output Drive
Slew Rate
Power Supply
Power Dissipation
120 pA
1.2 V/ps
+5 V / ground
1 mW
181
Chapter 8
Coarse Comparator Design
8.1
Functional Description
8.2
Design Requirements
The common mode voltage range requirement is similar to that needed by the OTA
described in Chapter 7 since all share a common sense point to the regulated output
voltage. In addition, input impedance requirements follow the same guidelines as
those described for the OTA and as such, the comparator input differential pair will
utilize low voltage NMOS transistors.
The only load presented to these comparators are the logic gates governing PWM
override control, and therefore, minimal output drive capability is needed. The input
182
= 0.05 - 1.8 V = 90 mV
AI
= 30 /A
AI
Sg=(Mo)
30 pA
AV
90 mV
= 333 /Q - 1
(8.1)
gm
2IdK
(333- 10-6)2
(60- 10-6. 60. 10-6)
= 30.8
(8.2)
To account for temperature and process variations, as well as effects due to moderate
inversion operation observed during simulations using MCSpice, actual input stage
device sizing was increased to 40x.
8.3
Comparator Architecture
The comparator architecture used in this design is shown in Figure 8.1. It is comprised
of a n-channel differential pair, MO and M1, whose bulk terminal is connected to
V,, to enhance common mode voltage range as the inputs are driven towards the
183
(Vds(M6))
voltage of M7 (Vds(M7)) for static operating situations. This helps to maintain the
differential to single ended conversion network, comprised of simple mirror M6 and
184
xl0 00
90.
.... -- \\
,\
("/vout")
FV((02Bd
..
]I
..
1"'
80.
-L
O
jL
TEM
DI
70.
F 2=25
60.
i-
50.
'DC=5
EMPDC=
EMPDC
40.
180.
phase(VF("/vin")))
: (phase VF("/vout"))
150.
120.
T.EM [C
90.0
60.0
-
30.0
i
. .%Ilk
..
: : :
_EI
10 1
10
105
10I
,=25
DC= 5
VIP DC=
EMPDC
0.00
1r00
11
106
1
0
$ Id(M7))
input referred offset voltage of the comparator. In addition, the channel lengths of the
NMOS mirror transistors were set to 12 UDR to increase device output impedance.
8.4
Simulation Results
The open loop frequency response of the comparator is shown in Figure 8.2 for a
specified temperature range of O0C to 100 0 C. The comparator exhibits a flat gain of
approximately 82 dB out to a -3 dB frequency of 200 kHz. A characteristic single pole
gain attenuation due to the first gain stage is observed. A second pole contributed
by the second gain stage occurs above 10 MHz.
Figure 8.3 is the slew rate performance of the comparator when driving a 5 pF
185
0: VT("/vout")
-:
VT("/Vstep
6.0
5.0:
t
H
0.0
0.0
I I I
I I I I
1I I I I I I I I I I I I I I I I I
1.0
4. 0
3 0
2.0
Cload=
x10
5.0
time
- 6
5 pF.
load and biased with a single 5 volt supply. The observed assymetrical behavior is
due to the simple class A output stage. During evolutions which require charging of
the output load capacitance, NMOS transistor M8 is turned off, leaving fixed PMOS
current source M9 to provide sourcing current capability. This limits the positive
slew rate to:
dVout
60 - 10-6
Id(M9)
V(8.3)
- 12 = 12
-55 10
10-12
~LS
( dt )maz(+)-- Cload
Cload
(8.3)
assuming infinite output impedance of the PMOS current source. Alternatively, removing charge is accomplished by turning on M8 and pulling charge out of the load
capacitor. Assuming a (Vg, - Vt) of 3 V when the input pair receives a large negative
differential signal, then M8 will try to sink a drain current equivalent to:
KW
K
Id(M8)
V) 2
- - (
186
(8.4)
. J V!
a:
VS("/vout")
--
H1
tt---~--~--
0.0 ~c--~-~-~ttc
2.40
SI
2.44
IIII I
2.48
II IIIIIII
2.52
I I I I Il
2.56
2.60
sweep
187
l~t~L
......
'
.....
...
......
7 77
--------------...............
_iTTTTTTU7i
`LYY
muwmmff
------- ---------
Parameter
dc Gain
-3 dB Bandwidth
Simulated Value
82 dB
200 kHz
0-5 V
1.2 - 4.8 V
12 V/psec
Power Supply
Power Dissipation (Dual Comparators)
Operating Temperature Range
+5 V / ground
2.5 mW
OC - 1000C
189
Chapter 9
Conclusion
9.1
Summary
In Chapter 3, a basic model of the buck switching regulator was created using Matlab.
This model was used to determine the frequency characteristics and transient response
of the regulator. Chapter 4 developed a more detailed regulator model that accounts
for parasitic component values and second order effects. A Matlab script was also
written that aids in the regulator design process by giving the designer an intuitive
feel for how parameter variations affect the performance of the regulator. In Chapter
5, the Matlab script and model were verified using PSpice and three breadboards built
with Linear Technology's LTC1430 regulator IC. Then the Matlab script was used in
Chapter 6 to aid in the design of the MC33470. Chapters 7 and 8 summarized the
design of the operational transconductance amplifier and comparators, respectively.
9.2
Conclusions
The Matlab design methodology avoids many of the typical simulation problems associated with using PSpice. For example, the number of memory intensive PSpice
simulations that are needed to complete a regulator design is reduced. Also, it allows
the designer to quickly determine the robustness of the regulator by varying parameters and observing the resulting phase margin of the system. Finally, this design
190
method allows the project goals of a low cost design, a robust regulator system, and
a quick design cycle time to be met.
9.3
Future Work
The techniques presented in this thesis can be extended in several ways. First, regulator topologies such as boost and flyback can also be modeled in the frequency domain
to allow the phase margin and required compensation to be quickly determined for
a set of design parameters. The Matlab script presented could then be expanded
to facilitate the design of these regulators. Also, Matlab could be used to perform
transient simulations using a set of nonlinear differential equations that describe the
regulator. These simulations are generally much less time consuming than similar
PSpice simulations while still providing excellent accuracy. Although the equations
describing the regulator can be complicated, they could be incorporated directly into
a script so that the design is interactive and no prior knowledge of how to use Matlab
would be necessary.
191
Appendix A
Matlab Script
clc
clear
disp(' ')
disp([blanks(5) 'Switching Regulator Design and Optimization'])
disp(' ')
l=input([blanks(5) 'Enter the output filter inductor value
(uH):
-- >
']);
1=1l*le-6;
disp(' ')
ntimes=0;
%cap types [value, esr, size, cost]
%each row indicates cap value, esr, performance indicator (taking
%size into account), and cost.)
disp([blanks(5) 'Capacitor data is currently as shown below.'])
disp(' ')
disp('
Value
ESR
Factor
Cost')
ctype=[330e-6 0.03 1 1; 15000e-6 0.020 5 0.12; 1800e-6 0.039 2
0.12; 330e-6 0.100 1 0.5; 330e-6 0.018 1 1]
cchange=0;
while cchange==0,
disp([blanks(5) '
disp([blanks(5) '
disp([blanks(5) '
disp(' ')
1:
2:
3:
192
']);
']);
if chO==2,
ctype(length(ctype(:,l))+1,1)=input([blanks(5) 'Enter new
capacitor value (F): -- > ']);
ctype(length(ctype(:,1)),2)=input([blanks(5) 'Enter new
capacitor ESR (ohms): -- > ']);
ctype(length(ctype(:,1)),3)=input([blanks(5) 'Enter new
capacitor size factor: -- > ']);
ctype(length(ctype(:,1)),4)=input([blanks(5) 'Enter new
capacitor price ($): -- > ']);
disp(' ')
disp('
Value
ESR
Factor
Cost')
ctype
end
if chO==l,
cchange=1;
end
if chO~=1,
disp('
')
disp([blanks(5) ' 0: Continue editing capacitor data. '])
disp([blanks(5) ' 1: Quit editing data.'])
cchange=input([blanks(5) 'Enter your choice: -- > ']);
disp(' ')
end
end
maxesr=input([blanks(5) 'Enter maximum ESR for acceptable
transient response (ohms): -- > ']);
maxcost=input([blanks(5) 'Enter maximum allowable cost of
filter capacitors ($): -- > ']);
disp(' ')
193
for loopl=1:1:length(ctype(:,1)),
cdesign(loopl,1)=ceil(ctype(loopl,2)/maxesr);
cdesign(loopl,2)=ctype(loopl,4)*cdesign(loopl,1);
cdesign(loopl,3)=sign(maxcost+0.001-cdesign(loopl,2));
end
gcaps=0;
for loop2=1:1:length(ctype(:,1)),
if cdesign(loop2,3)==1,
gcaps=gcaps+1;
end
end
disp(' ')
disp('
Number
Cost
cdesign
gcaps=num2str(gcaps);
Acceptable')
')
']);
if chl==1,
lco=1.25e-9;
cb=30e-6;
rcb=4e-3;
lcb=63e-12;
rs=3.6e-3;
lc=le-9;
lb=.5e-9;
194
end
if chl==2,
lco=input([blanks(5) 'Enter Lco value (H): -- > ']);
rcb=input([blanks(5) 'Enter Rcb value (ohms): -- > ']);
cb=input ([blanks(5) 'Enter Cb value (F): -- > ']);
Icb=input ([blanks(5) 'Enter Lcb value (H): -- > ']);
rs=input ([blanks (5) 'Enter Rs value (in ohms): -- > ');
Ic=input([blanks(5) 'Enter Lc value (H): -- > ']);
lb=input([blanks(5) 'Enter Lb value (H): -- > ']);
end
if chl==3,
lco=0.34e-9;
cb=40e-6;
rcb=3e-3;
lcb=12e-12;
rs=1.29e-3;
lc=.26e-9;
lb=.5e-9;
end
disp(' ')
disp([blanks(5) 'Maximum allowable output impedance is
maximum allowable output'])
disp([blanks(5) 'voltage variation (according to error
budget calculations) divided by'])
disp([blanks(5) 'maximum load current step.'])
disp(' ')
imp=input([blanks(5) 'Enter maximum output impedance in
mid-frequency region (ohms): -- > ']);
tr=input([blanks(5) 'Enter the load current rise time (s).
(Pentium Pro is 10-15 ns): -- > ']);
fc=0.35/tr;
disp(' ')
disp([blanks(5) '1. Draw impedance curves.'])
disp([blanks(5) '2. Do not draw impedance curves.'])
disp(' ')
curves=input([blanks(5) 'Enter your choice: -- > ']);
for loop3=1:1:length(ctype(:,1)),
if cdesign(loop3,3)==1,
co=cdesign(loop3,1)*ctype(loop3,1);
195
rco=ctype(loop3,2)/cdesign(loop3,1);
num=[co*cb*lcb*(lc+lb+lco) (ic+lb+lco)*rcb*co*cb
+lcb*co*cb*(rco+rs) Icb*cb+co*(lc+lb+lco)+rcb*co*(rco+rs)*cb
(rco+rs)*co+rcb*cb 1];
den=[cb*co*(lc+lb+lcb+lco) cb*co*(rco+rcb+rs) (co+cb) 0];
temp=[le-12 11;
den2=conv(temp,den);
[mag,phase,w]=bode(num,den2);
f=w/2/pi;
[magl]=freqresp([1/fc*imp imp], le-12 11,f);
if curves==1,
figure
loglog(f,mag)
v=axis;
axis([1 le10 v(3) v(4) ])
hold on
loglog(f,magi,'r')
xlabel('Frequency, Hz')
ylabel('Impedance, Ohms')
hold off
end
loop4=length(f);
while mag(loop4) < magl(loop4), loopbw=f(loop4);,
loop4=loop4-1; end
if mag(length(f)) > magl(length(f)),
loopbw=0;
end
cdesign(loop3,4)=loopbw;
cdesign(loop3,5)=cdesign(loop3,1)*ctype(loop3,1);
end
end
']);
if cdesign(loopl,4)>swf,
cdesign(loopl,3)=-1;
end
end
if max(cdesign(:,3))<1,
disp('
')
Decreasing maximum
']);
a=supply/vpp;
%finding ESR of inductor.
lesr=input([blanks(5) 'Enter ESR of inductor (ohms): -- >
%finding Rdson of FETs.
rdson=input([blanks(5) 'Enter Rdson of FETs (ohms): -- >
pm=input([blanks(5) 'Enter desired phase margin (positive
degrees):
-- >
']);
minpm=30;
minpml=10;
if minpm>pm,
minpm=pm-5;
end
if minpm<minpml,
minpml=minpm;
end
disp(' ')
']);
']);
eat==2,
% ask for ota characteristics.
disp('')
gm=input([blanks(5) 'Enter low frequency value of gm
(mmhos): -- >
']);
gm=gm*le-3;
pl=input([blanks(5) 'Enter OTA dominant pole location
(Hz): -- >
']);
pl=pl*2*pi;
rl=input([blanks(5) 'Enter OTA output impedance
(ohms): -- >
end
198
loopc
fco=cdesign(loopc,4)*1.2
end
if n2==2,
fco=1.2*cdesign(loopc,4);
end
wc=fco*2*pi;
p=angle(outl(1)*(wc*i)+outl(2))-angle(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3));
p=p*180/pi;
m=pm;
if (n2==2 & m<60),
m=60;
end
boost=m-p-90;
if boost>90,
k=10;
end
k=tan((boost/2+45)*pi/180);
if k>10,
k=10;
end
g=1/abs((outl(1)*(wc*i)+outl(2))/(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3)));
rl=le3;
cl=1/(wc*g*k*rl);
c2=c1*(k^2-1);
r2=k/(wc*c2);
compl=[rl*r2*cl*c2 rl*(cl+c2) 0];
comp2=[r2*c2*le-9 r2*c2+le-9 1];
[eampl,eamp2]=feedback(opampi,opamp2,comp, comp2);
[toti,tot2]=series(eampl,eamp
2,outl,out
2);
cresults(loopc,1)=rl;
cresults(loopc,2)=r2;
cresults(loopc,3)=cl;
cresults(loopc,4)=c2;
[templ,cresults(loopc,5),temp2,cresults(loopc,6)]
=margin(totl ,tot2);
cresults(loopc,6)=cresults(loopc,6)/2/pi;
figure
margin(totl,tot2);
end
200
if
cv==2,
if cdesign(loopc,4)>swf/10 & cdesign(loopc,4)<swf/5
fco=swf/5;
end
if cdesign(loopc,4)<swf/10,
fco=swf/10;
end
if cdesign(loopc,4)>swf/5,
fco=cdesign(loopc,4)*1.2
end
if n2==2,
fco=1.2*cdesign(loopc,4);
end
wc=fco*2*pi;
p=angle(outl(1)*(wc*i)+outl(2))-angle(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3));
p=p*180/pi;
m=pm;
if (n2==2 & m<60),
m=60;
end
boost=m-p-90;
if boost>180,
k=100;
end
+out2(2)*(i*wc)+out2(3)));
rl=1e3;
ci=1/(wc*g*rl);
c2=cl* (k-1);
r2=k^0.5/(wc*c2);
r3=rl/(k-1);
c3=1/(wc*k^0.5*r3);
compi=[rl*r2*cl*c2*r3*c3 r3*c3*rl*(cl+c2)+rl*r2*cl*c2
rl*(cl+c2) 0];
comp2=[r2*c2*(rl*c3+r3*c3)*le-9 (rl*c3+r3*c3+c2*r2)*le-9
201
+(r2*c2)*(rl*c3+r3*c3) le-9+rl*c3+r3*c3+c2*r2
[eampl,eamp2]=feedback(opampl,opamp2,compi,
1];
comp2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
cresults(loopc,1)=rl;
cresults(loopc,2)=r2;
cresults(loopc,3)=cl;
cresults(loopc,4)=c2;
[templ,cresults(loopc,5),temp2,cresults(loopc,6)]
=margin(totl,tot2);
cresults(loopc,6)=cresults(loopc,6)/2/pi;
cresults(loopc,7)=r3;
cresults(loopc,8)=c3;
figure
margin(totl,tot2);
end
if cv==3,
if cdesign(loopc,4)>swf/10 & cdesign(loopc,4)<swf/5
fco=swf/5;
end
if cdesign(loopc,4)<swf/10,
fco=swf/10;
end
if cdesign(loopc,4)>swf/5,
fco=cdesign(loopc,4)*1.2
end
if n2==2,
fco=1.2*cdesign(loopc,4);
end
wc=fco*2*pi;
p=angle(outi(1)*(wc*i)+outl(2))-angle(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3));
p=p*180/pi;
m=pm;
if (n2==2 & m<60),
m=60;
end
boost=m-p-90;
if boost>90,
boost=90;
end
202
rbst=l;
end
[j ,j2,j3,wca]=margin(tot
,tot2);
[mag2,phase2,w2]=bode(tot, tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
crobust(loopc,1)=min(phase2);
if (crobust(loopc,1)+180)>minpml,
rbst=1;
end
end
gl=[gm];
g2=[1/pl 1];
otal=gl;
ota2=g2;
if cv==2,
disp(' ')
disp([blanks(5) 'This choice is only for op amps.
if cv==l,
if cdesign(loopc,4)>swf/10 & cdesign(loopc,4)<swf/5
fco=swf/5;
end
204
if cdesign(loopc,4)<swf/10,
fco=swf/10;
end
if cdesign(loopc,4)>swf/5,
fco=cdesign(loopc,4)*1.2
end
wc=fco*2*pi;
p=angle(outl(1)*(wc*i)+outl(2))-angle(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3));
g=1/abs((outl(1)*(wc*i)+outl(2))/(out2(1)*(wcti)^2
+out2(2)*(i*wc)+out2(3)));
gnuf=0;
tries=0;
while gnuf==O,
rl=20e3;
if n2==2,
rl=100e3;
end
cl=1/rl/(abs(min(real(roots(out2))))+tries*100);
c2=cl/100;
if n2==2,
c2=cl/1000;
end
tries=tries+1;
compl=[cl*rl*rl rl];
comp2=[cl*c2*rl*rl (rl*cl+rl*c2+cl*rl) 1];
[eampl,eamp2]=series(otal,ota2,comp, comp2);
[totl,tot2]=series(eampl,eamp2,outl,out
2);
cresults(loopc,) =rl;
cresults(loopc,3)=cl;
cresults(loopc,4)=c2;
[templ,cresults(loopc,5),temp2,cresults(loopc,6)]=margin(totl,tot2);
cresults(loopc,6)=cresults(loopc,6)/2/pi;
205
if (cresults(loopc,5)>30 I tries>100),
gnuf=1;
end
end
% end of while loop
figure
margin(totl,tot2);
end
if cv==3,
if cdesign(loopc,4)>swf/ 10 & cdesign(loopc,4)<swf/5
fco=swf/5;
end
if cdesign(loopc,4)<swf/
fco=swf/10;
end
if cdesign(loopc,4)>swf/5,
fco=cdesign(loopc,4)*1.2
end
wc=fco*2*pi;
p=angle(out (1)*(wc*i)+outl(2))-angle(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3));
g=1/abs((outl(1)*(wc*i)+outl(2))/(out2(1)*(wc*i)^2
+out2(2)*(i*wc)+out2(3)));
gnuf=0;
tries=O;
while gnuf==0,
rl=20e3;
if n2==2,
rl=100e3;
end
cl=1/rl/(abs(min(real(roots(out2))))+tries*100);
tries=tries+1;
compl=[cl*rl*rl rl];
comp2=[cl*(rl+rl) 1] ;
[eampl,eamp2]=series(otal,ota2,comp, comp2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
206
cresults(loopc,) =rl;
cresults(loopc,3)=cl;
[templ,cresults(loopc,5),temp2,cresults(loopc,6)=margin(totl,tot2);
cresults(loopc,6)=cresults(loopc,6)/2/pi;
if (cresults(loopc,5)>minpm I tries>100),
gnuf=1;
end
end % end of while loop
figure
margin(totl,tot2);
end
ntimes=ntimes+1;
if cv==4,
if ntimes==1,
rl=input([blanks(5) 'Enter R1 value (ohms): -- > ']);
cl=input([blanks(5) 'Enter C1 value (F): -- > ']);
c2=input([blanks(5) 'Enter C2 value (F): -- > ']);
compl=[cl*rl*rl rl];
comp2=[cl*c2*rl*rl (rl*cl+rl*c2+cl*rl) 1];
[eampl,eamp2]=series(otal,ota2,compl,comp2);
end
[totl,tot2]=series(eampl,eamp2,outl,out2);
cresults(loopc,) =rl;
cresults(loopc,3)=cl;
cresults(loopc,4)=c2;
[templ,cresults(loopc,5),temp2,cresults(loopc,6)]=margin(totl,tot2);
cresults(loopc,6)=cresults(loopc,6)/2/pi;
figure
margin(totl,tot2);
rbst=1;
end
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(toti,tot2);
w3=find(w2<wca);
phase2=phase2(1 : length(w3));
crobust(loopc,l)=min(phase2);
207
if (crobust(loopc,) +180)>minpml,
rbst=1;
end
end
end
end
end
disp(' ')
R1
disp('
R3
cresults
R2
C2
C1
PM
Loop BW
C3')
if gcaps==O,
disp([blanks(5) 'No capacitor types will work.
Try changing the power distribution'])
disp([blanks(5) 'network parameters, number of
capacitors used, desired phase margin,'])
disp([blanks(5) 'or error amplifier characteristics.'])
break
end
%with caps that are acceptable, pick the best one.
for p=:l: length(cdesign(:,1)),
if cdesign(p,3)==1,
% adjust alphal and alpha2 according to relative
% importance of size and cost.
alphal=1;
alpha2=0.4;
whichcap(p,1)=alphal*cdesign(p,2)
+alpha2*cdesign(p,1)*ctype(p,3);
end
if cdesign(p,3)~=1,
whichcap(p,1)=1e3;
end
end
[minscore,ctc]=min(whichcap);
disp(' ')
disp([blanks(5) 'The following capacitor type is recommended.'])
ctc
disp(' ')
disp('
Value
ESR
Factor
Cost')
ctype(ctc,:)
disp(' ')
disp('
Number
Cost
Accept?
Req BW
Tot Cap.')
cdesign(ctc,:)
disp(' ')
Loop BW
R2
C1
C2
PM
disp('
R1
C3')
R3
cresults(ctc,:)
disp(' ')
disp([blanks(5) '
1:
esr=ctype(ctc,2)/cdesign(ctc,1);
outl=[a*c*esr a];
out2=[l*c c*(esr+rdson+lesr) 1];
']);
mini=le-6;
end
rloadmin=minv/maxi;
rloadmax=maxv/mini;
rload=rloadmin;
if eat==1,
if (cv==l I cv==4),
210
']);
']);
rl=cresults(ctc,1);
r2=cresults(ctc,2);
cl=cresults(ctc,3);
c2=cresults(ctc,4);
compl=[0 rl*r2*cl*c2 rl*(cl+c2) 01;
comp2=[0 r2*c2*le-9 r2*c2+le-9 1];
end
if cv==2,
rl=cresults(ctc,1);
r2=cresults(ctc,2);
cl=cresults(ctc,3);
c2=cresults(ctc,4);
r3=cresults(ctc,7);
c3=cresults(ctc,8);
compl=[rl*r2*cl*c2*r3*c3 r3*c3*rl*(cl+c2)+rl*r2*cl*c2
rl*(cl+c2) 0];
comp2=[r2*c2*(ri*c3+r3*c3)*le-9 (rl*c3+r3*c3+c2*r2)*le-9
+(r2*c2)*(rl*c3+r3*c3) le-9+rl*c3+r3*c3+c2*r2 1];
end
if cv==3,
rl=cresults(ctc,1);
r2=cresults(ctc,2);
cl=cresults(ctc,3);
compl=[0 0 rl*cl 01;
comp2=[0 0 r2*cl 1];
end
%now find how much op amp parameters can vary.
typpm=cresults(ctc,5);
typbw=cresults(ctc,6);
brokeyet=0;
n1=1;
while (brokeyet==O & n1<11),
n1=nl+1;
gl=[av*nl];
g2=[1/pl*ni 1];
hl=[1] ;
h2=[1/p2*nl 1];
[vampcharl,vampchar2]=series(gl,g2,h, h2);
[eampl,eamp2]=feedback(vampcharl,vampchar2,compi,comp2);
[toti,tot2l=series(eampl,eamp2,outi,out2);
211
[jl,varypm,j2,varywc]=margin(toti,tot
varywc=varywc/2/pi;
);
totvary=0;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(totl,tot
2 );
[mag2,phase2,w2]=bode(tot, tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
gl=[av*nll;
g2=[1/pl/nl 1];
hl=[1] ;
h2=[1/p2/nl 1];
[vampcharl,vampchar2]=series(gl,g2,hi,h2);
[eampl,eamp2]=feedback(vampcharl,vampchar2,compl,comp2);
2
[totl,tot2]=series(eampl,eamp2,outl,out );
[jl,varypm,j2,varywc]=margin(totl,tot2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[j ,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(toti,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
gl=[av/nl];
g2=[1/pl*nl 1];
hl=[11 ;
h2=[1/p2*nl 11;
[vampcharl,vampchar2]=series(gl,g2,hl,h2);
212
[eampl,eamp2]=feedback(vampcharl,vampchar2,compl,comp2);
[totl,tot2]=series(eampl,eamp2,outl,out 2 );
[jl,varypm,j2,varywc]=margin(toti,tot2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(tot ,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
gl=[av/nll;
g2=[1/pl/nl 11;
hl=[1] ;
h2=[1/p2/nl 1];
[vampcharl,vampchar2]=series(gl,g2,hi,h2);
[eampl,eamp2]=feedback(vampcharl,vampchar2,compl,comp2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
[ji,varypm,j2,varywc]=margin(totl,tot2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[j ,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(totl,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
if totvary<8,
brokeyet=1;
end
213
end
disp(' ')
disp([blanks(5) ' The open loop gain and pole location of
the op amp can vary by the'])
disp([blanks(5) ' following factor without becoming unstable.'])
opampvar=n- 1
Yreset variable here and continue
[eampl,eamp2]=feedback(opampl,opamp2,compl,comp2);
2);
[totl,tot2]=series(eampl,eamp2,outl,out
end
if eat==2,
typpm=cresults(ctc,5);
typbw=cresults(ctc,6);
if (cv==l I cv==4),
rl=cresults(ctc,1);
cl=cresults(ctc,3);
c2=cresults(ctc,4);
compl=[O cl*rl*rl rl];
comp2=[cl*c2*rl*rl (rl*cl+rl*c2+cl*rl) 1];
%now find how much ota parameters can vary.
brokeyet=0;
nl=1;
while (brokeyet==O & nl<2.1),
nl=nl+O.1;
rlv=rl*nl;
compvl=[O cl*rl*rlv rlv] ;
compv2=[cl*c2*rl*rlv (rlv*cl+rlv*c2+cl*rl) 1] ;
gl=[gm*nl] ;
g2=[1/pl 1];
tampcharl=gl;
tampchar2=g2;
[eampl,eamp2]=series(tampcharl,tampchar2,compvl,compv2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
[jl,varypm,j2,varywc]=margin(totl,tot2);
varywc=varywc/2/pi;
214
totvary=0;
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(tot ,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
rlv=rl*nl;
compvl=[0 cl*rl*rlv rlv];
compv2=[cl*c2*rl*rlv (rlv*cl+rlv*c2+cl*rl) 1];
gl=[gm/nl];
g2=[1/pl 1];
tampcharl=gl;
tampchar2=g2;
[eampl,eamp2]=series(tampcharl,tampchar2,compvl,
compv2);
2,outl,out2);
[totl,tot2]=series(eampl,eamp
[jl,varypm,j2,varywc]=margin(toti,tot2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[j ,j2,j3,wca]=margin(tot 1,tot2);
[mag2,phase2,w2]=bode(tot 1, tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
rlv=rl/nl;
compvl=[0 cl*r1*rlv rlv];
compv2=[cl*c2*rl*rlv (rlv*cl+rlv*c2+cl*rl) 1];
gl=[gm*nl] ;
g2=[1/pl 1];
tampcharl=gl;
tampchar2=g2;
215
[eampl,eamp2]=series(tampcharl,tampchar2,compvl,compv2);
[totl,tot2]=series(eampl,eamp
2,outl,out
2);
[jl,varypm,j2,varywc]=margin(totl,tot2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w21=bode(tot, tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
rlv=rl/nl;
(rlv*cl+rlv*c2+cl*rl)
1];
gl=[gm/nl];
g2=[1/pl 1];
tampcharl=gl;
tampchar2=g2;
[eampl,eamp2]=series(tampcharl,tampchar2,compvl,compv2);
[totl,tot2]=series(eampl,eamp
2,outl,out
2);
[ji,varypm,j2,varywc]=margin(totl,tot2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(toti,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
if totvary<8,
brokeyet=1;
end
216
end
end
if cv==3,
rl=cresults(ctc, );
cl=cresults(ctc,3);
compl=[0 cl*rl*rl rl];
comp2=[0 cl*(rl+rl) 1];
brokeyet=0;
nl=1;
while (brokeyet==O & n1<2.1),
nl=nl+0.1;
rlv=rl*nl;
compvl=[0 cl*rl*rlv rlv];
compv2=[0 cl*(rl+rlv) 1];
gl=[gm*nl];
g2=[1/pl 1];
tampcharl=gl;
tampchar2=g2;
[eampl,eamp2]=series(tampcharl,tampchar2,compvl,compv2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
[jl,varypm,j2,varywc]=margin(toti,tot2);
varywc=varywc/2/pi;
totvary=0;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2, phase2, w2] =bode (tot 1,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
rlv=rl/nl;
compvl=[0 cl*rl*rlv rlv];
1];
compv2=[0 cl*(rl+rlv)
gl=[gm*nll;
g2=[I/pl 1];
217
tampcharl=gl;
tampchar2=g2;
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(toti,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
rlv=rl*nl;
gl=[gm/nl];
g2=[1/pl 1];
tampcharl=gl;
tampchar2=g2;
[eampl,eamp2]=series(tampcharl,tampchar2,compvl,compv2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
[jl,varypm,j2,varywc]=margin(totl,tot
2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(totl,tot2);
[mag2,phase2,w2]=bode(totl,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
rlv=rl/nl;
compvl=[0 cl*rl*rlv rlv];
218
1];
compv2=[0 cl*(rl+rlv)
gl=[gm/nl] ;
g2=[1/pl 1];
tampcharl=gl;
tampchar2=g2;
[eampl,eamp2]=series(tampcharl,tampchar2,compvl,compv2);
[totl,tot2]=series(eampl,eamp2,outl,out2);
[jl,varypm,j2,varywc]=margin(totl,tot2);
varywc=varywc/2/pi;
if (varypm>minpm I varypm>typpm & varywc>typbw*0.5),
totvary=totvary+1;
end
[jl,j2,j3,wca]=margin(toti,tot2);
[mag2,phase2,w2]=bode(toti,tot2);
w3=find(w2<wca);
phase2=phase2(1: length(w3));
rbstv=min(phase2);
if (rbstv+180)>minpml,
totvary=totvary+1;
end
if totvary<8,
brokeyet=1;
end
end
end
disp('
')
disp([blanks(5) '
1:
220
if zs(n)>zi(n),
filtergood=filtergood-1;
end
n=n+1;
end
if filtergood<1,
filtergood=0;
end
wi=1/sqrt(l*c);
ws=1/sqrt(li*ci);
filtergood2=1;
if ws>wi,
filtergood2=0;
end
hold off
disp(' ')
if (filtergood==1 & filtergood2==l),
disp([blanks(5) ' This input filter will work.'])
fdone=1;
end
if (filtergood==1 & filtergood2==0),
disp([blanks(5) ' This input filter will probably work
but the input filter'])
disp([blanks(5) ' capacitor or inductor value should
be increased.'])
fdone=1;
end
if filtergood==0,
disp([blanks(5) ' This input filter will not work because
the output impedance is too high.'])
end
end %end of uf=l loop
end %end of while loop
co=c;
rco=esr;
rload=rloadmin;
C=[(lb+lc) rs];
A=[l rdson+lesr];
221
B2=[co 0];
Bl=[lco*co rco*co 1];
D2=[cb*lcb (rcb*cb+rload*cb) 1] ;
D1=[lcb*cb*rload rcb*cb*rload rload];
sl=[lcb*cb rcb*cb 1];
s2=[(lb+lc)*cb+lcb*cb (rs*cb+rcb*cb) 1];
[numl,denl]=parallel(C,D1,[1] ,D2);
out3=conv(B1,numl);
templ=out3;
[num2,den2]=parallel(B2,B1,D2,numl);
temp2=conv(num2,A);
temp3=[0 out3];
out4=temp2+temp3;
[out5,out6]=series(out3,out4,sl,s2);
out5=out5*a;
rload=rloadmax;
C=[(lb+lc) rs];
A=[1 rdson+lesr];
B2=[co 0];
B1=[lco*co rco*co 1];
D2=[cb*lcb (rcb*cb+rload*cb) 1];
Dl=[lcb*cb*rload rcb*cb*rload rload];
sl=[lcb*cb rcb*cb 1];
s2=[(lb+lc)*cb+lcb*cb (rs*cb+rcb*cb) 1] ;
[numl,denl]=parallel(C,D1, [1] ,D2);
out3=conv(B1,numl);
templ=out3;
[num2,den2]=parallel(B2,B1,D2,numl);
temp2=conv(num2,A);
temp3=[0 out3];
out4=temp2+temp3;
[out7,out8]=series(out3,out4,sl,s2);
out7=a*out7;
rload=(maxv+minv)/(maxi+mini);
out3=[a*rload*esr*c a*rload];
out4=[l'c*(esr+rload) 1+esr*rload*c+(rdson+lesr)*(esr+rload)*c
rload+(rdson+lesr)];
[sminl,smin2]=series(eampl,eamp2,out5,out6);
dpm=abs (pml-pm2);
dwc=abs (wcl-wc2)/2/pi;
disp(' ')
disp([blanks(5) '
frequency'])
disp([blanks(5) '
223
'1);
Appendix B
Motorola MMSF5NO3HD Power
FET Model
.subckt PowerFET 10 20 30
* 10 = Drain 20 = Gate 30 = Source
-----------------------*
PACKAGE INDUCTANCE
LDRAIN 10
20
LGATE
LSOURCE 30
*
11
21
31
7.5e-09
4.5e-09
4.5e-09
RESISTANCES
11
5
6
30
RDRAIN1
RDRAIN2
RSOURCE
RDBODY
RGATE
21
2 5
*------------------------------------------------------------------
224
-------------
8
3
2
2
2
DBODY
DGD
CGDMAX
RGDMAX
CGS
11
11
3
3
6
DBODY
DGD
2.3e-09
le+08
1.182e-09
-----------------------------------------------------------------
-----------------------
M1
MAIN
-----------------------------------------------------------------
&
&
CBS=O &
IS=le-14 &
PB=0.8 &
CGSO=O &
CGDO=O &
225
CGBO=O &
RSH=O &
CJ=O &
MJ=0.5 &
CJSW=O &
MJSW=0.33 &
JS=le-14 &
TOX=le-07 &
NSUB=le+15 &
NSS=O &
NFS=2e+11 &
TPG=1 &
XJ=O &
LD=O &
UO=600 &
UCRIT=O &
UEXP=0 &
UTRA=O &
VMAX=O &
NEFF=1 &
KF=O &
AF=1 &
FC=0.5 &
DELTA=O &
THETA=O &
ETA=O &
KAPPA=0.2
-----------------------------------------------------------------
RS=O &
N=1000 &
TT=O &
CJO=8.633e-10 &
VJ=O.1 &
M=0.487 &
EG=1.11 &
XTI=3 &
KF=O &
AF=1 &
FC=0.5 &
BV=10000 &
IBV=0.001
226
----------------------------------------------------.MODEL DBODY D
IS=1.668e-12 &
RS=O &
N=1.018 &
TT=5e-09 &
CJO=1.2e-09 &
VJ=0.5302 &
M=0.3689 &
EG=1.11 &
XTI=4 &
KF=O &
AF=1 &
FC=0.5 &
BV=45.91 &
IBV=0.00025
.ENDS
&
227
Bibliography
[1] Jade Alberkrack. Theory and applications of the MC34063 and pA78S40 switching regulator control circuits. Application Note AN920, Motorola Semiconductor
Product Sector, Tempe, AZ, 1989.
[2] Vrej Barkhordarian. Power MOSFET basics. Power Conversion and Intelligent
Motion, pages 28-39, June 1996.
[3] Richard M. Bass, Bonnie S. Heck, and Raheel A. Khan. Average modelling of
current-mode controlled converters: Instability prediction. InternationalJournal
of Electronics, 77(5):613-628, 1994.
[4] Ashok Bindra. Pentium power ICs roll. Electronic Engineering Times, page 82,
April 8, 1996.
[5] Charles-Edouard Cordonnier. Spice model for TMOS power MOSFETs. Application Note AN1043, Motorola Semiconductor Product Sector, 1989.
[6] Lloyd H. Dixon. Average current mode control of switching power supplies.
Application Note U-140, Unitrode Integrated Circuits, Merrimack, NH, 19951996.
[7] Lloyd H. Dixon.
228
229
[20] Step-down controllers with synchronous rectifier for CPU power. Data Sheet
MAX796/MAX797/MAX799,
November 1994.
[21] John Maxwell. Capacitor applications in switching power supplies. In
15 th
Ca-
230
Improved curvature-corrected
switched DC-DC converters. Third IEEE Power Processing and Electronics Specialists Conference, AES-9(3):376-385, May 1973.
231