Re: [問題] 使用AD630之SPICE model所出現的error

看板Electronics作者 (◎□■□■□■□)時間14年前 (2011/06/29 02:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《FrozenRay (◎□■□■□■□)》之銘言: : 板上各位先進們大家好 : 小弟我最近欲使用AD630實作lock-in amplifier : 架構是參考AD630 data sheet 之 Fig.14 : http://www.analog.com/static/imported-files/data_sheets/AD630.pdf : AD630的model為在Analog Device網頁所下載的OrCAD SPICE Model : low-pass filter所使用的OP Amplifier為AD8034 : 其SPICE model也是在Analog Device之網頁下載 : AD630 SPICE model : http://hippo.feld.cvut.cz/katalog/pdf/AD-Spice/ADSPICE/AD630.CIR : AD8034 SPICE model : http://ppt.cc/Cj@Y : 我的HSPICE語法如下 (節錄) : .protect : .include ../spice_model/ad8034.sp : .include ../spice_model/ad630.sp : .unprotect : * out1為lock_in amplifier的輸入端 : * 上一級電路使用AD8034的 SPICE model模擬都沒問題 : * AD630 Node assignments : * chan A non-inverting input (pin 2:NC) : * | chan A inverting input (pin 20) : * | | RIN A (pin 1) : * | | | chan B non-inverting input (pin 18:NC) : * | | | | chan B inverting input (pin 19) : * | | | | | RIN B (pin 17) : * | | | | | | sel A (pin 10) : * | | | | | | | sel B (pin 9) : * | | | | | | | | RB (pin 14) : * | | | | | | | | | RF (pin 15) : * | | | | | | | | | | RA (pin 16) : * | | | | | | | | | | | comp (pin 12) : * | | | | | | | | | | | | status (pin 7:NC) : * | | | | | | | | | | | | | pos supply (pin 11) : * | | | | | | | | | | | | | | neg supply (pin 8) : * | | | | | | | | | | | | | | | output (pin 13) : * | | | | | | | | | | | | | | | | : * .SUBCKT AD630 11 10 19 21 20 24 25 29, 47 49 48 52 51 99 50 46 : Xlockin_amp n_cha_p n_RF out1 n_chb_p n_RF gnd gnd in_p gnd n_RF + : out1 out_lk n_stat Vdd Vss out_lk AD630 : **** Low-pass filter with corner freq. of 100Hz **** : .param R2i_val=51k R2f_val=10Meg C2f_val=160p : Xopamp2 gnd n_im2 Vdd Vss out2 ad8034 : R2i out_lk n_im2 R2i_val : R2f n_im2 out2 R2f_val : C2f n_im2 out2 C2f_val : R2o out2 out_lp R2f_val : C2o out_lp gnd C2f_val : .param V_p=12 V_n=-12 Vcm='(V_p+V_n)/2' : Vdd Vdd gnd V_p : Vss Vss gnd V_n : Vgnd gnd 0 dc 0 ac 0.001 * noise source : .param freq=300k : .param Tper='1/freq' Tdel='0.5*Tper' : Vin_p in_p gnd dc 0 ac 0.5 sin( Vcm 7.0V freq Tdel ) : Vin_n gnd in_n dc 0 ac 0.5 sin( Vcm 7.0V freq Tdel ) : .param Tsim='50*Tper' Tinc='0.001*Tsim' : .tran Tinc Tsim : .probe tran v(out_pd) v(out_lp) v(out1) v(bead) : .option nomod post probe accurate : 現在我的問題是 : 當我執行simulation時出現以下錯誤 : **error** internal timestep too small in transient analysis : time = 0.40000E-05; delta = 0.20568E-15; numnit = 2920 : 在加大.tran的time interval至 '0.01*Tsim' : 或是在.option指定iteration次數至100 還是改用其他algorithm : 都無法解決上述問題 : 且小弟也有爬文 通常會出現此error多半是電路接現有錯 : 以小弟的case而言 若只呼叫AD8034而不呼叫AD630  : 便不會有error產生 得到low-pass filter的模擬結果也沒問題 : 呼叫AD630後就出現以上error了 : 但是我AD630的接線應該也沒錯吧? : 其實先前在選擇OP Amplifier時  : 有些OP Amplifier的 SPICE model跑模擬時就會遇到同樣的問題 : 有一種說法是因為SPICE model裡面的diode在模擬求解時不易收斂 : 但AD8034的SPICE model中也有diode存在 為何不會遇到相同問題? 自問自答 在AD630 data-sheet上面的lock-in amplifier pin2, pin7, pin 18 為Not Connected 但是在模擬時 這三個floating的node還是要加上一個極大阻抗幫助SPICE收斂 以我的case而言 我在這三點加上1G ohms的resistor ** (NOTE) bias resistors required for convergence (NOT implemented on PCB) Rbias_cha_p n_cha_p gnd 1G Rbias_chb_p n_chb_p gnd 1G Rbias_stat n_stat gnd 1G 然後在.options中加入 method=gear itl4=80 itl5=0 RELTOL=0.01 ABSTOL=10n VNTOL=100u 對於較長時間的.tran分析可用.options itl5=0 強迫SPICE把simulation跑完 另外在解決這個問題的過程中 小弟發現了這個網站 裡面提供一些方式解決SPICE的收斂問題 http://www.edn.com/archives/1994/030394/05df3.htm 感覺Hspice 2008.03 PC版還是有運算的極限 如果今天把.tran的模擬時間加長 或是我再加入別的IC的macro model (ex:多一級active filter) 這時Hspice又收斂失敗了 或許我這種case用nanosim跑會比較實在... :P 以上 若有誤還懇請指正 謝謝板上各位先進們 -- FrozenRay(for EXTREME) dj TAKA BPM:156 激(Heavy Mode):9 http://freetalk.cyberec.com/ddr8/frozenray_4hc.png
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.177.113 ※ 編輯: FrozenRay 來自: 111.251.177.113 (06/29 02:33)
文章代碼(AID): #1E2XiF2j (Electronics)
文章代碼(AID): #1E2XiF2j (Electronics)