Chip123創新論壇's Archiver

chenjianred 發表於 2007-11-28 08:05 PM

請問一下 PWM Current mode 如何AC分析??

在PWM Current mode  如何AC分析??
在 simulation PWM Current mode 時電感是否要考慮?

chenjianred 發表於 2007-11-29 07:04 PM

圖為我在模擬PWM Voltage mode 的AC分析時的電路接法..
請問如果要模擬Current mode 的AC分析時電路接法要如何實現?

monkeybad 發表於 2007-11-30 11:14 AM

請問一下你說的ac分析是指只有error AMP的ac分析
還是整個迴路的ac分析?
一般我們在設計 都是先做power stage迴路的ac分析(不包括error AMP)
就是error AMP output到Vfb的轉移函數 這就包括了電感 穩壓電容 二極體 MOS開關 output等效電阻等等
然後再根據這個迴路的波徳圖去設計error AMP補償電路 決定pole zero unit-gain-Bandwidth
最後再做全部的迴路分析看看是否會穩定
不過要做全部迴路的分析 可能要用到MATLAB 因為畢竟PWM是離散系統 開關會切來切去的
要參考一些paper先推導出一些開關的平均model 才能求出迴路的小訊號模型

chenjianred 發表於 2007-11-30 02:34 PM

圖是整個迴路的ac分析,電路圖紅色部分為power stage
請幫我看一下對不對?
在matlab分析全部的迴路,小弟在這一部份沒有經驗,請問一下要從哪裡開始?(能不能有範例可以參考)

shaq 發表於 2007-11-30 04:10 PM

