Re: [問題] 使用AD630之SPICE model所出現的error
※ 引述《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)
討論串 (同標題文章)