作者FrozenRay (◎□■□■□■□)
看板Electronics
标题Re: [问题] 使用AD630之SPICE model所出现的error
时间Wed Jun 29 02:18:52 2011
※ 引述《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)