一些仿真器沒有包含LRC元件的ABM方程,采用本文所述的簡單子電路,可以根據復雜的分析表達式(包括邏輯表達式)創建無源元件,比如建立非線性電容、時變電阻等。 采用SPICE仿真電路時,通常需使用可變無源元件,如電阻、電容或電感。如果電源可以從外部控制上述器件的值,自然就可以從中推導出電容和電感的模擬行為建模表達式:非線性行為、隨電流變化而變化的電感等。然而,很少有基于SPICE的仿真器可適用于無源元件的內嵌方程。為了解決這個問題,本文將介紹可以通過外部電壓源進行器件值調節的若干無源元件。 最簡單的情況:電阻 歐姆定律(Ohm Law)指出:電流I通過電阻R時產生電壓V。電阻R保持不變時,電流源I的值為(方程1),其中1和2為電阻終端,如圖1所示。 圖1:電阻可表示成控制電流源 根據這個簡單的方程,在INTUSOFT的IsSpice和CADENCE的PSpice下均可形成一個可變電阻子電路,方程1中的R將通過CTRL節點由控制電流源直接施加: IsSpice .subckt VARIRES 1 2 ctrl R1 1 2 1E10 B1 1 2 I=V(1,2)/(V(CTRL)+1μ) .ENDS Pspice .subckt VARIRES 1 2 CTRL R1 1 2 1E10 G1 1 2 Value = { V(1,2)/(V(CTRL)+1μ) } .ENDS 在電流源表達式中,如果控制電壓值V(CTRL)接近于零,1μ值不為零,即(V(CTRL)+1μ)不為零,從而避免被除數被零除。如果V(CTRL)為100kV,則等效電阻為100kΩ。圖2表示,在子電路上施加一個簡單電阻分壓器,相當于產生一個1Ω電阻。現在,可以為V3建立一個復雜電壓源,并輕松形成非線性關系。 圖2:簡單電阻分壓器施加在電流源上,產生1Ω電阻 與前面介紹的電阻相類似,電容可以用符合下列定律的電壓源表示: 圖3:在1F電容上的積分將影響等效電容的建立 圖4:測試電路采用方波源對10uF電容間歇充電 空電壓源V將電流引入1F電容,在“int”節點上產生積分電壓,然后,乘以CTRL 節點電壓的倒數,就可以模擬可變電容。圖5顯示了用實際電容和可變電容得到的電壓和電流。兩個圖表之間沒有區別。 圖5:可變電容模型和標準電容模型產生相似的波形 下面是IsSpice 和PSpice中的模型: IsSpice .SUBCKT VARICAP 1 2 CTRL R1 1 3 1u VC 3 4 BC 4 2 V=(1/v(ctrl))*v(int) BINT 0 INT I=I(VC) CINT INT 0 1 .ENDS PSpice .SUBCKT VARICAP 1 2 CTRL R1131u VC34 EC42Value={(1/v(ctrl))*v(int)} GINT 0 INT Value = { I(VC) } CINT INT 0 1 RINT INT 0 1G .ENDS 對測試也進行了交流分析,證實模型在頻域內可以正常工作。 電感是一個電流源 如果對電感施加電壓,它將保持安培匝數恒定,相當于一個真正的電流源,這就是對可變電感建模的方法。根據楞次定律(Lenz Law),可以得出: 圖6:等效L子電路 將端子電壓轉換為電流,然后在等效電流中插入1F電容,可以得到電壓積分。子電路網表如下所示。 IsSpice .SUBCKT VARICOIL 1 2 CTRL BC 1 2 I=V(INT)/V(CTRL) BINT 0 INT I=V(1,2) CINT INT 0 1 .ENDS PSpice .SUBCKT VARICOIL 1 2 CTRL GC12Value={V(INT)/V(CTRL)} BGINT 0 INT Value={ V(1,2) } CINT INT 0 1 RINT INT 0 1G .ENDS 圖7:采用等效電感的測試電路 可以輕易地通過調整LC濾波器進行復雜的交流分析。如果我們仿真圖7,將會得到圖8的波形,與圖5中的波形類似。 圖8:模擬等效L子電路,得出電容結果的雙重波形 |