Форум » » Translate моделей Microcap -> ORcad и другие симуляторы и обратно » Ответить

Translate моделей Microcap -> ORcad и другие симуляторы и обратно

qaki: Нередко возникает необходимость переноса модели, созданной в Microcap, на платформы других симуляторов или наоборот использования в Microcap моделей сторонних производителей. Причин тому можно назвать предостаточно. Поэтому предлагается использовать эту ветку для обсуждения подобного рода задач, чтобы не загружать прочие несвойственной тематикой.

Ответов - 27, стр: 1 2 All

qaki: To AlexDu Спасибо за сообщение. Вы правы. Если посмотреть на эквивалентную схему микрухи, то можно видеть, что по входу Mute производится управление токовым зеркалом первого каскада усилителя. Если Mute висит в воздухе, то токовое зеркало заперто. Когда проверял работу модели, то пробовал менять величину сопротивления резистора, включенного между минусом и Mute. Оказалось, что переход из закрытого состояния в открытое происходит довольно резко, достаточно изменить величину сопротивления буквально на единицы процентов. Ну, а в общем, аудиотехника меня мало интересует. Для меня эталоном музыкального звучания является стейнвеевский рояль при исполнении Шопена или блютнеровский для Шумана.

qaki: Что-то не то написал в предыдущем сообщении. Если на Mute ничего не подавать, то усилок открыт и при питании +28 В/-28 В выдает на нагрузку 8 Ом при Uвх=1 В как и положено для типовой схемы из datasheet 20 В. Ставим резистор с -28 В на Mute 20 кОм. При его подключении усилок запирается. Но вот с другим вариантом дешифрованной модели (от Орленка) вообще чудеса. При штатной полярности питания Микрокап пишет про сингулярность. Если полярность поменять на противоположную, то начинает работать. Видимо в net-list или в зашифрованном исходнике что-то напутано.

Sergey Kor: qaki К сожалению ссылка на найденную Вами модель LM3886 нерабочая. Если есть у кого возможность поделитесь пожалуйста переработанной моделью из Tina.Хочется именно подробную модель LM3886 чтоб поиграться в композитном включении.


Emc: http://www.ti.com/product/LM3886/toolssoftware

Sergey Kor: Emc, не получилось(и не у меня одного) сделать рабочую модель от TI.

