source: trunk/simulation/ina303a3.lib@ 4

Last change on this file since 4 was 1, checked in by f.jahn, 3 years ago
File size: 16.4 KB
RevLine 
[1]1* INA303A3
2*****************************************************************************
3* (C) Copyright 2012 Texas Instruments Incorporated. All rights reserved.
4*****************************************************************************
5** This model is designed as an aid for customers of Texas Instruments.
6** TI and its licensors and suppliers make no warranties, either expressed
7** or implied, with respect to this model, including the warranties of
8** merchantability or fitness for a particular purpose. The model is
9** provided solely on an "as is" basis. The entire risk as to its quality
10** and performance is with the customer.
11*****************************************************************************
12*
13** Released by: WEBENCH(R) Design Center, Texas Instruments Inc.
14* Part: INA303A3
15* Date: 01/28/2017
16* Model Type: All In One
17* Simulator: TINA-TI
18* Simulator Version: 9.3.150.4 SF-TI
19* EVM Order Number: N/A
20* EVM Users Guide: N/A
21* Datasheet: SBOS775 – September 2016
22*
23* Model Version: 1.0
24*
25*****************************************************************************
26*
27* Updates:
28*
29* Version 1.0 : Release to Web
30*
31*
32*****************************************************************************
33* Notes:
34* 1. This model is intended to be used with 5V supplies
35* 2. It may not work with supplies less than 5V
36*
37*****************************************************************************
38.SUBCKT INA303A3 INP INN REF LATCH1 LATCH2 LIMIT1 LIMIT2 DELAY ALERT1 ALERT2 VS OUT GND
39*C_C2 0 DELAY 260p TC=0,0
40C_C2 0 DELAY 7.5p TC=0,0
41*C_C1 0 S1_IN 110p TC=0,0
42C_C1 0 S1_IN 80p TC=0,0
43R_R2 COMP1_OUT S1_IN 15237.5 TC=0,0
44R_R7 S3_IN CNTRL1_OUT 20k TC=0,0
45R_R5 LATCH2 0 1k TC=0,0
46E_U1_E1 U1_VMID 0 VS U1_N67543 0.5
47E_U1_E4 U1_N67297 0 0 INN 1
48E_U1_E8 U1_VINN_MID U1_VSN_WOCM U1_VMID 0 1
49R_U1_R12 U1_N66933 OPA_OUT 0.1 TC=0,0
50E_U1_E2 U1_N67543 0 0 GND 1
51E_U1_E7 U1_VINP_MID U1_VSP_WOCM U1_VMID 0 1
52R_U1_R11 INN U1_N67459 1 TC=0,0
53R_U1_R10 INP U1_N67465 1 TC=0,0
54*R_U1_R2 U1_VINP_MID U1_OPA_INP 12.5k TC=0,0
55*R_U1_R3 U1_VINN_MID U1_OPA_INN 12.5k TC=0,0
56R_U1_R2 U1_VINP_MID U1_OPA_INP 2.5k TC=0,0
57R_U1_R3 U1_VINN_MID U1_OPA_INN 2.5k TC=0,0
58*E_U1_E5 U1_N67465 U1_VSP_WOCM U1_CMIN 0 1.000003162
59E_U1_E5 U1_N67465 U1_VSP_WOCM U1_CMIN 0 1.00000007
60X_U1_U1 U1_OPA_INP U1_OPA_INN VS GND U1_N66933 INA301A1_OPA
61R_U1_R5 U1_OPA_INN U1_N66933 250e3 TC=3e-6,0
62*E_U1_E6 U1_N67459 U1_VSN_WOCM U1_CMIN 0 1
63E_U1_E6 U1_N67459 U1_VSN_WOCM U1_CMIN 0 9.99999930E-01
64I_U1_I1 U1_VSP_WOCM GND DC 119.9uAdc
65R_U1_R8 GND U1_N67465 540k TC=0,0
66I_U1_I2 U1_VSN_WOCM GND DC 120.1uAdc
67R_U1_R9 U1_N67459 GND 540k TC=0,0
68E_U1_E3 U1_CMIN 0 INP U1_N67297 0.5
69R_U1_R4 U1_OPA_INP REF 250e3 TC=3e-6,0
70R_U2_R1 U2_N01012 COMP1_OUT 1e6 TC=0,0
71V_U2_V1 N44121 U2_N03015 1.5e-3
72R_U2_R2 OUT U2_N01012 4e3 TC=0,0
73X_U2_U1 COMP1_OUT U2_N01012 U2_N03015 VS GND COMPARATOR
74C_C4 GND S4_IN 1n TC=0,0
75E_U100_E7 U100_N165884 0 U100_N_SUM 0 1
76E_U100_E3 U100_AOL_ZO_IN 0 OPA_OUT OUT 1
77C_U100_C6 0 U100_P1 160 TC=0,0
78R_U100_R6 U100_OUT_E4_ZO OUT 1e6 TC=0,0
79R_U100_R11 U100_P1 U100_N166036 100k TC=0,0
80E_U100_E4 U100_OUT_E4_ZO 0 U100_P2 0 1
81R_U100_R8 U100_P2 U100_N165884 2.5k TC=0,0
82G_U100_G3 U100_N_SUM 0 U100_Z1 0 -1
83E_U100_E5 U100_N166724 0 U100_AOL_ZO_IN 0 60
84C_U100_C5 U100_N165960 U100_P2 10n TC=0,0
85G_U100_G4 U100_N_SUM 0 U100_N166724 0 -1
86C_U100_C4 U100_N166302 U100_Z1 1.6u TC=0,0
87R_U100_R7 0 U100_Z1 1k TC=0,0
88R_U100_R9 U100_N165960 0 20 TC=0,0
89E_U100_E6 U100_N166302 0 U100_AOL_ZO_IN 0 1.3e6
90E_U100_E8 U100_N166036 0 U100_AOL_ZO_IN 0 8e5
91R_U100_R5 0 U100_N_SUM 1 TC=0,0
92G_U100_G5 U100_N_SUM 0 U100_P1 0 -1
93R_R8 S4_IN CNTRL2_OUT 20k TC=0,0
94E_E2 N25241 GND LIMIT2 GND 1
95X_U7 LATCH2 VS ALERT2 CNTRL2_OUT VS GND CONTROL
96C_C3 GND S3_IN 1n TC=0,0
97R_R4 LATCH1 0 1k TC=0,0
98X_S3 S3_IN GND VS S1_IN DEV_A1_SCH_S3
99*R_R3 COMP2_OUT DELAY 15237.5 TC=0,0
100R_R3 COMP2_OUT DELAY 244k TC=0,0
101R_R6 REF 0 1k TC=0,0
102X_S4 S4_IN GND VS DELAY DEV_A1_SCH_S4
103R_U4_R1 U4_N01012 COMP2_OUT 1e6 TC=0,0
104V_U4_V1 OUT U4_N03015 1.5e-3
105R_U4_R2 N25241 U4_N01012 4e3 TC=0,0
106X_U4_U1 COMP2_OUT U4_N01012 U4_N03015 VS GND COMPARATOR
107X_U6 LATCH1 VS ALERT1 CNTRL1_OUT VS GND CONTROL
108E_E1 N44121 GND LIMIT1 GND 1
109X_U3 VS LIMIT1 VS LIMIT1 VS GND LIMIT_I
110X_S1 S1_IN GND ALERT1 GND DEV_A1_SCH_S1
111X_S2 DELAY GND ALERT2 GND DEV_A1_SCH_S2
112X_U5 VS LIMIT2 VS LIMIT2 VS GND LIMIT_I
113.ENDS
114*$
115***
116***
117.subckt DEV_A1_SCH_S3 1 2 3 4
118S_S3 3 4 1 2 _S3
119RS_S3 1 2 1G
120.MODEL _S3 VSWITCH Roff=100e6 Ron=1.0 Voff=2V Von=3V
121.ends DEV_A1_SCH_S3
122*$
123***
124***
125.subckt DEV_A1_SCH_S4 1 2 3 4
126S_S4 3 4 1 2 _S4
127RS_S4 1 2 1G
128.MODEL _S4 VSWITCH Roff=100e6 Ron=1.0 Voff=2V Von=3V
129.ends DEV_A1_SCH_S4
130*$
131***
132***
133.subckt DEV_A1_SCH_S1 1 2 3 4
134S_S1 3 4 1 2 _S1
135RS_S1 1 2 1G
136.MODEL _S1 VSWITCH Roff=1e6 Ron=1.0 Voff=2.0V Von=3.0V
137.ends DEV_A1_SCH_S1
138*$
139***
140***
141.subckt DEV_A1_SCH_S2 1 2 3 4
142S_S2 3 4 1 2 _S2
143RS_S2 1 2 1G
144*.MODEL _S2 VSWITCH Roff=1e6 Ron=1.0 Voff=1.0V Von=2.0V
145.MODEL _S2 VSWITCH Roff=1e6 Ron=1.0 Voff=2.5V Von=3.5V
146.ends DEV_A1_SCH_S2
147*$
148***
149***
150.SUBCKT INA301A1_OPA VIP VIN VDD VSS VO
151XU1 VIP VIN 23 22 GNDF INPUT
152+ PARAMS: RICM = 1G RIDM = 100e6 CICM = 1000f CIDM = 1000f
153XU2 23 20 VNOISE
154+ PARAMS: NLF = 100 FLW = 0.1 NVR = 30
155XU3 12 20 VOFFS
156+ PARAMS: VOFF = 82u
157XU4 VDD VSS 22 21 GNDF PSRR
158+ PARAMS: PSRRP = 140 FPSRRP = 2 PSRRN = 140 FPSRRN = 2
159XU5 21 13 GNDF CMRR
160+ PARAMS: CMRR = 120 FCMRR = 2
161XU6 12 13 VDD VSS IBIAS
162+ PARAMS: IBIASP = 1p IBIASN = 1p
163XU7 VDD VSS IQ
164+ PARAMS: IQQ = 640u
165XU8 VDD VSS 12 13 14 15 GNDF CMR
166+ PARAMS: VMAX = 0 VMIN = 0
167XU9 14 15 11 GNDF GBW_SLEW_SE
168*+ PARAMS: AOL = 120 GBW = 10MEG SRP = 4MEG SRN = 4MEG IT = 1M
169*+ PARAMS: AOL = 120 GBW = 8.7MEG SRP = 4MEG SRN = 4MEG IT = 1M
170+ PARAMS: AOL = 120 GBW = 30MEG SRP = 4MEG SRN = 4MEG IT = 1M
171XU10 11 10 GNDF TF
172XU11 VDD VSS 10 9 VIMON GNDF VCLAMP_W_CLAW
173+ PARAMS: VMAXIO = 0.05 VMINIO = 0.02
174XU12 9 7 GNDF ZOUT
175XU13 7 VO VIMON OUT_CURRENT_CLAMP
176+ PARAMS: IMAX = 10m IMIN = 10m
177*+ PARAMS: IMAX = 9m IMIN = 9m
178XU14 VDD VSS VIMON ILOAD
179XU0 VDD VSS GNDF GND_FLOAT
180.ENDS
181*$
182**************************************
183** **
184** **
185** **
186** **
187**************************************
188.SUBCKT INPUT VIP VIN VOP VON GNDF
189+ PARAMS: RICM = 1G RIDM = 10K CICM = 100F CIDM = 100F
190V1 VIP VOP 0
191V2 VIN VON 0
192C1 VOP GNDF {CICM}
193C2 VON GNDF {CICM}
194C3 VOP VON {CIDM}
195G1 VOP GNDF VALUE = {V(VOP,GNDF)/RICM}
196G2 VON GNDF VALUE = {V(VON,GNDF)/RICM}
197G3 VOP VON VALUE = {V(VOP,VON)/RIDM}
198.ENDS
199*$
200**************************************
201** **
202** **
203** **
204** **
205**************************************
206* BEGIN PROG NSE NANO VOLT/RT-HZ
207.SUBCKT VNOISE 1 2 PARAMS: NLF = 10 FLW = 4 NVR = 4.2
208* BEGIN SETUP OF NOISE GEN - NANOVOLT/RT-HZ
209* INPUT THREE VARIABLES
210* SET UP VNSE 1/F
211********************
212* NV/RHZ AT 1/F FREQ
213* NLF
214********************
215* FREQ FOR 1/F VAL
216* FLW
217********************
218* SET UP VNSE FB
219* NV/RHZ FLATBAND
220* NVR
221********************
222* END USER INPUT
223* START CALC VALS
224.PARAM GLF={PWR(FLW,0.25)*NLF/1164}
225.PARAM RNV={1.184*PWR(NVR,2)}
226.MODEL DVN D KF={PWR(FLW,0.5)/1E11} IS=1.0E-16
227* END CALC VALS
228I1 0 7 10E-3
229I2 0 8 10E-3
230D1 7 0 DVN
231D2 8 0 DVN
232E1 3 6 7 8 {GLF}
233R1 3 0 1E9
234R2 3 0 1E9
235R3 3 6 1E9
236E2 6 4 5 0 10
237R4 5 0 {RNV}
238R5 5 0 {RNV}
239R6 3 4 1E9
240R7 4 0 1E9
241E3 1 2 3 4 1
242C1 1 0 1E-15
243C2 2 0 1E-15
244C3 1 2 1E-15
245.ENDS
246*$
247* END PROG NSE NANOV/RT-HZ
248**************************************
249** **
250** **
251** **
252** **
253**************************************
254.SUBCKT VOFFS VP VN
255+ PARAMS: VOFF = 0
256V1 VP VN {VOFF}
257.ENDS
258*$
259**************************************
260** **
261** **
262** **
263** **
264**************************************
265.SUBCKT PSRR VDD VSS VI VO GNDF
266+ PARAMS: PSRRP = 130 FPSRRP = 1.6
267+ PSRRN = 130 FPSRRN = 1.6
268.PARAM PI = 3.141592
269.PARAM RPSRRP = 1
270.PARAM GPSRRP = {PWR(10,-PSRRP/20)/RPSRRP}
271.PARAM LPSRRP = {RPSRRP/(2*PI*FPSRRP)}
272.PARAM RPSRRN = 1
273.PARAM GPSRRN = {PWR(10,-PSRRN/20)/RPSRRN}
274.PARAM LPSRRN = {RPSRRN/(2*PI*FPSRRN)}
275G1 GNDF 1 VDD GNDF {GPSRRP}
276R1 1 2 {RPSRRP}
277L1 2 GNDF {LPSRRP}
278G2 GNDF 3 VSS GNDF {GPSRRN}
279R2 3 4 {RPSRRN}
280L2 4 GNDF {LPSRRN}
281E1 VO VI VALUE = {V(1,GNDF) + V(3,GNDF)}
282C3 VDD VSS 10P
283.ENDS
284*$
285**************************************
286** **
287** **
288** **
289** **
290**************************************
291.SUBCKT CMRR VI VO GNDF PARAMS: CMRR = 130 FCMRR = 1.6K
292.PARAM PI = 3.141592
293.PARAM RCMRR = 1
294.PARAM GCMRR = {PWR(10,-CMRR/20)/RCMRR}
295.PARAM LCMRR = {RCMRR/(2*PI*FCMRR)}
296G1 GNDF 1 VI GNDF {GCMRR}
297R1 1 2 {RCMRR}
298L1 2 GNDF {LCMRR}
299E1 VI VO 1 GNDF 1
300.ENDS
301*$
302**************************************
303** **
304** **
305** **
306** **
307**************************************
308.SUBCKT IBIAS VIP VIM VDD VSS
309+ PARAMS: IBIASP = 1e-12 IBIASN = 1e-12
310IBP VDD VIP {IBIASP}
311IBN VSS VIM {IBIASN}
312.ENDS
313*$
314**************************************
315** **
316** **
317** **
318** **
319**************************************
320.SUBCKT IQ VDD VSS
321+ PARAMS: IQQ = 1M IOFF = 1P
322G1 VDD VSS VALUE = {IQQ + IOFF*0}
323.ENDS
324*$
325**************************************
326** **
327** **
328** **
329** **
330**************************************
331.SUBCKT CMR VDD VSS VIP VIM VOP VOM GNDF
332+ PARAMS: VMAX = 0 VMIN = 0
333ECLAMPP VOP GNDF VALUE = {LIMIT(V(VIP,GNDF),V(VDD,GNDF) - VMAX, V(VSS,GNDF) + VMIN)}
334ECLAMPM VOM GNDF VALUE = {LIMIT(V(VIM,GNDF),V(VDD,GNDF) - VMAX, V(VSS,GNDF) + VMIN)}
335.ENDS
336*$
337**************************************
338** **
339** **
340** **
341** **
342**************************************
343.SUBCKT GBW_SLEW_SE VIP VIM VO GNDF
344+ PARAMS: Aol = 120 GBW = 3Meg SRP = 2Meg SRN = 2Meg IT = 1M
345.PARAM PI = 3.141592
346.PARAM IP = {IF(SRP <= SRN,IT,IT*(SRP/SRN))}
347.PARAM IN = {IF(SRN <= SRP,-IT,-IT*(SRN/SRP))}
348.PARAM Cc = {IF(SRP <= SRN,IT/SRP,IT/SRN)}
349.PARAM fp = {GBW/PWR(10,Aol/20)}
350.PARAM Rc = {1/(2*PI*Cc*fp)}
351.PARAM Gc = {PWR(10,Aol/20)/Rc}
352G1 GNDF VO VALUE = {IF(V(VIP,VIM) >= 200M,IP,IF(V(VIP,VIM) <= -200M,IN,Gc*V(VIP,VIM)))}
353C1 VO GNDF {Cc}
354R1 VO GNDF {Rc}
355.ENDS
356*$
357**************************************
358** **
359** **
360** **
361** **
362**************************************
363.SUBCKT TF VI VO GNDF
364+ PARAMS: A = 1
365E1 VO GNDF VI GNDF {A}
366.ENDS
367*$
368**************************************
369** **
370** **
371** **
372** **
373**************************************
374.SUBCKT VCLAMP_W_CLAW VDD VSS VI VO VIMON GNDF
375+ PARAMS: VMAXIO = 0 VMINIO = 0
376EPCLIP VDD_CLP 0 VALUE = {IF(0 <=
377+ V(VIMON) & V(VIMON) <= 2.25M,V(VDD,GNDF) - 131.1111*V(VIMON) - VMAXIO,
378+ IF(2.25M < V(VIMON) & V(VIMON) <=
379+ 4.76M,V(VDD,GNDF) - 121.5139*V(VIMON) - 21.5936M - VMAXIO,
380+ IF(4.76M < V(VIMON) & V(VIMON) <=
381+ 6.56M,V(VDD,GNDF) - 222.2222*V(VIMON) + 457.7778M - VMAXIO,
382+ IF(6.56M < V(VIMON) & V(VIMON) <=
383+ 8M,V(VDD,GNDF) - 625*V(VIMON) + 3.1 - VMAXIO,
384+ IF(8M < V(VIMON) & V(VIMON) <
385+ 9M,V(VDD,GNDF) - 900*V(VIMON) + 5.3 - VMAXIO,V(VDD,GNDF) - VMAXIO)))))}
386ENCLIP VSS_CLP 0 VALUE = {IF(0 >= V(VIMON) & V(VIMON) >=
387+ -2.25M,V(VSS,GNDF) - 132*V(VIMON) + VMINIO,
388+ IF(-2.25M > V(VIMON) & V(VIMON) >=
389+ -4.76M,V(VSS,GNDF) - 159.3625*V(VIMON) - 61.5657M + VMINIO,
390+ IF(-4.76M > V(VIMON) & V(VIMON) >=
391+ -6.56M,V(VSS,GNDF) - 222.2222*V(VIMON) - 360.7778M + VMINIO,
392+ IF(-6.56M > V(VIMON) & V(VIMON) >=
393+ -8M,V(VSS,GNDF) - 625*V(VIMON) - 3.003 + VMINIO,
394+ IF(-8M > V(VIMON) & V(VIMON) >
395+ -9M,V(VSS,GNDF) - 900*V(VIMON) - 5.203 + VMINIO,V(VSS,GNDF) + VMINIO)))))}
396ECLAMP VO GNDF VALUE = {LIMIT(V(VI,GNDF), V(VDD_CLP), V(VSS_CLP))}
397.ENDS
398*$
399**************************************
400** **
401** **
402** **
403** **
404**************************************
405.SUBCKT ZOUT VI VO GNDF
406+ PARAMS: RO = 50
407G1 GNDF VO VI GNDF {1/RO}
408G2 VO GNDF VALUE = {V(VO,GNDF)/RO}
409.ENDS
410*$
411**************************************
412** **
413** **
414** **
415** **
416**************************************
417.SUBCKT OUT_CURRENT_CLAMP IN OUT VIMON
418+PARAMS: RSER = 1 IMAX = 10M IMIN = 10M
419HSENS VIMON 0 VSENS 1
420VSENS OUTy OUT 0
421GRESP OUTx OUTy VALUE = {LIMIT(V(OUTx,OUT)/RSER,IMAX,-IMIN)}
422GRESN IN OUTx VALUE = {-V(IN,OUTx)/RSER}
423.ENDS
424*$
425**************************************
426** **
427** **
428** **
429** **
430**************************************
431.SUBCKT ILOAD VDD VSS VIMON
432G1 VDD 0 VALUE = {IF(V(VIMON) >= 0,V(VIMON),0)}
433G2 0 VSS VALUE = {IF(V(VIMON) < 0,V(VIMON),0)}
434.ENDS
435*$
436**************************************
437** **
438** **
439** **
440** **
441**************************************
442.SUBCKT GND_FLOAT VDD VSS GNDF
443EGNDF GNDF 0 VALUE = {(V(VDD)+V(VSS))*0.5}
444*EGNDF GNDFx 0 VALUE = {(V(VDD)+V(VSS))*0.5}
445*GGNDF GNDFx GNDF VALUE = {V(GNDFx,GNDF)*1U}
446*CGNDF GNDF 0 10U
447.ENDS
448*$
449***
450***
451.SUBCKT COMPARATOR OUT INP INN VCC VEE
452emid nmid 0 VALUE = {(V(VCC) + V(VEE))/2}
453eout out nmid VALUE = {IF(V(INP) >= V(INN),V(VCC,nmid),V(VEE,nmid))}
454.ends
455*$
456***
457***
458.SUBCKT CONTROL A B C OUT VCC VEE
459EGNDF GNDF 0 VALUE = {0.5*(V(VCC) + V(VEE))}
460EA NA GNDF VALUE = {0.5*(1 + SGN(V(A,GNDF)))}
461EB NB GNDF VALUE = {0.5*(1 + SGN(V(B,GNDF)))}
462EC NC GNDF VALUE = {0.5*(1 - SGN(V(C,GNDF)))}
463EABnotC NABnotC GNDF VALUE = {V(NA,GNDF)*V(NB,GNDF)*V(NC,GNDF)}
464EOUT OUT VEE VALUE = {V(VCC,VEE)*V(NABnotC,GNDF) + V(VEE,VEE)*(1 - V(NABnotC,GNDF))}
465.ENDS
466*$
467***
468***
469.SUBCKT LIMIT_I IN OUT VC1 VC2 VCC VEE
470.PARAM m = -180u
471.PARAM b = 80u
472GOUT IN OUT VALUE = {IF(V(VC1,VC2) >= 0.1,80u,0)}
473*GOUT IN OUT VALUE = {max(V(IN,OUT)/6000,V(IN,OUT)/((V(VC1,VC2)/80u)))}
474*GOUT IN OUT VALUE = {max(V(IN,OUT)/((V(VC1,VC2)/80u))}
475*IOUT IN OUT 80u
476*GOUT IN OUT VALUE = {-max(0,b + m*V(VC1,VC2))}
477*GOUT IN OUT VALUE = {-min(80u,m*V(VC1,VC2)+b)} V(VC1,VC2)/5400
478.ENDS
479***
480***
481*$
482
Note: See TracBrowser for help on using the repository browser.