* OPA320 ***************************************************************************** * (C) Copyright 2012 Texas Instruments Incorporated. All rights reserved. ***************************************************************************** ** This model is designed as an aid for customers of Texas Instruments. ** TI and its licensors and suppliers make no warranties, either expressed ** or implied, with respect to this model, including the warranties of ** merchantability or fitness for a particular purpose. The model is ** provided solely on an "as is" basis. The entire risk as to its quality ** and performance is with the customer. ***************************************************************************** * ** Released by: WEBENCH(R) Design Center, Texas Instruments Inc. * Part: OPA320 * Date: 08/27/13 * Model Type: All In One * Simulator: Pspice * Simulator Version: Pspice 16.2.0.p001 * EVM Order Number: N/A * EVM Users Guide: N/A * Datasheet: SBOS513D - AUGUST 2011 - Revised NOVEMBER 2011 * * Model Version: 2.0 * ***************************************************************************** * * Updates: * * Version 1.0 : Release to Web * Version 2.0 : Correct GOS for single-supply operation * Version 3.0 : Correct for single-supply operation ***************************************************************************** * Notes: * The model meets the following datasheet specs for 5.5V (+-2.75V) operation * at a temperature of 27C with a load resistance of 10kohms: * VOS, IIB, Input common-mode Voltage Range, CMRR, noise, Input Capacitance, * Open-loop voltage gain, GBW, Slew Rate, Output Voltage Swing, * Open-loop Output Resistance, Quiescent Current * Enable and Disable Time, * * The model meets the following specs over the published operating temperature * range: * IIB * * The model does not meet the following datasheet specs: * phase margin, AOL at 2k load resistance, power-on time, * Short circuit output current is about half the published value. * * The settling time for the macromodel is less than the published device specs. ***************************************************************************** *$ .SUBCKT OPA320 INP INN VCC VEE OUT C_C4 INN INP 4p TC=0,0 E_E2 N61051 0 VEE 0 1 X_U22 INPUT_OUTP INPUT_VOS VNSE_OPA320 X_U28 INPUTP_GBW INPUTN_GBW VCC VEE INPUTP_ICMR INPUTN_ICMR EN GNDF ICMR_OPA320 X_U12 INPUT_TF INPUT_VCLAMP VCC VEE EN GNDF TF_OPA320 *X_U19 OUT_CNTRL SHDN VCC VEE GNDF SHDN_NOT_OPA320 X_U19 OUT_CNTRL VCC VCC VEE GNDF SHDN_NOT_OPA320 E_E5 INPUTP_CMRR INPUTP_ICMR OUT_CMRR GNDF 0.5 X_U29 VCC VEE INPUT_VCLAMP INPUT_VIMON VIMON GNDF VCLAMP_W_SENSE_OPA320 R_R10 GNDF EN 10k TC=0,0 X_U31 INPUT_VIMON INPUT_ZOUT VIMON GNDF AMETER_OPA320 X_U18 INPUTP_ICMR GNDF VCC VEE VICM GNDF IIBP_OPA320 V_V4 N278677 GNDF 0.69Vdc X_U5 VICM INP INN GNDF VICM_OPA320 X_U30 INPUTP_CMRR INPUT_VOS VICM VCC VEE GNDF VOS_OPA320 G_G1 OUT_CMRR GNDF VICM GNDF -7e-6 R_R6 OUT_CNTRL N278435 100 TC=0,0 GOS INPUT_ZOUT OUT VALUE = {(1/90)*(1e-8+V(EN,GNDF))*V(INPUT_ZOUT,OUT)} X_U13 INPUTP_GBW INPUTN_GBW INPUT_TF EN GNDF GBW_SLEW_OPA320 X_U26 VCC VEE INPUT_OUTN INPUTN_CMRR GNDF PSRR_OPA320 R_R1 N61125 N61045 1e6 TC=0,0 X_U20 VCC VEE EN VIMON GNDF IQ_OPA320 D_D1 IN_COMP N278435 Dbreak X_U17 GNDF INPUTN_ICMR VCC VEE VICM GNDF IIBN_OPA320 R_R4 INN INPUT_OUTN 1 TC=0,0 R_R2 N61051 N61125 1e6 TC=0,0 R_R9 OUT_CNTRL IN_COMP 1k TC=0,0 C_C1 0 N61125 1m TC=0,0 C_C6 GNDF IN_COMP 18n TC=0,0 R_R3 INP INPUT_OUTP 1 TC=0,0 X_U23 INPUT_OUTN INPUT_VOS FEMT_OPA320 E_E3 GNDF 0 N61125 0 1 R_R5 N114739 GNDF 1 TC=0,0 C_C2 INN GNDF 2p TC=0,0 X_U2 EN IN_COMP N278677 GNDF COMPARATOR_OPA320 E_E1 N61045 0 VCC 0 1 L_L1 OUT_CMRR N114739 8uH C_C3 GNDF INP 2p TC=0,0 E_E4 INPUTN_CMRR INPUTN_ICMR OUT_CMRR GNDF -0.5 *V_INT SHDN GNDF 2 .model Dbreak D N=0.001 RS=0.001 T_ABS=27 .ENDS OPA320 *$ ** .SUBCKT VNSE_OPA320 1 2 .PARAM NLF = 5 .PARAM FLW = 1000 .PARAM NVR = 7 .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 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 R3 3 6 1E9 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 *$ .SUBCKT ICMR_OPA320 VOP VOM VDD VSS VIP VIM SHDN GNDF .PARAM VMAX = -0.12 .PARAM VMIN = -0.12 ECLAMPP VOP GNDF VALUE = {LIMIT(V(VIP,GNDF),V(VDD,GNDF) - VMAX, V(VSS,GNDF) + VMIN)} ECLAMPM VOM GNDF VALUE = {LIMIT(V(VIM,GNDF),V(VDD,GNDF) - VMAX, V(VSS,GNDF) + VMIN)} .ENDS *$ .SUBCKT TF_OPA320 VI VO VCC VEE SHDN GNDF .PARAM fp1 = 45e6 *.PARAM fp1 = 20e6 .PARAM fp2 = 10G .PARAM fp3 = 10G .PARAM fp4 = 10G .PARAM Gm = 1M .PARAM Ro = {1/Gm} .PARAM PI = 3.141592 .PARAM gL = 1M Gp1 GNDF VO VI GNDF {Gm} Rp1 VO GNDF {Ro} Cp1 VO GNDF {1/(2*PI*Ro*fp1)} IC = 0 .ENDS *$ .SUBCKT SHDN_NOT_OPA320 OUT_CNTRL IN VCC VEE GNDF .PARAM VIHparam = 0.7 .PARAM VILparam = 0.3 .PARAM VIMIDparam = 0.5 .PARAM VSmax = 5.5 .PARAM IIBmin = 0.04u .PARAM IIBmax = 0.13u .PARAM VCCnom = 5 .PARAM VD = 0.3 .PARAM VMAX = 6 ETEST TEST 0 VALUE = {V(IN,GNDF)} EN1 N1 GNDF VALUE = {IF(V(IN) < V(GNDF),0,1)} EN2 N2 GNDF VALUE = {IF(V(IN) >= V(GNDF),1,0)} EN3 N3 GNDF VALUE = {IF(V(IN) > V(VCC)+VD,0,1)} EN4 N4 GNDF VALUE = {IF(V(IN) < V(VEE)-VD,0,1)} EN6 N6 GNDF VALUE = {IF((V(VCC)-V(VEE)) > VMAX,0,1)} EOUT OUT_CNTRL GNDF VALUE = {V(N1,GNDF)*V(N2,GNDF)*V(N3,GNDF)*V(N4,GNDF)*V(N6,GNDF)} EN5 N5 GNDF VALUE = {(V(IN,VEE)/55e6) + IIBmin} GIB_IN IN GNDF VALUE = {V(N5,GNDF)*V(N3,GNDF)*V(N4,GNDF)} .ENDS *$ .SUBCKT VCLAMP_W_SENSE_OPA320 VDD VSS VI VO VIMON GNDF .PARAM SCALEP = 1 .PARAM SCALEN = 1 .PARAM ISC = 0.065 .PARAM ROS = 90 EHRPOS HRPOS GNDF VALUE = {MIN(V(VIMON,GNDF)*69.2,ISC*ROS-V(VDD,GNDF))} EHRNEG HRNEG GNDF VALUE = {MAX(V(VIMON,GNDF)*69.2,-ISC*ROS-V(VSS,GNDF))} EPCLIP VDD_CLP GNDF VALUE = {V(VDD,GNDF) + V(HRPOS,GNDF)} ENCLIP VSS_CLP GNDF VALUE = {V(VSS,GNDF) + V(HRNEG,GNDF)} ECLAMP VO GNDF VALUE = {LIMIT(V(VI,GNDF), V(VDD_CLP,GNDF), V(VSS_CLP,GNDF))} .ENDS *$ .SUBCKT AMETER_OPA320 VI VO VIMON GNDF .PARAM GAIN = 1 VSENSE VI VO DC = 0 EMETER VIMON GNDF VALUE = {I(VSENSE)*GAIN} .ENDS *$ .SUBCKT IIBP_OPA320 OUT IN VCC VEE INP GNDF .PARAM SCALE = 1p .PARAM IIBtyp = 0.1 .PARAM m1t = 0 .PARAM m2t = 2 .PARAM m3t = 8 .PARAM m4t = 52 .PARAM m1v = -1 .PARAM m2v = 0.001 .PARAM m3v = -10 .PARAM b1v = -0.9 .PARAM b3v = 23 EIIBt NIIBt 0 VALUE = {MAX(1,PWR(2,(TEMP-27)/10))} Ein Nin 0 VALUE = {V(INP,GNDF)} E1v N1v 0 VALUE = {m1v*V(Nin) + b1v} E2v N2v 0 VALUE = {m2v*V(Nin) + IIBtyp} E3v N3v 0 VALUE = {m3v*V(Nin) + b3v} E4v N4v 0 VALUE = {MIN(MAX(V(N1v),V(N2v)),V(N3v))} EIIBv NIIBv 0 VALUE = {V(N4v)/1} GOUT OUT IN VALUE = {SCALE*(V(NIIBt)*V(NIIBv))} .ENDS *$ .SUBCKT VICM_OPA320 OUT INP INN GNDF EOUT OUT GNDF VALUE = {0.5*(V(INP,GNDF) + V(INN,GNDF))} .ENDS *$ .SUBCKT VOS_OPA320 OUT IN VICM VCC VEE GNDF .PARAM SCALE = 1e-6 .PARAM DRIFT = 1.5 .PARAM VICM_SHIFT = 9.1 .PARAM VCC_SHIFT = 5 .PARAM VOS_TYP = -40 EDRIFT NDRIFT 0 VALUE = {DRIFT*(TEMP - 27)} ESHIFT NSHIFT 0 VALUE = {VICM_SHIFT*V(VICM,GNDF)} EVCC NVCC 0 VALUE = {V(VCC,VEE)} EVCCSHIFT NVCCSHIFT 0 VALUE = {VCC_SHIFT*(V(NVCC) - 5.5)} EVOS OUT IN VALUE = {SCALE*(VOS_TYP + V(NDRIFT) + V(NSHIFT) + V(NVCCSHIFT))} .ENDS *$ .SUBCKT GBW_SLEW_OPA320 VIP VIM VO SHDN GNDF .PARAM Aol = 130 .PARAM GBW = 20e6 .PARAM SRP = 10e6 .PARAM SRN = 10e6 .PARAM IT = 0.001 .PARAM PI = 3.141592 .PARAM IP = {IT*MAX(1,SRP/SRN)} .PARAM IN = {IT*MIN(-1,-SRN/SRP)} .PARAM CC = {IT*MAX(1/SRP,1/SRN)} .PARAM FP = {GBW/PWR(10,AOL/20)} .PARAM RC = {1/(2*PI*CC*FP)} .PARAM GC = {PWR(10,AOL/20)/RC} G1p GNDF OUTG1p VALUE = {MAX(MIN(GC*V(SHDN,GNDF)*V(VIP,VIM),IP),IN)} G1n OUTG1n GNDF VALUE = {MAX(MIN(GC*V(SHDN,GNDF)*V(VIP,VIM),IP),IN)} G1OUT GNDF VO VALUE = {V(SHDN,GNDF)*V(OUTG1p,OUTG1n)} RG1p OUTG1p GNDF {0.5*RC} Cg1dp OUTG1p GNDF {2*CC} IC=0 RG1n OUTG1n GNDF {0.5*RC} Cg1dn OUTG1n GNDF {2*CC} IC=0 ROUT VO GNDF 1 .ENDS *$ .SUBCKT PSRR_OPA320 VDD VSS VI VO GNDF .PARAM PSRR = 140 .PARAM fpsrr = 1 .PARAM PI = 3.141592 .PARAM RPSRR = 1 .PARAM GPSRR = {PWR(10,-PSRR/20)/RPSRR} .PARAM LPSRR = {RPSRR/(2*PI*fpsrr)} G1 GNDF 1 VDD VSS {GPSRR} R1 1 2 {RPSRR} L1 2 GNDF {LPSRR} E1 VO VI 1 GNDF 1 C2 VDD VSS 10P .ENDS *$ .SUBCKT IQ_OPA320 VCC VEE SHDN VIMON GNDF .PARAM IQ_NOM = 0.00134 .PARAM IQ_SHDN = 0.1u .PARAM Geq = 18.75u GVAR VCC VEE VALUE = {(V(SHDN)+ 1e-9)*Geq*V(VCC,VEE)} GIQ VCC VEE VALUE = {V(SHDN)*IQ_NOM + (1-V(SHDN))*IQ_SHDN} GOUTP VCC GNDF VALUE = {IF(V(VIMON,GNDF) > 0, V(VIMON)*V(SHDN),0)} GOUTN GNDF VEE VALUE = {IF(V(VIMON,GNDF) < 0, V(VIMON)*V(SHDN),0)} .ENDS *$ .SUBCKT IIBN_OPA320 OUT IN VCC VEE INN GNDF .PARAM SCALE = 1p .PARAM IIBtyp = 0.3 .PARAM m1t = 0 .PARAM m2t = 2 .PARAM m3t = 8 .PARAM m4t = 52 .PARAM m1v = -1 .PARAM m2v = 0.001 .PARAM m3v = -10 .PARAM b1v = -0.9 .PARAM b3v = 23 EIIBt NIIBt 0 VALUE = {MAX(1,PWR(2,(TEMP-27)/10))} *EIIBt NIIBt 0 VALUE = {MAX(MAX(MAX(V(N1t),V(N2t)),V(N3t)),V(N4t))} Ein Nin 0 VALUE = {V(INN,GNDF)} E1v N1v 0 VALUE = {m1v*V(Nin) + b1v} E2v N2v 0 VALUE = {m2v*V(Nin) + IIBtyp} E3v N3v 0 VALUE = {m3v*V(Nin) + b3v} E4v N4v 0 VALUE = {MIN(MAX(V(N1v),V(N2v)),V(N3v))} EIIBv NIIBv 0 VALUE = {V(N4v)/1} GOUT OUT IN VALUE = {SCALE*(V(NIIBt)*V(NIIBv))} .ENDS *$ .SUBCKT FEMT_OPA320 1 2 .PARAM NLFF = 0.7 .PARAM FLWF = 100 .PARAM NVRF = 0.6 .PARAM GLFF={PWR(FLWF,0.25)*NLFF/1164} .PARAM RNVF={1.184*PWR(NVRF,2)} .MODEL DVNF D KF={PWR(FLWF,0.5)/1E11} IS=1.0E-16 * END CALC VALS I1 0 7 10E-3 I2 0 8 10E-3 D1 7 0 DVNF D2 8 0 DVNF E1 3 6 7 8 {GLFF} R1 3 0 1E9 R2 3 0 1E9 R3 3 6 1E9 E2 6 4 5 0 10 R4 5 0 {RNVF} R5 5 0 {RNVF} R6 3 4 1E9 R7 4 0 1E9 G1 1 2 3 4 1E-6 C1 1 0 1E-15 C2 2 0 1E-15 C3 1 2 1E-15 .ENDS *$ .SUBCKT COMPARATOR_OPA320 OUT IN REF GNDF .PARAM VOUT_MAX = 1 .PARAM VOUT_MIN = 0 .PARAM GAIN = 1e4 EOUT OUT GNDF VALUE = {MAX(MIN(GAIN*V(IN,REF),VOUT_MAX),VOUT_MIN)} .ENDS *$