He(s) derivation for peak current mode control
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].
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:
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
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.
Fig. 5 shows a zoom-in portion of Fig. 4, which can be used for calculating the perturbation.
For iL[k], it is a negative number since the perturbation is negative. From Fig. 5, we have:
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:
By combining Eq. 1~2, we have:
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:
Therefore, Eq. 3 can be rewritten as:
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.
From Fig. 6, we have:
We also know that:
By combining Eq. 6~7, we have:
Therefore,
By combing Eq. 4 and Eq. 9, we have:
Or,
By combing Eq. 5 and Eq. 11, through superposition, we have:
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:
Eq. 13 can be factored as:
Therefore, we have:
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:
Therefore, Eq. 15 can be mapped into the s domain as:
Eq. 16 can be re-written as:
Step 4 - H(s) derivation based on Fig. 3
The modulator gain Fm can be written as:
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.
From Fig. 7, we have:
The up slope of sensed inductor current in voltage domain can be calculated as:
The down slope of sensed inductor current in voltage domain can be calculated as:
From Eq. 21~22, we have:
By combing Eq. 20 and Eq. 23, we have:
Therefore,
From Fig. 7, we have:
By comparing Eq. 25~26, we have:
Therefore, we have:
From Eq. 28, we have:
By comparing Eq. 18 and Eq. 29, we have:
We can remove Rsns from both left and right side as:
Eq. 32 can be further simplified as:
By combing Eq. 19 and Eq. 32, we have:
We know that:
Therefore,
Eq. 35 can be re-written as:
Or,
Eq. 37 can be re-written as:
Finally,
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:
Where,
And,
The following Matlab script can be used for verification of the simplified equation vs the original transfer function.
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.
We can see that up to half of the switching frequency, the simplifed equation does track the actual transfer function very well.