qaki: Sergey Kor пишет: не получилось(и не у меня одного) сделать рабочую модель от TI. Затаривай! Режим тишины (Mute) подключается 7-й ногой на минус питания * LM3886 * Version 1.0 : * Free for Microcap * ***************************************************************************** * Notes: * The LM3886 Macro Model represents the following parameters for * split-supply operation (+/-28V): * GBWP, input-referred voltage noise, the quiescent current, * output swing, input offset voltage, input bias current, PSRR, * CMRR, and the slew rate. * ***************************************************************************** *$ .SUBCKT LM3886 INP INN VCC VEE GND OUT MUTE * V_Vos INP2 INP_CMRR -1056uVdc R_Rinp INP INP1 1 R_Rinn INN INN1 1 C_Cinp GND INP1 200f C_Cinn GND INN1 200f E_E1 VCC_BUF GND VCC GND 1 E_E2 VEE_BUF GND VEE GND 1 R_RMUTE VCC MUTE 1e6 X_UIcc VCC VEE MUTE VIMON GND INP2 INN1 HPA_PD_I + PARAMS: VTH=1.4I IMAX=50e-3 IMIN=0.444e-3 IIBP=210n IIBN=200n G_G1 GND N2B INP_CMRR GND 3.2u E_Ecmrr INN2 INN3 N2B GND 1 R_Rcmr N2B N2 1 L_Lcmr N2 GND 560nH G_G2 GND N1B VCC_BUF VEE_BUF 1u L_Lpsr N1 GND 2uH R_Rpsr N1B N1 1 X_Upsrr N1B GND INN1 INN2 VCVS_LIMIT + PARAMS: GAIN=-1 VPOS=20M VNEG=-20M X_Uvn INP1 INP2 VNSE * V_V1 VCC N3 3.59Vdc V_V4 N4 VEE 3.59Vdc X_Ud2 INN3 N3 d_ideal X_Ud1 INP_CMRR N3 d_ideal X_Ud3 N4 INP_CMRR d_ideal X_Ud4 N4 INN3 d_ideal * X_Ug0 INP_CMRR INN3 GND AV1 VCCS_LIMIT + PARAMS: GAIN=10e-6 IPOS=0.5 INEG=-0.5 X_Ug4 AV1 GND GND OVER_CLAMP VCCS_LIMIT + PARAMS: GAIN=26.5u IPOS=107.5u INEG=-107.5u GRU1 GND AV1 VALUE={V(GND ,AV1 )/1e6} GRU2 GND OVER_CLAMP VALUE={V(GND ,OVER_CLAMP)/2.1e9} C_Cc1 GND OVER_CLAMP 5.3p C_Cc2 P0ZP1 GND 5e-15 C_Cc3 CLAW_CLAMP GND 995f * X_UIout VCC VEE VIMON GND TRAN_IOUT G_G3 GND VSENSE OVER_CLAMP GND 1u G_G4 GND P0Z VSENSE GND 1u G_G5 GND P0ZP1 P0Z GND 1u G_G6 GND CLAW_CLAMP P0ZP1 GND 1m G_G7 GND CL_CLAMP CLAW_CLAMP GND 1m GRU3 VSENSE GND VALUE={V(VSENSE,GND )/1e6} GRU5 GND P0Z VALUE={V(GND , P0Z )/1e6} GRU6 P0ZP1 GND VALUE={V(P0ZP1, GND )/1e6} GRU7 CLAW_CLAMP GND VALUE={V(CLAW_CLAMP,GND )/1e3} GRU8 CL_CLAMP GND VALUE={V(CL_CLAMP, GND )/1e3} * X_UpwrDn CL_CLAMP GND MUTE N90 GND VCC VEE HPA_PD_SGNL * XVoclp VCC VEE N90 N94 Vimon1 GND VCLAMP_W_SENSE_0 + PARAMS: VMAXIO=1.55 VMINIO=2.45 SLOPE=0 XIoclp VCLP N94 RNOISE_LESS_WILIM_0 + PARAMS: RX=0.01 IMAX=11.5 IMIN=-11.5 XUA VCLP Uz_VZO_4 Vimon1 GND AMETER_0 * X_Uz_H1 Uz_VZO_4 OUT VIMON GND Zout_Uz_H1 E_Uz_E1 Uz_VZO_2 GND Uz_VZO_1 Uz_VZO_4 -1 R_Uz_Ra Uz_N106 Uz_VZO_4 10 R_Uz_Rb Uz_N104 Uz_VZO_4 10 R_Uz_Rm Uz_VZO_3 Uz_VZO_4 10 X_Uz_S1 N92 GND Uz_N106 Uz_VZO_3 Zout_Uz_S1 X_Uz_S2 N92 GND Uz_N104 Uz_VZO_3 Zout_Uz_S2 GRUz_Rg1 GND Uz_N100 VALUE={V(GND ,Uz_N100)/10e6} GRUz_Rf1 Uz_N100 Uz_VZO_1 VALUE={V(Uz_N100 ,Uz_VZO_1)/10e6} GRUz_Rg2 Uz_VZO_2 Uz_N102 VALUE={V(Uz_VZO_2,Uz_N102 )/1e6} GRUz_Rf2 Uz_N102 Uz_VZO_3 VALUE={V(Uz_N102 ,Uz_VZO_3)/1e6} X_Uz_Uamp1 VCLP Uz_N100 Uz_VZO_1 GND VCVS_LIMIT + PARAMS: GAIN=1e6 VPOS=6e4 VNEG=-6e4 X_Uz_Uamp2 GND Uz_N102 Uz_VZO_3 GND VCVS_LIMIT + PARAMS: GAIN=1e6V VPOS=6e4 VNEG=-6e4 * .ENDS LM3886 *$ * .subckt Zout_Uz_S1 1 2 3 4 S_Uz_S1 3 4 1 2 _Uz_S1 RS_Uz_S1 1 2 1G .MODEL _Uz_S1 VSWITCH Roff=10e6 Ron=1.0 Voff=-0.1V Von=0.1V .ends Zout_Uz_S1 *$ .subckt Zout_Uz_S2 1 2 3 4 S_Uz_S2 3 4 1 2 _Uz_S2 RS_Uz_S2 1 2 1G .MODEL _Uz_S2 VSWITCH Roff=10e6 Ron=1.0 Voff=0.1V Von=-0.1V .ends Zout_Uz_S2 *$ .subckt Zout_Uz_H1 1 2 3 4 H_Uz_H1 3 4 VH_Uz_H1 1e3 VH_Uz_H1 1 2 0V .ends Zout_Uz_H1 * *$ .subckt rnoiseless a b PARAMS: R=1k *H_H1 c b VH_H1 {R} *VH_H1 a c 0 ERES a 3 VALUE = { I(VSENSE) * R } Rdummy 30 3 1 VSENSE 30 b DC 0V .ends *$ * .SUBCKT EPOLY1 1 2 3 4 PARAMS: Coeff1=0.0 Coeff2=0.0 *For distortion purpose *EINT 3 4 POLY(1) (1,2) (0 1 Coeff1 Coeff2) EINT 3 4 POLY(1) (1,2) (0 1 0 0) .ENDS EPOLY1 *$ * .subckt D_ideal A C D1 A C DNOM .MODEL DNOM D (IS=1e-16 RS=1e-3 N=1e-3) .ENDS D_ideal * *$ .subckt VCCS_Limit VCP VCN IOUTP IOUTN PARAMS: Gain = 1.7e-3 + Ipos = 0.100 Ineg = -0.165 G1 IOUTP IOUTN VALUE={LIMIT(Gain*V(VCP,VCN),Ipos,Ineg)} .ends VCCS_Limit * *$ .subckt VCVS_Limit VCP VCN VOUTP VOUTN PARAMS: Gain = -1 + Vpos = 20m Vneg = -20m E1 VOUTP VOUTN VALUE={LIMIT(Gain*V(VCP,VCN),Vpos,Vneg)} .ends VCVS_Limit *$ * .SUBCKT VNSE 1 2 ************************** * BEGIN SETUP OF NOISE GEN - NANOVOLT/RT-HZ * INPUT THREE VARIABLES * NLF - NV/RHZ AT (1/F) FREQ * FLW - FREQ FOR (1/F) VAL * NVR - NV/RHZ FLATBAND ************************** * START CALC VALS .PARAM NLF=20.2 .PARAM FLW=1 .PARAM NVR=1.99 .PARAM GLF={PWR(FLW,0.25)*NLF/1164} .PARAM RNV={1.184*PWR(NVR,2)} .MODEL DVN D KF={PWR(FLW,0.5)/1E11} IS=1.0E-16 * END CALC VALS I1 0 7 10E-3 I2 0 8 10E-3 D1 7 0 DVN D2 8 0 DVN E1 3 6 7 8 {GLF} R1 3 0 1E9 R2 3 0 1E9 GR3 3 6 3 6 1E-9 E2 6 4 5 0 10 R4 5 0 {RNV} R5 5 0 {RNV} R6 3 4 1E9 R7 4 0 1E9 E3 1 2 3 4 1 C1 1 0 1E-15 C2 2 0 1E-15 C3 1 2 1E-15 .ENDS VNSE *$ * .SUBCKT HPA_PD_I VCC VEE PD Vimon AGND Ninp Ninn PARAMS: Vth = 1.4 Imax = 1e-3 Imin = 3n + IIBP= 0.55u IIBN= 0.56u *GBIAS VCC VEE VALUE = {IF(V(PD) >= (V(VEE)+Vth),Imax,Imin)} GBIAS VCC VEE VALUE = {IF(V(PD) >= V(VCC),Imax,Imin)} Ebuf VDD 0 VCC 0 1 Ginp VDD Ninp VALUE = {IF(V(PD) >= V(VCC),IIBP,0)} Ginn VDD Ninn VALUE = {IF(V(PD) >= V(VCC),IIBN,0)} .ENDS *$ * .SUBCKT HPA_PD_Sgnl CP CN DIS VP VN VCC VEE PARAMS: GAIN = 1 EVCVS VP VN VALUE = {IF(V(DIS,VEE) >= 1.4,V(CP,CN)*GAIN,0)} .ENDS HPA_PD_Sgnl *$ * .SUBCKT Tran_Iout VCC VEE VIMON AGND X_Siq1 N1 GND_FLOAT VIMON N2 Amp_Dyn_Iout_Siq1 X_Siq2 N1 GND_FLOAT VIMON N3 Amp_Dyn_Iout_Siq2 C_Ciq1 N1 GND_FLOAT 10e-12 R_Riq1 N1 VIMON 10 R_Riq2 N2 GND_FLOAT 10e3 R_Riq3 GND_FLOAT N3 10e3 G_Gsourcing VCC GND_FLOAT N3 GND_FLOAT 0.001 G_Gsinking VEE GND_FLOAT N2 GND_FLOAT 0.001 .ENDS Tran_Iout *$ .subckt Amp_Dyn_Iout_Siq1 1 2 3 4 S_Siq1 3 4 1 2 _Siq1 RS_Siq1 1 2 1G .MODEL _Siq1 VSWITCH Roff=1e6 Ron=1.0 Voff=0.0V Von=-0.10V .ends Amp_Dyn_Iout_Siq1 *$ * .subckt Amp_Dyn_Iout_Siq2 1 2 3 4 S_Siq2 3 4 1 2 _Siq2 RS_Siq2 1 2 1G .MODEL _Siq2 VSWITCH Roff=1e6 Ron=1.0 Voff=0.0V Von=0.10V .ends Amp_Dyn_Iout_Siq2 *$ * .SUBCKT VCLAMP_W_SENSE_0 VCC VEE VI VO VIMON GNDF + PARAMS: VMAXIO = 0.1 VMINIO = 0.1 SLOPE = 0 EPCLIP VCC_CLP 0 VALUE = {V(VCC,GNDF) - SLOPE*V(VIMON,GNDF) - VMAXIO} ENCLIP VEE_CLP 0 VALUE = {V(VEE,GNDF) - SLOPE*V(VIMON,GNDF) + VMINIO} ECLAMP VO GNDF VALUE = {LIMIT(V(VI,GNDF), V(VCC_CLP), V(VEE_CLP))} .ENDS * *$ .SUBCKT RNOISE_LESS_WILIM_0 P N PARAMS: RX = 1E-3 IMAX = 1M IMIN = -1M GRES P N VALUE = {LIMIT(V(P,N)/RX, IMAX, IMIN)} .ENDS * *$ .SUBCKT AMETER_0 VI VO VIMON GNDF + PARAMS: GAIN = 1 VSENSE VI VO1 DC = 0 R1 VO1 VO 1e-3 R2 VO1 VO 1e-3 R3 VO1 VO 1e-3 R4 VO1 VO 1e-3 EMETER VIMON GNDF VALUE = {I(VSENSE)*GAIN} .ENDS * *$ .OPTIONS ACCT LIST OPTS ABSTOL=1uA CHGTOL=1nC DEFL=100u DEFW=100u DEFNRD=0 + DEFNRS=0 DEFPD=0 DEFPS=0 DIGDRVF=2 DIGDRVZ=20K DIGERRDEFAULT=20 DIGERRLIMIT=0 + DIGFREQ=10GHz DIGINITSTATE=0 DIGIOLVL=2 DIGMNTYMX=2 DIGMNTYSCALE=0.4 + DIGOVRDRV=3 DIGTYMXSCALE=1.6 DIODE_MAX_IS=1e-6 GMIN=1n INTERPOLATION_ORDER=2 + ITL1=200 ITL2=50 ITL4=50 PIVREL=1m PIVTOL=.1p RELTOL=10m SANDH_PRECISION=1e-4 + SD=2.58 SEED=0 TEMP=27 TNOM=27 TRTOL=7 VNTOL=1m WIDTH=80 PRIVATEDIGITAL=0 + PRIVATEANALOG PERFORM_M=2 RMIN=1u R_NODE_GND=1e6 PATH_TO_GROUND + VOLTAGE_LOOP_CHECK FLOATING_NODES_CHECK=0 NUMERIC_DERIVATIVE=0 LTHRESH=1.5 + LONE=3.5 LZERO=.3 CSHUNT=0 RSHUNT=0 RP_FOR_ISOURCE=0 METHOD=GEAR

Sergey Kor: qaki Премного благодарен!



полная версия страницы