He(s) derivation for peak current mode control

Ming Sun

Ming Sun / December 19, 2022

20 min read––– views

Most of the modeling method does not include the high frequency subharmonic complexed pole in their model, which is quite important for current mode controlled switching regulator. It is the subharmonic poles which requires the ramp compensation to damp the quality factor Q. To include the subharmonic poles in our current model model, we will follow the method mentioned by Dr. Ray Ridley in his PhD thesis, which can be found in details in Ref. 1.

Buck converter small signal model

The small signal Buck converter model is as shown in Fig. 1[2].

Buck converter small signal model
Fig. 1Buck converter small signal model[2]

Since we are trying to derive the Gvd, we can assume the small signal perturbation on Vg to be zero. Therefore, Fig. 1 can be simplified as:

Simplified Buck converter small signal model for Gvd derivation
Fig. 2Simplified Buck converter small signal model for Gvd derivation[1]

From Fig. 3.4 in Ref. [2], we can draw the current mode controlled Buck converter small signal model as shown in Fig. 3, where:

  • Rsns is the current sense gain
  • He is the transfer function for describing the subharmonic pole effect
  • Fm is the modulator gain
Current mode controlled Buck converter small signal model
Fig. 3Current mode controlled Buck converter small signal model[2]

Step 1 - depict the transient waveform in time domain

The transient waveform is shown in Fig. 4, where we assume a small perturbation iL[k] happened on the inductor current. By using the waveform in the time domain, we can calculate the perturbation of the inductor current in the next cycle.

Time domain waveforms for peak current mode controlled Buck converter
Fig. 4Time domain waveforms for peak current mode controlled Buck converter

Fig. 5 shows a zoom-in portion of Fig. 4, which can be used for calculating the perturbation.

Time domain waveforms for peak current mode controlled Buck converter - zoom in
Fig. 5Time domain waveforms for peak current mode controlled Buck converter - zoom in

For iL[k], it is a negative number since the perturbation is negative. From Fig. 5, we have:

`i_L[k] = -(S_r+S_e)*t`
(1)

For iL[k+1], it is a positive number since the inductor current is increasing at [k+1] time period. From Fig. 5, we have:

`i_L[k+1] = (S_f-S_e)*t`
(2)

By combining Eq. 1~2, we have:

`i_L[k+1] = -(S_f-S_e)/(S_r+S_e)*i_L[k]`
(3)

From Eq. 3, we know that:

  • If we do not have the compensation ramp (meaning Se is equal to 0), iL[k+1] will start to increase when Sf is greater than Se, which means duty cycle is greater than 50%. To summarize, when there is no compensation ramp, subharmonic oscillation will start to appear when the duty cycle is greater than 50%.
  • If the compensation ramp slope Se tracks inductor current down slope (Se = Sf)

Next, we can set:

`alpha = (S_f-S_e)/(S_r+S_e)`
(4)

Therefore, Eq. 3 can be rewritten as:

`i_L[k+1] = -alpha*i_L[k]`
(5)

Step 2 - VEA perturbation

In Step 1, we have calculated the perturbation of the inductor current and how it propagates in the next cycle. Now let us calculate the perturbation of EA (error amplifier). The perturbation of Vc or VEA is as shown in Fig. 6.

VEA perturbation to the inductor current
Fig. 6VEA perturbation to the inductor current

From Fig. 6, we have:

`v_c = S_e*t + Sr*t = (S_e+S_r)*t`
(6)

We also know that:

`i_L[k]*R_(sns) = S_r*t +S_f*t = (S_r+S_f)*t`
(7)

By combining Eq. 6~7, we have:

`v_c/(S_e+S_r) = (i_L[k]*R_(sns))/(S_r+S_f)`
(8)

Therefore,

`i_L[k] = (v_c[k])/R_(sns)*(S_r+S_f)/(S_r+S_e)`
(9)

By combing Eq. 4 and Eq. 9, we have:

`i_L[k] = (v_c[k])/R_(sns)*(1+alpha)`
(10)

Or,

`i_L[k+1] = (v_c[k+1])/R_(sns)*(1+alpha)`
(11)

By combing Eq. 5 and Eq. 11, through superposition, we have:

`i_L[k+1] = -alpha*i_L[k] + (v_c[k+1])/R_(sns)*(1+alpha)`
(12)

Step 3 - z-domain transfer function

Eq. 12 gives a time domain discrete transfer function which can be easily traferred into the z-domain. We have:

`z*i_L(z) = -alpha*i_L(z) + (z*v_c(z))/R_(sns)*(1+alpha)`
(13)

Eq. 13 can be factored as:

`(z+alpha)*i_L(z) = (z*v_c(z))/R_(sns)*(1+alpha)`
(14)

Therefore, we have:

`H(z) = (i_L(z))/(v_c(z)) = (1+alpha)/R_(sns)*z/(z+alpha)`
(15)

s-domain transfer function

Next, let us change the z domain transfer function Eq. 15 to the s domain transfer function using the following method:

`F(s) = H(e^(sT_s))* (1-e^(-sT_s))/(sT_s)`
(16)

Therefore, Eq. 15 can be mapped into the s domain as:

`H(s) = (1+alpha)/R_(sns)*(e^(sT_s))/(e^(sT_s)+alpha)* (1-e^(-sT_s))/(sT_s)`
(17)

Eq. 16 can be re-written as:

`H(s) = (1+alpha)/R_(sns)* 1/(sT_s) * (e^(sT_s)-1)/(e^(sT_s)+alpha)`
(18)

