SIMetrix/SIMPLIS電路仿真軟件
SIMetrix/SIMPLIS為一款結(jié)合速度與精度的模擬電路仿真軟件,SIMetrix基于SPICE模型,可精確仿真瞬態(tài);而SIMPLIS則是對器件進(jìn)行分段線性建模,將一個完整的系統(tǒng)定義成完整的線性電路拓?fù)溲h(huán)序列,因此可獲得很高的速度。
用表達(dá)式為元器件值賦值的優(yōu)點(diǎn)
用SIMetrix/SIMPLIS仿真軟件進(jìn)行電路仿真時經(jīng)常需要多次修改元器件參數(shù)的值,而且很多元件的參數(shù)之間具有關(guān)聯(lián)性,一些元件的參數(shù)值依賴于其他元件的參數(shù)值。這樣每次修改都需要用計(jì)算器重新進(jìn)行計(jì)算,十分麻煩。
其實(shí)可以將元件的值寫成表達(dá)式,用這些表達(dá)式表示元件之間的關(guān)聯(lián)性,并在仿真前將基本元件進(jìn)行賦值,本文講述了實(shí)現(xiàn)用表達(dá)式進(jìn)行元件參數(shù)賦值的方法和步驟。
表達(dá)式賦值的方法和步驟
1. 設(shè)計(jì)原理圖
設(shè)計(jì)要仿真的原理圖,原理圖中的元件值用大括號{ }中的符號表示,這些符號可以是字母、數(shù)字,也可以是數(shù)學(xué)表達(dá)式。如下圖中的電容C2用{CT}表示。而對于電感L2, L3, L4, 他們的參數(shù)值依賴于參數(shù)LT、 LR、k,例如,電感 L2 用表達(dá)式 {LT-ksqrt(LTLR)} 表示其依賴關(guān)系。
由于這些符號、表達(dá)式并不是元器件真正的值,仿真時會出錯:
*** ERROR *** Instance 'R4', parameter 'resistance': Cannot evaluate expression 'R_load'
Unknown parameter 'R_load'
*** ERROR *** Instance 'R3', parameter 'resistance': Cannot evaluate expression 'RR'
Unknown parameter 'RR'
*** ERROR *** Instance 'R2', parameter 'resistance': Cannot evaluate expression 'RT'
Unknown parameter 'RT'
因此仿真前需對這些符合和表達(dá)式進(jìn)行賦值。我們采用命令 .PARAM在命令行中進(jìn)行賦值。
2. 打開命令行窗口
Simulate->Open/Close Command(F11)Window F11打開命令行窗口
3. 在命令行窗口為元器件值賦值
.PARAM CT 109p
.PARAM RT 1
.PARAM LT 4.9u
.PARAM LR 2.25u
.PARAM RR 2
.PARAM CR 220p
.PARAM R_load 25
.PARAM k 0.1
.simulator DEFAULT
4. 仿真
Simulator – Choose Analysis – AC進(jìn)入下圖頁面,設(shè)置掃描頻率
選擇Enable multi-step 點(diǎn)擊Define… 進(jìn)入下一頁面
在Parameters name 中輸入R_load,設(shè)置從5-25歐姆中的5個值,對應(yīng)不同的曲線
點(diǎn)擊Simulator–Run Schematic, 得到如下仿真結(jié)果的波形圖文章來源:http://www.zghlxwxcb.cn/news/detail-579869.html
5. 觀察自動生成的design.net文件
打開自動生成的design.net文件,發(fā)現(xiàn)通過命令設(shè)置的元件參數(shù)的語句被自動生成到該文件中。如下代碼中的最后8行文章來源地址http://www.zghlxwxcb.cn/news/detail-579869.html
*#SIMETRIX
V1 V1_P 0 AC 1 0
R2 R2_P C2_P {RT}
R3 R3_P L3_N {RR}
R4 C3_P 0 {R_load}
L2 R2_P L2_N {LT-k*sqrt(LT*LR)}
L3 L2_N L3_N {LR-k*sqrt(LT*LR)}
X$H2 H2_P 0 V1_P H2_CN H2$TP_CCVS params: gain=1 pinnames: P N CP CN
.subckt H2$TP_CCVS 1 2 3 4
H1 1 2 V1 {gain}
V1 3 4
.ends
L4 L2_N 0 {k*sqrt(LT*LR)}
C2 C2_P H2_CN {CT}
C3 C3_P R3_P {CR}
.KEEP V1_P H2_P
.GRAPH "mag(:V1_P/:H2_P)" Curvelabel="Gain" nowarn=true yunit="V/V" complete=True analysis="ac" ylog=lin xlog=auto ydelta=20 persistence=-1 colourname=Probe2_bode_color axisname=bodemag order=1 userid=Probe2$GAIN. MeasureSpec="Gain\sCrossover\sFrequency\s(dB\sPlot)|0|0|0|0!Gain\sMargin\s(dB\sPlot)|0|0|0|0"
.post_process probe_measure Probe2$GAIN. Gain\sCrossover\sFrequency\s(dB\sPlot)|0|0|0|0!Gain\sMargin\s(dB\sPlot)|0|0|0|0
.GRAPH "ph(:V1_P/:H2_P)" Curvelabel="Phase" nowarn=true yunit="degrees" complete=True analysis="ac" ylog=lin xlog=auto ydelta=45 persistence=-1 colourname=Probe2_bode_color axistype=grid axisname=bodephase order=0 userid=Probe2$PHASE. MeasureSpec="Phase\sMargin\s(Phase\sPlot)|0|0|0|0"
.post_process probe_measure Probe2$PHASE. Phase\sMargin\s(Phase\sPlot)|0|0|0|0
.tran 1m
.ac lin 1k 5500000 8500000 Sweep single param=R_load lin 5 5 25
.PARAM CT 109p
.PARAM RT 1
.PARAM LT 4.9u
.PARAM LR 2.25u
.PARAM RR 2
.PARAM CR 220p
.PARAM R_load 25
.PARAM k 0.1
到了這里,關(guān)于SIMetrix 8.30 電路仿真軟件用表達(dá)式為元器件值賦值的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!