This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS61178: Is slope compensation slew rate (Se) equation correct?

Part Number: TPS61178
Other Parts Discussed in Thread: TPS61175,

Tool/software:

I am following application report SLVA452 ( Compensating the Current-Mode-Controlled Boost Converter)  to understand how to determine the compensation network values. The example provided is for TPS61175 but most concepts are similar.

I created an Octave script to perform the analysis. The results I obtained are identical or very close of those of the example. This is the gain of the frequency response, which closely matches the gain on Figure 3 of the app. report:

I copied the script and made adjusts to calculate the compensation network for TPS61178. Below an excerpt of the script with the input parameters:

Vin = 10;               % Worst case (Vin min)
Vout = 19;              % Output voltage
Iout = 1.6;             % Output current
Eff = 0.97;             % Estimated efficiency
fSW = 636000;           % Switching frequency
L = 5.6e-6;             % Inductor
Cout = 5e-5;            % Total output capacitance
Resr = 3e-3;            % Output capacitance ESR
Rdson_ls = 0.022;       % From data sheet, Fig 11, worst case
Rsense = 0.083;         % From data sheet, typical value

D = 1-Vin/Vout;         % Duty cycle
Rout = Vout/Iout;       % Output equivalent resistance

Sn = Rsense*Vin/L;
Se = 0.06*Rdson_ls*fSW/(1-D);

Notice Se uses the Eq. 21 of the data sheet:

Here the graph of the gain:

I found that peak at 300kHz suspicious. I then noticed Sn > Se:

Notice values of output capacitance and inductance ( 5.6uH and 50uF) are typical for Vin, Vout, Iout, swiching frequency and ripple current of 30% (ish).

I made Se = 5*Sn just to see what happens and this is what I get:

For comparison, this is the bode plot of He(s) for TPS61175...

..., the bode plot of He(s) for TPS61178 with Sn > Se...

..., and the bode plot of He(se) for TPS61178 with Se = 5*Sn:

This is the complete Octave script for TPS61178 (it may work with Matlab but I am not sure):

% Calculate gain of power stage o TPS61178

clear all

Vin = 10;               % Worst case (Vin min)
Vout = 19;              % Output voltage
Iout = 1.6;             % Output current
Eff = 0.97;             % Estimated efficiency
fSW = 636000;           % Switching frequency
L = 5.6e-6;             % Inductor
Cout = 5e-5;            % Total output capacitance
Resr = 3e-3;            % Output capacitance ESR
Rdson_ls = 0.022;       % From data sheet, Fig 11, worst case
Rsense = 0.083;         % From data sheet, typical value

D = 1-Vin/Vout;         % Duty cycle
Rout = Vout/Iout;       % Output equivalent resistance

Sn = Rsense*Vin/L;
Se = 0.06*Rdson_ls*fSW/(1-D);
%Se = Sn*5;


fP = 2/(2*pi*Rout*Cout);
fESR = 1/(2*pi*Resr*Cout);
fRHP = Rout*(1-D)^2/(2*pi*L);

s = tf('s');

He = 1/(1+ s*((1+Se/Sn)*(1-D)-0.5)/fSW + s^2/(pi*fSW)^2);
G0 = Rout*(1-D)/(2*Rsense);
Zesr = 1+s/(2*pi*fESR);
Zrhp = 1-s/(2*pi*fRHP);
Pout = 1+s/(2*pi*fP);
%Gps = G0 * He * Zesr * Zrhp / Pout;
Gps = G0 * He * Zrhp / Pout;

FMIN = 10;
FMAX = 1000000;
WRANGE = {FMIN*2*pi, FMAX*2*pi};
[mag, w] = bodemag(Gps, WRANGE);
f = w/(2*pi);
magdb = 20*log10(mag);
semilogx(f,magdb)
grid on
title('Gain of the frequency response with TPS61178')
xlabel('Frequency (Hz)')
ylabel('Power stage gain (dB)')

The script requires the control package (pkg load control) to work.

  • Hi Elder,

    The calculation is correct.

    1. For the application report SLVA452, I guess the sampling effect He(s) is not calculated it is maybe a mistake. 

    2. When slope compensation used, it influences the converter power loop model.

    Here are two situations:

    If Sn>Se, the Gps is no longer the pole-zero-pole form anymore. (Equation 1 in SLVA452)

    the power loop becomes zero-LC double pole -RHP, please refer to Practical Feedback Loop Analysis for Voltage-Mode Boost Converter

    The sampling effect He(s) still exists and is as you calculated.

    2. When Sn<Se, the Gps can be used as Equation 1.

    And the He(s) looks like a LC double pole.

    Please tell me if you have any questions.

    Best Regards,

    Fergus

  • Hello, Fergus.

    Thank you for your comments.

    However, looking at the equations for Se and Sn I can't help thinking there is an error in TPS61178 data sheet for Se. Please bear with me.

    The calculated values for the input parameters of my design are:

    >> Se,Sn,Se/Sn
    Se = 1595.1
    Sn = 1.4821e+05
    ans = 0.010762

    Sn is two orders of magnitude greater than Se.

    To make Sn<Se we would need to:

    • Reduce L two orders of magnitude
    • Increase fSW two orders of magnitude
    • Increase 1/(1-D) two orders of magnitude, i.e., make Vin >> Vout

    In other words, based on the above, it seems to me TPS61178 would never work in peak current mode control in typical applications.

    The only scenario where Se would make sense is if the unit of Rdson_ls in Se equation is miliOhms instead of Ohms. Any chance is that the case? If affirmative, it breaks consistency with other equations and it should be stated in the data sheet or make the constant 60 instead of 0.06.

    I would like to follow the advice of following the data sheet guidelines to have a more robust design, but it seems I will have to rely on Webench and tests instead.

  • Hi Elder,

    I agree with your calculation.

    The datasheet might be wrong.

    I have discussed with design team, and we all think the 0.06 could be a wrong number.

    I will bring more information when design team get more accurate calculation model.

    Best Regards,

    Fergus

  • Hi Elder,

    Here are some views from us.

    1. the Rsense and Rdson_LS should be the same.

    2. the Se should be (Vo-2Vin)/L*Rdson_LS, that is, when duty is smaller than 0.5, there is no slope compensation.

    The device estimates the max peak to peak current and predetermine an inductance.

    To set the slope compensation with the max value of the Sn, and to make the Se is large than twice of Sn

    For the new calculation, Sn=Vin/L*Rdson; Se= (Vo-2Vin)/L*Rdson_LS;(when duty<0.5, Se=0)

    The compensation result seems much reasonable.

    Best Regards,

    Fergus