1
DSP based Digital Control Design for DC-DC Switch Mode
Power Converter
Shamim ChoudhuryTexas Instruments Inc.
2
DC/DC Buck Converter
� Vin = 4V ~ 6V, � Vo = 1.6V, Io = 16A� L = 1uH, C = 1620uF, ESR = 0.004 ohm� PWM Freq = 250kHz, � Digital Control Loop Sampling Freq, fs = 250kHz,� Voltage Control Loop Bandwidth = 20kHz, � Phase Margin = 45 deg� Settling Time < 75uSec
C RLVin
VoIin
L
Io
Digital Control of DC/DC Converter
3
Digital Control of DC/DC Converter
Sample to PWM Update Delay Td = 0.5Ts(Computation Delay)
Sampling Scheme 1
Codeexecution
Sampling period (Ts)N N+1
Contextsave
Contextrestore
ExecuteController
Back-groundspare
Int Int
ISR
PWM/
t
PWM period n n+1
UpdatePWM
ADC conv time
ADC
Sampling Scheme 2Sample to PWM Update Delay Td = 2.0Ts
(Computation Delay)
PWM/ADC
Codeexecution
Sampling period (Ts)
ADC conv time
NN+1
tContextsave
Contextrestore
ExecuteController
Back-groundspare
Int IntISR
PWM period n n+1
UpdatePWM
UpdatePWM
UpdatePWM
4
CRL
∧
∧
=
d
Vo(s)PGd
Vo(n)U(n) Gc(z)
PWM A/D
Vref TMS320F2810
+E(n)
Vin
VoIin
L Vos
Kd
Digital Control of DC/DC ConverterControl Design by Emulation
31)(,17
)()(
maxmax
maxmax
QinnVforV
KKVFFFFFFh
KVnVKVnV
oo
ddo
doodoo
=⇒=⇒
=⇒=
=> Kd=0.5
Vo(n)
0
2V
00000000
7FFFFFFF
Vo
Output Voltage Sensing Gain
5
Digital Control of DC/DC Converter
1.62x10-5 s + 2.5Gp1(s) = ---------------------------------------
1.685x10-9 s2 + 1.648x10-5 s + 1
Vin=5.0, RL=0.1, Kd=0.5,L=1uH, C=1620uF, Rc=0.004 ohm,
d
U(n)
Vo
Kd
Gc(z)
Vref
+
Vo(n)
E(n)
Gp(s)
Gc(s) = ?, Gc(z) = ?
Ignore Sample & Hold (S&H) Effect,PWM Modulator Gain Fm = 1,Continuous Plant Gp1(s) = Kd.Fm.Gp(s),
Fm
Control Design by Emulation
6
Continuous System Bode Plot
14.3 s^2 + 651400 s + 7.2e009Gc1(s) = ------------------------------------------
s^2 + 125600 s
Digital Control of DC/DC Converter
Use Matlab SISOTOOL for the plant Gp1(s) and design the continuous controller Gc1(s)
(Matlab)s-plane root locus
(Matlab)
Settling Time(1%)< 45uS
BW = 25kHz, PM = 71 deg
7
12.34 z^2 - 22.53 z + 10.28Gc1(z) = -------------------------------------------
z^2 - 1.605 z + 0.6051
[pole-zero matched, Ts = 4uSec]
Digital Control of DC/DC ConverterCompute Equivalent Discrete Controller Gc(z)
1. Discrete Equivalents via Numerical Integration1a. Forward rule, s= (z-1)/Ts2a. Backward rule, s = (z-1)/zTs3a. Trapezoidal/Tustin/Bilinear, s = 2(z-1)/Ts(z+1)
2. Pole-Zero Matching Equivalents, z = esTs
3. Hold Equivalents : zero-order-hold (ZOH), first-order-hold (FOH)
In Matlab, Gc_z = c2d(Gc_s, Ts, 'matched')
12.49 z^2 - 22.81 z + 10.41Gc1(z) = ------------------------------------
z^2 - 1.598 z + 0.5985[Tustin, Ts = 4uSec]
In Matlab, Gc_z = c2d(Gc_s, Ts, ‘tustin')
8
Digital Control of DC/DC ConverterDiscrete System Bode Plot, Pole-Zero Matched Controller,
Discrete System Bode Plot, Tustin Controller,
Control Design by Emulation
(Matlab)
(Matlab)
Gp1(z)*Gc1(z)
BW = 25.2kHz, PM = 53.1 deg, GM = 11.3dB
BW = 25.4kHz, PM = 53.6 deg, GM = 11.2dB
Gp1(z)*Gc1(z)
Transient Response (Fpwm = 250KHz), Pole-Zero Matched Controller
Gp1(z)*Gc1(z)
9
Direct Digital ControlDigital Control of DC/DC Converter
d
Vin
U(n)
Vo
Kd
Iin
Gc(z)
D/A(ZOH)
Vref TMS320F2810
L CRL
+
Vo(n)
E(n)∧
∧
=
d
Vo(s)PGHc
Comp Delay ModelHc = e-sTd ,Td = Comp Time Delay
Ts
10
Direct Digital Control of DC/DC Converter
fs = 250kHz,
f = 125kHz, additional
phase lag of 90°
f = 7.25kHz,additional
phase lag of 5.2°
PM = 33.18 deg
PM = 28 deg
Effect of Sampling & Hold
ZOH = -ωTs/2 = -180f/fs
Ts
Time Delay Ts/2
11
Direct Digital Control
1.62x10-5 s + 2.5Kd.Gp(s) = -------------------------------------
1.685x10-9 s2 + 1.648x10-5 s + 1
Vin=5.0, RL=0.1, Kd=0.5L=1uH, C=1620uF, Rc=0.004 ohm
ZOH(s) = (1 – e-sTs )/s
Discrete Plant Model,Gp(z) = Z{ZOH(s).Kd.Gp(s).Hc}
d
U(n)
Vo
Kd
Gc(z)
ZOH
Vref
+
Vo(n)E(n)
Gp(s)
Ts
Gp(z)
Hc
Digital Control of DC/DC Converter
Hc = e-sTd
Gp1(z) = (0.0494z - 0.0261)/(z2 - 1.952 z + 0.962), [Td=0, Hc = 1]
12
Direct Digital Control of DC/DC Converter
Discrete System Bode Plot,2 Pole 2 Zero Type Controller,
Use Matlab SISOTOOL for Gp1(z), and design Gc2(z)
Gp1(z)*Gc2(z)
14.87 z^2 - 26.91 z + 12.16Gc2(z) = -------------------------------------
z^2 - 1.473 z + 0.4731
BW = 27.9kHz, PM = 61.6 deg, GM = 9dB
(Td=0)
Settling Time(1%) < 56 uSec
Gp1(z)*Gc2(z)
13
Direct Digital Control of DC/DC ConverterEffect of Computation Delay
Plant with computation delay [Td = 0.5Ts],Gp2(z) = (0.022z^2+0.017z - 0.158)/z(z^2 - 1.952 z + 0.962), Controller with no delay compensation,Gc2(z)=(14.87 z^2 - 26.91 z + 12.16)/(z^2 - 1.473 z + 0.4731 )
BW = 26.9kHz, PM = 41 deg, GM = 7.46dB
Hc = -ωTd= -360fTd
Loss of PM from(Gp1*Gc2) to (Gp2*Gc2)
= 61.6-41= 20.6 deg
Hc = 360(26900)(2uS)= 19.37 deg
Bode Plot (Matlab)
Gp2(z)*Gc2(z)
Phase Lag,
14
Direct Digital Control of DC/DC ConverterBode Plot (Measured)
BW = 22.45kHz, PM = 40 deg, GM = 10.7dB
Gp2(z)*Gc2(z)
15
Transient Response (Fpwm = 250KHz)Direct Digital Control of DC/DC Converter
Gp2(z)*Gc2(z)
16
Plant with increased computation delay [Td = 2.0Ts],Gp3(z) = (0.022z^2+0.017z - 0.159)/z^2(z^2 - 1.954 z + 0.963),
Direct Digital Control of DC/DC ConverterEffect of Computation Delay
Controller with no delay compensation,Gc2(z)=(14.87 z^2 - 26.91 z + 12.16)/(z^2 - 1.473 z + 0.4731 )
Hc = -ωTd = -360fTd
Loss of PM from (Gp1*Gc2) to Gp3*Gc2
= 61.6 – (-19) = 80.6 deg
Hc = 360(27900)2(4uS)= 80.35 deg
Bode Plot (Matlab)
Gp3(z)*Gc2(z)2 Pole 2 Zero Type Controller
BW = 27.9kHz, PM = -19.0 deg, GM = -2.22dB,Unstable Loop.
Phase Lag,
17
Direct Digital Control of DC/DC Converter
Unstable System, Uncompensated for Computation Delay Transient Response (Fpwm = 250KHz)
Gp3(z)*Gc2(z)
18
Direct Digital Control of DC/DC ConverterRedesigned Controller with Delay Compensation
14.4 z^3 – 31.1 z^2 + 20.1 z – 3.376Gc3(z)=U/E= -------------------------------------------------
z^3 - 1.235 z^2 + 0.2362 z - 0.00115
Bode plot (Matlab)
BW = 16.1kHz, PM = 46.4 deg, GM = 3.77dB
Gp3(z)*Gc3(z)
3 Pole 3 Zero Type Controller
19
Direct Digital Control of DC/DC ConverterRedesigned Controller with Delay Compensation
Bode plot (Measured)
Gp3(z)*Gc3(z)
BW = 15.28kHz, PM = 41.76 deg, GM = 3.4dB
20
Direct Digital Control of DC/DC Converter
System Compensated for Computation Delay Transient Response (Fpwm = 250KHz)
Gp3(z)*Gc3(z)
21
Voltage Mode Control: Computation Flow, Benchmark Results
9.962625941300500
21.52655941600250
Number of LoopsCycles/loopAvailableCyclesOverheadCycles
Sampling Freq(KHz)
TMS320C28x=150MHz (32-bit implementation)
Digital Control of DC/DC Converter
( ) ( ) ( ) ( ) ( )nEbnEbnEbnUanUanU ×+−×+−×+−×+−×= 011221122)(
14.87 z2 – 26.91 z + 12.16 14.87 – 26.91 z -1 + 12.16 z -2
Gc(z) = U/E = ------------------------------------ = -------------------------------------------z2 - 1.473 z + 0.4731 1 – 1.473 z -1 + 0.4731 z -2
PWMPRDnUsatDprdnUnUsat
×=≤≤=
)(max)(min)(
Gc(z)Vref
VoDprd
22
Hc = -ωTd = -360fTd = -360f(kTs) = -360k /(fs/f), [ k = Td /Ts]
Digital Control of DC/DC ConverterSampling Frequency (fs) Selection
0
20
40
60
80
100
120
0 0.25 0.5 0.75 1 1.25 1.5 1.75 2K
Phas
e La
g (H
c)
fs/fc=5
fs/fc=10
fs/fc=12.5
fs/fc=20
fc = crossover frequency
Computation Delay per unit Ts, (Td /Ts)
23
Digital Control of DC/DC ConverterSampling Frequency (fs) Selection
fs = 12.5*fc
fs = 20*fc
fs = 30*fc
24
PWM Resolution & Limit CycleDSP Clock Freq = 150MHz, fpwm = 250kHz, PWM Duty Ratio Resolution
= 1/(150M/250k) = 1/600 = 0.167%
ADC resolution = 10bits, Vo = 2V (max),Vo Sensing Resolution ∆Vad = 2V/1024 = 1.95mV
Sense circuit
∆Vpwm Vo
PWM
Vin
A/D
∆VadFor Vin = 5V, Applied Volt Resolution ∆Vpwm1 = 5V/600 = 8.33mV,For Vin = 2V, Applied Volt Resolution ∆Vpwm2 = 2V/600 = 3.33mV,
Digital Control of DC/DC Converter
∆Vpwm1 > ∆Vad,=> Limit Cycle
∆Vpwm2 ≈ ∆Vad,=> Negligible Limit Cyc.
Vin = 2VVo = 0.8V
Vin = 5VVo = 1.6V