[quote]原帖由 [i]monkeybad[/i] 於 2007-11-30 11:14 AM 發表 [url=http://www.chip123.com/phpBB/redirect.php?goto=findpost&pid=32635&ptid=10963][img]http://www.chip123.com/phpBB/images/common/back.gif[/img][/url]
請問一下你說的ac分析是指只有error AMP的ac分析
還是整個迴路的ac分析?
一般我們在設計 都是先做power stage迴路的ac分析(不包括error AMP)
就是error AMP output到Vfb的轉移函數 這就包括了電感 穩壓電容 二極體 ... [/quote]

Dear monkeybad,
您說的「據這個迴路的波�圖去設計error AMP補償電路 決定pole zero unit-gain-Bandwidth」這部份可不可以說明一下詳細的情況?
另外再請問您一下,Current mode control 的 Error amp 跟 Voltage mode control 的 Error amp 設計方式有一樣嗎?

shaq 發表於 2007-11-30 06:00 PM

[quote]原帖由 [i]monkeybad[/i] 於 2007-11-30 11:14 AM 發表 [url=http://www.chip123.com/phpBB/redirect.php?goto=findpost&pid=32635&ptid=10963][img]http://www.chip123.com/phpBB/images/common/back.gif[/img][/url]
請問一下你說的ac分析是指只有error AMP的ac分析
還是整個迴路的ac分析?
一般我們在設計 都是先做power stage迴路的ac分析(不包括error AMP)
就是error AMP output到Vfb的轉移函數 這就包括了電感 穩壓電容 二極體 ... [/quote]

不好意思,剛又想到一個問題...
您在文中所提的 power stage迴路的ac分析, 是不是指從 Vin 灌 AC 訊號,看 Vout 端在 fco 頻率下的 gain 與 Phase shift?
(fco 為 close-loop cross-over frequency,一般小於 10倍的 Switching frequency)

monkeybad 發表於 2007-12-4 12:25 AM

說實話這是一個很好的問題 怎樣去做PWM current mode AC分析
可以參考一下之前的討論
[url=http://www.chip123.com/phpBB/viewthread.php?tid=9639&extra=page%3D2][url=http://www.chip123.com/phpBB/viewthread.php?tid=9639&extra=page%3D2]http://www.chip123.com/phpBB/viewthread.php?tid=9639&extra=page%3D2[/url][/url]
還有推導power stage model的方法可以參考paper
V. Vorperian, “Simplified analysis of PWM converters using model of
PWM switch, part I: Continuous conduction mode,” IEEE
裡面有推導mos開關model
還有NS的LM 3430 datasheet 它有提供一個我覺得是PWM的終極公式
小訊號極零點都幫你推導好了 連slope compensation效應也有包括喔
當然這是我的經驗啦 希望能有幫助
也希望其他人有相關經驗的能提供一些意見
有沒有人在立琦 致新 類比科 沛亨這些公司上班的呀
應該對PWM current mode這方面很有研究吧

[[i] 本帖最後由 monkeybad 於 2007-12-4 12:31 AM 編輯 [/i]]

LingTsan 發表於 2007-12-4 04:11 PM

一般是使用Average Mode作compensation 的分析..

Switch 並非是線性元作..所以須以一個Model 來替代..
上網看看,,,可以找到一些資料..

monkeybad 發表於 2007-12-5 06:11 PM

恩 的確要有一個linear model來表示PWM switch
之前上網又看到一些paper 同一個作者對推導PWM current mode model提出了一連串的paper
PWM current mode model還真的有點複雜
首先有關PWM switch的model 除了V. Vorperian之前那篇 另外我又找到一些
K. Kazimierczuk "Application of the principle of energy conservation to modeling the PWM converter" IEEE
--------------------- "Energy conservation approach to modeling PWM dc-dc converters" IEEE

再來是推導PWM current mode 整體的model
K. Kazimierczuk "Voltage Loop of Boost PWM DC–DC Converters With Peak Current-Mode Control" IEEE
這是最後的結論 中間還有很多過程 要在refer to相關的paper

有興趣的可以看看

另外回覆Shaq
Voltage mode跟Current mode誤差放大器補償電路設計原理是一樣的 但是實際上還是不太一樣
因為Voltage mode跟Current mode power satge的架構就不同了
Voltage mode是一個2階系統 Current mode基本上可以看成是一個一階系統

[[i] 本帖最後由 monkeybad 於 2007-12-5 07:39 PM 編輯 [/i]]

monkeybad 發表於 2007-12-5 07:10 PM

假如懶得看這麼複雜的推導 就直接用LM 3430的公式下去算就好了

其實說穿了 PWM current mode因為電感電流被監控了 所以它只有一個dominant pole
位在Vout節點  因為通常穩壓電容Co都做蠻大的 形成一個pole=1/(Ro*Co)
不像voltage mode 電感跟穩壓電容會形成一個二階系統 補償比較難
還有一個零點是電容寄生電阻造成的 不過這個通常都在很高頻

另外有關subharmonic oscillation就用斜率補償電路下去做 這個其實不用放在model裡面
但是要防止發震 就是要滿足補償斜率必須大於1/2電感電流下降斜率就可以了
subharmonic oscillation這個現象會發生在D>0.5的時候

誤差放大器補償電路設計 最簡單的方法 就是先做一個OP 然後補償方法就是在OP output串一個Rc跟一個Cc
這樣零點就會產生在1/(Rc*Cc) 可以把這個零點擺在unit gain BW附近 這樣可以提高PM

大致上是這樣 實際電路還要加一些修改
像是ErrorAMP箝位電路來限制最大電感電流
BLANKING來防止感應電阻在MOS開關剛打開時 會有很大的noise pulse 造成誤動作
Soft Start來防止剛啟動時 電感或是MOS開關電流過大燒壞掉的情形

以下是我用Matlab寫一個程式來模擬的結果
圖一為power stage bode diagram
圖二為Error amp bode diagram
圖三為Total loop bode diagram
可以看到DC gain有100db 單位頻寬為16.87k PM=67deg;
這邊我單位頻寬大概位在1/60的操作頻率 不過應該可以在調高一點吧

再來就是Hspice模擬結果 目前還沒有跑 不過之前用別的RC值跑過一次 是有鎖定住
所以這次改了一下應該也可以鎖定吧

這是目前我的經驗 希望能跟各位網友多交流

[[i] 本帖最後由 monkeybad 於 2007-12-6 12:07 PM 編輯 [/i]]

shaq 發表於 2007-12-6 12:44 PM

Dear monkeybad

就我所 survey 到的電路架構,以 Synchronous, current mode buck converter 而言,在輸出端還是有 LC filter 耶。
我認為 current mode 與 voltage mode 最大的不同在於 PWM 信號 產生的方式,但 Power stage 應該是一樣的,不知道我這樣的解讀有沒有錯誤?
對了,您所提的 LM3430 裡的公式,是 for boost converter...
我再找一下有沒有 for buck 的,有的話我再貼上來。

By the way, 是否可麻煩 monkeybad 提供 MATLAB 程式,因為我沒寫過穩定性相關的程式,
想看看怎麼寫的,增加一點經驗。
謝謝。

happybull 發表於 2007-12-6 01:30 PM

回復 10# 的帖子

This is a very good one.
Just one question: Is this a real model for a product?
Becasue I think the number on the plot can't be real.
This circuit can't meet all load condition for sure.  DC gain is too high and ErroAmp gain too high. Also you did't counter gain from Current Mode.

Except that ,every thing is great.

monkeybad 發表於 2007-12-6 03:45 PM

有關BUCK的架構可以看LM 3477
另外就是有關Current mode部分 因為它是有兩個迴路
一個是電流回授迴路 最外面再加上電壓回授迴路
電流迴路就是控制電感電流 所以可以把電感電流想像成一個固定電流源
然後流過一個R C filter 所以系統在低頻時是一個one pole system

Voltage mode因為電感電流沒有受到控制 所以L C會造成一個two pole system

這是用比較直觀的觀點切入 當然你說的產生Clock pulse控制方法不一樣
這樣解釋也可以啦

另外Matlab程式其實也沒有什麼 看一看Help檔用一些指令下去模擬就好了
先建立transfer function 再用margin ,bode這些指令下去看波德圖就可以
Matlab裡面有control system的toolbox 有些內建的指令蠻方便的

這是我自己寫的 不一定要照我的方法 只要能work就可以了
%PWM BOOST
s = tf('s');

% Output voltage
Vo=10;
% Input voltage
Vin=5;
% Diode forward voltage
VD=0.7;
% Output loading current
Io=200e-3;
% R sense
RSNS=0.5;  
% Output capacitance
Co=100e-6;
% Output capacitance parasitic resistor
Resr=3e-3;
% Inductance
L=10e-6;
% PWM operating frequency
fsw=1.35e6;
D=(Vo-Vin-VD)/(Vo-VD);
IL=Io/(1-D);
Ro=Vo/Io;

APS=(1-D)*Ro/(2*RSNS);
WZesr=1/(Resr*Co);
WLEP=1/(0.5*(Ro+Resr)*Co);
WRHP=Ro*(Vin/Vo)^2/L;
Wn=pi*fsw;
Sn=RSNS*Vin/L;
% compensation slope;
Se=9e5;
Qn=1/(pi*(-D+0.5+(1-D)*Se/Sn));
BETA=(124/(124+876));

% compensation resistor;
Rc=1e6;
% compensation capacitance;
Cc=1e-11;
% fp: from HSPICE AC sim in OP, dominant pole location, frequency at phase=145deg;
fp=7.35e1;  
% calculate ro;
ro=1/(2*pi*Cc*fp);
Aerror=10^(90.7/20)*(1+s*Rc*Cc)/(1+s*Cc*(ro+Rc));

Gps=APS*(1+s/WZesr)*(1-s/WRHP)/((1+s/WLEP)*(1+s/(Qn*Wn)+s^2/Wn^2));
Gall=BETA*Aerror*Gps

figure(1)
margin(Gall)
figure(2)
w = {1e-3,1e10};
bode(Aerror,w)

[[i] 本帖最後由 monkeybad 於 2007-12-6 04:11 PM 編輯 [/i]]

shaq 發表於 2007-12-6 10:29 PM

Dear monkeybad,

首先,非常感謝您分享您的程式,慧我良多!
關於程式方面,有1 個問題想問您。
BETA,這是代表什麼意思啊?  唯獨這個東西沒辦法參悟,還請您勿見笑。

monkeybad 發表於 2007-12-7 10:11 AM

回覆14 shaq
喔 不好意思沒有註明清楚
BETA就是電壓迴路中 回授電阻的分壓比例
Vfb=BETA*Vo

回覆12 happybull
這是我用實際電路的值下去模擬的, Error Amp的DC gain是用Hspice跑出來的結果
還有不同負載的問題 可能這樣的設計只能滿足某一種情況 面對不同負載 不同Vout
補償電阻跟電容都要重新調整吧 但是目前以我的應用來說 是要做驅動white light LED的昇壓電路
負載跟Vout都是固定的 所以我想應該只要針對應用所需的情況來設計就好了吧

我是照著LM 3430以及網上一些資料下去做 因為也沒有人教 所以不知這樣弄對不對
電路都是東湊西湊的 不過Hspice模擬好像還可以動 希望以後tape out可以work
台灣電源管理IC設計公司一大堆 真的沒有人有做過PWM current mode嗎?
目前網路上看來好像都只有Finster Sjhor這些人在討論
不過Finster之前是做PWM Voltage mode的
所以希望有經驗的人能不吝指導一下吧!

[[i] 本帖最後由 monkeybad 於 2007-12-7 04:21 PM 編輯 [/i]]

shaq 發表於 2007-12-7 10:00 PM

再次謝謝 monkeybad!
剛在洗澡的時候想到一個問題。

92年游同學的那篇論文,文中設計 Error Amplifier 補償電路的方法,似乎是以 Voltage mode 的觀點下去設計,
但他的架構又是 Current mode 的 buck converter,這樣的設計方式沒問題嗎?

monkeybad 發表於 2007-12-9 06:21 PM

92年游同學的那篇論文 做得很不錯
不過好像對穩定度分析這個地方沒有做太多的解釋 這也是我存疑的地方
以我的認知是voltage mode跟current mode補償設計應該是不太一樣
我不確定論文是用什麼方法去設計的 但是基本上我們就照自動控制理論的分析下去做應該沒錯吧
先推導系統線性化model => 決定系統頻寬 PM等等 => 根據pole zero位置去設計補償電路電容電阻值
我後來Matlab模擬完 再用Hspice跑 結果PWM就有鎖定住

shaq 發表於 2007-12-16 10:50 AM

就如同 monkeybad 您所說的, Power stage 只有一個 pole
所以,我直覺就是用 Type-2 的 Error Amplifier,因為它剛好提供一個 zero。

但我昨天發現,我設計出來的電容值是 nano 級的,不適用於 IC 內

是不是因為這樣,所以 Current mode, buck converter 的 Error Amplifier 通常是 Gm amplifier?

shaq 發表於 2007-12-17 10:35 AM

[quote]原帖由 [i]shaq[/i] 於 2007-12-16 10:50 AM 發表 [url=http://www.chip123.com/phpBB/redirect.php?goto=findpost&pid=34402&ptid=10963][img]http://www.chip123.com/phpBB/images/common/back.gif[/img][/url]
就如同 monkeybad 您所說的, Power stage 只有一個 pole
所以,我直覺就是用 Type-2 的 Error Amplifier,因為它剛好提供一個 zero。

但我昨天發現,我設計出來的電容值是 nano 級的,不適用於 IC 內

是不是 ... [/quote]


後來發現,只要加大分壓電阻比,就可以降電容值了
前幾天沒想到這點 orz

stevenhendry 發表於 2008-4-1 10:17 AM

in boost  matlab ,有一个问题我有疑问,希望你能帮我解答,等好久也没有收到回信

问题是:在程序中:Se=9e5

对于Vout=10 vin=5,L=10e-6 ,VD=0.7 的条件下: 电感上的电流的下降斜率m2为:(vout-vin)/L=5e5.

作slope compensation  se=0.75* m2

换句话说:你给你的compensation 是不是过大了呢?

happybull 發表於 2008-4-9 02:27 PM

MA 0.5 到 1 都是合适的. 0.75很适中
voltage mode跟current mode補償設計有不同之处.
current mode 有SLOP COMP 的POLE, 而且RCS 会有一个GAIN STAGE, 相当于在ERROR AMP 后,加了一个RCS 的GM, GAIN=ROUT/RCS.

happybull 發表於 2008-4-9 02:33 PM

回復 15# 的帖子

请问MONKEYBAD,你的这片BOOST 回来了吗?
我在想应该有更好的compensation,不必用Co=100e-6.

savage1394 發表於 2009-3-15 02:26 PM

我對于上面的matlab代碼所體現的模型持懷疑態度。因為無法找到一個從電壓模向電流模過渡的痕跡,如果采樣電阻很小,斜坡補償很大,那么電流莫就成為電壓模,但模型中沒有體現。
還有,電流環路的全環路仿真也是需要的。

brian.tian 發表於 2010-1-12 04:18 PM

大家討論得很厲害啊,本人受益匪淺啊!謝謝了

ppliu 發表於 2010-2-15 05:32 PM

感謝各位討論提供的經驗分享,讓小弟可以充實這方面不足的知識,感恩

c3a1t039 發表於 2010-3-29 04:20 PM

問一下我有用MATLAB模擬過迴路,推導出ERR AMP補償的RC值,
那我如果用HSPICE模擬時我要怎麼去看。架構是單地感雙輸出的轉換器。
雙輸出是有達到穩態,但是HSPICE模擬要到10ms才會穩定,這模擬時間太長,
但是我有想把時間縮短,但是輸出婆型變很怪,我想知道怎麼樣調是比較好的,
或是有方法加快模擬時間。

wanghao831218 發表於 2010-5-25 08:00 AM

做一个这样的model IC就真的不会有稳定性方面的问题了吗?
而且版主还没有考虑DCM的状态下的问题。有没有好点的model 可以同时比较无缝的在这两种状态中间切换的?

Zuman 發表於 2010-6-4 10:44 AM

[quote]Dear monkeybad

就我所 survey 到的電路架構,以 Synchronous, current mode buck converter 而言,在輸 ...
[size=2][color=#999999]shaq 發表於 2007-12-6 12:44 PM[/color] [url=http://bbs.innoing.com/redirect.php?goto=findpost&pid=33172&ptid=10963][img]http://bbs.innoing.com/images/common/back.gif[/img][/url][/size][/quote]


    你说的buck的输出端也是LC网络,但是对于current mode 的控制架构,输出电流由于电流内环的控制,可以理解为电流恒定,那么电感的效应也就消除了,实际上只是输出电阻与外挂电容形成的一个极点而已·~·

patrick02046 發表於 2011-5-29 08:35 AM

其實以[color=Red]voltage mode control[/color]模擬方式  chenjianred  大大這樣模擬也可呀!不過在error amp後面少了"[color=Red]pwm modulator gain(1/Vramp)[/color]" 和 "[color=Red]將switch 平均的gain(DxVin)[/color]"~

HanGu 發表於 2011-6-23 03:28 PM

樓上的同學,PWM modulator gain 可否應該是 Vdd/Vramp Vdd 為 PWM comparator的輸出rail to rail 值.

patrick02046 發表於 2011-6-24 11:03 AM

[b]回復 [url=http://bbs.innoing.com/redirect.php?goto=findpost&pid=154871&ptid=10963]30#[/url] [i]HanGu[/i] [/b]


回樓上的,將主題發文者的電路做修改,這樣模擬才比較準

不過,穩定度影響沒有很大,因為差異為DC GAIN .而DC GAIN 不大

如附檔.

[attach]12961[/attach][attach]12962[/attach]

patrick02046 發表於 2011-6-25 01:45 AM

[i=s] 本帖最後由 patrick02046 於 2011-6-25 01:46 AM 編輯 [/i]

[b]回復 [url=http://bbs.innoing.com/redirect.php?goto=findpost&pid=154921&ptid=10963]31#[/url] [i]patrick02046[/i] [/b]

不好意思  ~ 上面圖有錯更正為以下

[attach]12974[/attach]

curtis0419 發表於 2012-2-16 10:52 AM

感謝大大的經驗 值得學習

patrick02046 發表於 2012-2-16 06:38 PM

[i=s] 本帖最後由 patrick02046 於 2012-2-16 06:42 PM 編輯 [/i]

反問一下,slop compendation過大會如何呀? (發生什麼現像呀)

答案在Ridely a new continuout time current mode model 的論文題到。

過小當然就會次諧波振盪。

postme 發表於 2012-2-19 01:11 PM

有意思啊!!!!这个话题值得深入讨论

wacsula 發表於 2012-2-20 06:16 PM

討論真是精彩  令小弟獲益匪淺:)

aaf009610 發表於 2013-12-13 08:50 AM

這篇要讓我消化一段時間了

感謝各位高手的討論

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.