Step 4 - H(s) derivation based on Fig. 3

The modulator gain Fm can be written as:

`F_m = 1/((S_r+S_e)*T_s)`
(19)

Here we are trying to calculate the subharmic pole. Therefore, we can assume the input and output is constant. Therefore, Buck converter output is AC ground. As a result, Fig. 3 can be further simplified as shown in Fig. 7.

Current mode controlled Buck converter small signal model - VOUT AC grounded
Fig. 7Current mode controlled Buck converter small signal model - VOUT AC grounded

From Fig. 7, we have:

`i_L(s) = (V_g*d)/(sL)`
(20)

The up slope of sensed inductor current in voltage domain can be calculated as:

`S_r = (V_g-V)/L*R_(sns)`
(21)

The down slope of sensed inductor current in voltage domain can be calculated as:

`S_f = V/L*R_(sns)`
(22)

From Eq. 21~22, we have:

`S_r + S_f = V_g/L*R_(sns)`
(23)

By combing Eq. 20 and Eq. 23, we have:

`i_L(s) = (d)/(s)* (S_r + S_f)/R_(sns)`
(24)

Therefore,

`d = (s*i_L(s)*R_(sns))/(S_r + S_f)`
(25)

From Fig. 7, we have:

`(v_c-i_L*R_(sns)*H_e)*F_m = d`
(26)

By comparing Eq. 25~26, we have:

`(v_c-i_L*R_(sns)*H_e)*F_m = (s*i_L*R_(sns))/(S_r + S_f)`
(27)

Therefore, we have:

`F_m*v_c = i_L*R_(sns)*(F_m*H_e + s/(S_r+S_f))`
(28)

From Eq. 28, we have:

`H(s) = i_L/v_c = 1/R_(sns)*F_m/(F_m*H_e + s/(S_r+S_f))`
(29)

By comparing Eq. 18 and Eq. 29, we have:

`(1+alpha)/R_(sns)* 1/(sT_s) * (e^(sT_s)-1)/(e^(sT_s)+alpha) = 1/R_(sns)*F_m/(F_m*H_e + s/(S_r+S_f))`
(30)

We can remove Rsns from both left and right side as:

`(1+alpha)* 1/(sT_s) * (e^(sT_s)-1)/(e^(sT_s)+alpha) = F_m/(F_m*H_e + s/(S_r+S_f))`
(31)

Eq. 32 can be further simplified as:

`(1+alpha)* 1/(sT_s) * (e^(sT_s)-1)/(e^(sT_s)+alpha) = 1/(H_e + s/(F_m*(S_r+S_f)))`
(32)

By combing Eq. 19 and Eq. 32, we have:

`(1+alpha)* 1/(sT_s) * (e^(sT_s)-1)/(e^(sT_s)+alpha) = 1/(H_e + (sT_s)/((S_r+S_f)/(S_r+S_e)))`
(33)

We know that:

`1+alpha = (S_r+S_f)/(S_r+S_e)`
(34)

Therefore,

`(1+alpha)/(sT_s) * (e^(sT_s)-1)/(e^(sT_s)+alpha) = 1/(H_e + (sT_s)/(1 + alpha))`
(35)

Eq. 35 can be re-written as:

`(e^(sT_s)-1)/(e^(sT_s)+alpha) = 1/((1+alpha)/(sT_s)*H_e + 1)`
(36)

Or,

`(1+alpha)/(sT_s)*H_e + 1 = (e^(sT_s)+alpha)/(e^(sT_s)-1)`
(37)

Eq. 37 can be re-written as:

`(1+alpha)/(sT_s)*H_e = (1+alpha)/(e^(sT_s)-1)`
(38)

Finally,

`H_e = (sT_s)/(e^(sT_s)-1)`
(39)

Step 5 - simplification of He(s)

We can use the complexed pole transfer function to approximate Eq. 39 to get a more simplified equation as:

`H_e(s) = 1 + s/(omega_nQ) + (s/omega_n)^2`
(40)

Where,

`omega_n = pi/T_s`
(41)

And,

`Q = -2/pi`
(42)

The following Matlab script can be used for verification of the simplified equation vs the original transfer function.

comparision.m
clc; clear; close all;

Ts = 1e-6;
wn = pi/Ts;
Q = -2/pi;
s = tf('s');

H1 = exp(-s*Ts)*s*Ts/(1-exp(-s*Ts));
H2 = 1+s/wn/Q + (s/wn)^2;

opts = bodeoptions('cstprefs');
opts.PhaseWrapping='on';
h = bodeplot(H1, opts);  
hold on;
h = bodeplot(H2, opts);
setoptions(h, 'FreqUnits', 'Hz');   % change frequency scale from rad/sec to Hz
set(findall(gcf,'type','line'),'linewidth',2)
grid on;
hold on;
xlim([10, 10e6]);
legend("exponential", "simplified");

The bode plot comparison is as shown in Fig. 8 to prove that Eq. 40 can be used to approximate Eq. 39.

Comparison between the acutual equation and the approximation
Fig. 8Comparison between the acutual equation and the approximation

We can see that up to half of the switching frequency, the simplifed equation does track the actual transfer function very well.

References and downloads

[1] A New Small-Signal Model for Current-Mode Control

[2] Chapter 7. AC Equivalent Circuit Modeling - slide 41


HomeWikis
SnippetsAbout
Google ScholarLinkedIn