From f7727ac381af89bc2b70bbf6e39dd9f72e0ca4c7 Mon Sep 17 00:00:00 2001 From: elamre Date: Tue, 25 Apr 2017 17:03:09 +0200 Subject: [PATCH] Current source simulation --- ltspice/current source/ad8603.cir | 107 +++++++++++++++ ltspice/current source/ad8616.cir | 121 +++++++++++++++++ ltspice/current source/current_source.asc | 134 ++++++++++++++++--- ltspice/current source/current_source.op.raw | Bin 2300 -> 3496 bytes ltspice/current source/current_source.raw | Bin 39482 -> 9274 bytes ltspice/current source/lm358.cir | 45 +++++++ 6 files changed, 390 insertions(+), 17 deletions(-) create mode 100644 ltspice/current source/ad8603.cir create mode 100644 ltspice/current source/ad8616.cir create mode 100644 ltspice/current source/lm358.cir diff --git a/ltspice/current source/ad8603.cir b/ltspice/current source/ad8603.cir new file mode 100644 index 0000000..5b0f594 --- /dev/null +++ b/ltspice/current source/ad8603.cir @@ -0,0 +1,107 @@ +* AD8603 SPICE Macro-model Typical Values +* Description: Amplifier +* Generic Desc: 1.8/5V, CMOS, OP, Low Pwr, RRIO, 1X +* Developed by: Soufiane Bendaoud, ADI Silicon Valley +* Revision History: 08/10/2012 - Updated to new header style +* 0.0 +* Copyright 2003, 2012 by Analog Devices +* +* Refer to http://www.analog.com/Analog_Root/static/techSupport/designTools/spiceModels/license/spice_general.html for License Statement. Use of this model +* indicates your acceptance of the terms and provisions in the License Statement. +* +* BEGIN Notes: +* +* Not Modeled: +* +* Parameters modeled include: +* +* END Notes +* +* Node Assignments +* noninverting input +* | inverting input +* | | positive supply +* | | | negative supply +* | | | | output +* | | | | | +* | | | | | +.SUBCKT AD8603 1 2 99 50 45 +* +* INPUT STAGE +* +M1 14 7 8 8 PIX L=1E-6 W=42E-6 +M2 16 2 8 8 PIX L=1E-6 W=42E-6 +M3 17 7 10 10 NIX L=1E-6 W=42E-6 +M4 18 2 10 10 NIX L=1E-6 W=42E-6 +RC5 14 50 1E+5 +RC6 16 50 1E+5 +RC7 99 17 1E+5 +RC8 99 18 1E+5 +C1 14 16 0.8E-12 +C2 17 18 0.8E-12 +I1 99 8 4E-6 +I2 10 50 4E-6 +V1 99 9 0.3 +V2 13 50 0.3 +D1 8 9 DX +D2 13 10 DX +EOS 7 1 POLY(3) (22,98) (73,98) (81,98) 40E-6 1 1 1 +IOS 1 2 0.05E-12 +* +* CMRR 90dB, ZERO AT 15kHz, POLE AT 2MHz +* +ECM1 21 98 POLY(2) (1,98) (2,98) 0 0.5 0.5 +CCM1 21 22 3.54E-10 +RCM1 21 22 30000 +RCM2 22 98 1 +* +* PSRR=100dB, ZERO AT 300Hz +* +EPSY 98 72 POLY(1) (99,50) 0 1 +CPS3 72 73 5.30E-9 +RPS3 72 73 100E+3 +RPS4 73 98 1 +* +* +* VOLTAGE NOISE REFERENCE OF 20nV/rt(Hz) +* +VN1 80 98 0 +RN1 80 98 16.45E-3 +HN 81 98 VN1 20 +RN2 81 98 1 +* +* INTERNAL VOLTAGE REFERENCE +* +EREF 98 0 POLY(2) (99,0) (50,0) 0 .5 .5 +GSY 99 50 (99,50) 1.9E-6 +EVP 97 98 POLY(1) (99,50) -0.6 0.5 +EVN 51 98 POLY(1) (50,99) 0.6 0.5 +* +* GAIN STAGE +* +G1 98 30 POLY(2) (14,16) (17,18) 0 1.25E-5 1.25E-5 +R1 30 98 4.69e7 +CF 45 30 50E-12 +D3 30 97 DX +D4 51 30 DX +* +* OUTPUT STAGE +* +M5 45 46 99 99 POX L=1E-6 W=1.61E-3 +M6 45 47 50 50 NOX L=1E-6 W=2.15E-3 +EG1 99 46 POLY(1) (98,30) 0.3778 1 +EG2 47 50 POLY(1) (30,98) 0.3771 1 +* +* MODELS +* +.MODEL POX PMOS (LEVEL=2,KP=10E-6,VTO=-0.328,LAMBDA=0.01,RD=0) +.MODEL NOX NMOS (LEVEL=2,KP=10E-6,VTO=+0.328,LAMBDA=0.01,RD=0) +.MODEL PIX PMOS (LEVEL=2,KP=10E-6,VTO=-0.328,LAMBDA=0.01,Kf=10E-35,AF=1,TOX=100E-3) +.MODEL NIX NMOS (LEVEL=2,KP=10E-6,VTO=+0.328,LAMBDA=0.01,KF=10E-35,AF=1,TOX=100E-3) +.MODEL DX D(IS=1E-14,RS=5) +.ENDS + + + + + diff --git a/ltspice/current source/ad8616.cir b/ltspice/current source/ad8616.cir new file mode 100644 index 0000000..41d623b --- /dev/null +++ b/ltspice/current source/ad8616.cir @@ -0,0 +1,121 @@ +* AD8616 SPICE Macro-model +* Description: Amplifier +* Generic Desc: 2.7/5V, CMOS, OP, Fast, RRIO, 2X +* Developed by: VW ADSJ +* Revision History: 08/10/2012 - Updated to new header style +* 2.0 (02/2010) +* Copyright 2010, 2012 by Analog Devices +* +* Refer to http://www.analog.com/Analog_Root/static/techSupport/designTools/spiceModels/license/spice_general.html for License Statement. Use of this model +* indicates your acceptance of the terms and provisions in the License Statement. +* +* BEGIN Notes: VSY=5V, T=25°C +* +* Not Modeled: +* +* Parameters modeled include: +* +* END Notes +* +* Node Assignments +* noninverting input +* | inverting input +* | | positive supply +* | | | negative supply +* | | | | output +* | | | | | +* | | | | | +.SUBCKT AD8616 1 2 99 50 45 +* +* INPUT STAGE +* +M1 4 7 8 8 PIX L=1E-6 W=3.64E-04 +M2 6 2 8 8 PIX L=1E-6 W=3.64E-04 +M3 14 7 18 18 NIX L=1E-6 W=1.44E-04 +M4 16 2 18 18 NIX L=1E-6 W=1.44E-04 +RD1 4 50 1.33E+04 +RD2 6 50 1.33E+04 +RD3 99 14 1.33E+04 +RD4 99 16 1.33E+04 +C1 4 6 5.95E-14 +C2 14 16 5.95E-14 +I1 99 8 3.65E-05 +I2 18 50 3.65E-05 +V1 99 9 -1.087E+01 +V2 19 50 1.280E-01 +D1 8 9 DX +D2 19 18 DX +EOS 7 1 POLY(4) (73,98) (22,98) (81,98) (83,98) 2.30E-05 1 1 1 1 +IOS 1 2 5.00E-14 +* +*CMRR +* +E1 72 98 POLY(2) (1,98) (2,98) 0 1.507E-03 1.507E-03 +R10 72 73 1.061E+01 +R20 73 98 8.842E-02 +C10 72 73 1.00E-06 +* +* PSRR +* +EPSY 21 98 POLY(1) (99,50) -0.3750E+00 0.750E-01 +RPS1 21 22 7.9577E+00 +RPS2 22 98 1.061E-02 +CPS1 21 22 1.00E-06 +* +* VOLTAGE NOISE +* +VN1 80 98 0 +RN1 80 98 16.45E-3 +HN 81 98 VN1 4.3E+00 +RN2 81 98 1 +* +* FLICKER NOISE +* +DFN 82 98 DNOISE +VFN 82 98 DC 0.6551 +HFN 83 98 POLY(1) VFN 1.00E-03 1.00E+00 +RFN 83 98 1 +* +* INTERNAL VOLTAGE REFERENCE +* +EREF 98 0 POLY(2) (99,0) (50,0) 0 0.5 0.5 +GSY 99 50 POLY(1) (99,50) 8.786E-04 1.33E-05 +EVP 97 98 (99,50) 0.5 +EVN 51 98 (50,99) 0.5 +* +* GAIN STAGE +* +G1 98 30 POLY(2) (4,6) (14,16) 0 3.710E-03 3.710E-03 +R1 30 98 1.00E+06 +RZ 45 31 5.321E+01 +CF 30 31 2.975E-10 +V3 32 30 1.50E+00 +V4 30 33 1.08E+00 +D3 32 97 DX +D4 51 33 DX +* +* OUTPUT STAGE +* +M5 45 46 99 99 POX L=1E-6 W=1.48E-03 +M6 45 47 50 50 NOX L=1E-6 W=9.26E-03 +EG1 99 46 POLY(1) (98,30) 8.250E-01 1 +EG2 47 50 POLY(1) (30,98) 7.000E-01 1 + +* +* MODELS +* +.MODEL POX PMOS (LEVEL=2,KP=4.00E-05,VTO=-0.7,LAMBDA=0.047,RD=0) +.MODEL NOX NMOS (LEVEL=2,KP=1.00E-05,VTO=+0.6,LAMBDA=0.022,RD=0) +.MODEL PIX PMOS (LEVEL=2,KP=1.50E-05,VTO=-0.5,LAMBDA=0.047) +.MODEL NIX NMOS (LEVEL=2,KP=4.00E-05,VTO=0.5,LAMBDA=0.022) +.MODEL DX D(IS=1E-14,RS=0.1) +.MODEL DNOISE D(IS=1E-14,RS=0,KF=4.83E-11) +*.MODEL DNOISE D(IS=1E-14,RS=0,KF=3.43E-11) +* +* +.ENDS + + + + + diff --git a/ltspice/current source/current_source.asc b/ltspice/current source/current_source.asc index c847735..c621c37 100644 --- a/ltspice/current source/current_source.asc +++ b/ltspice/current source/current_source.asc @@ -1,28 +1,64 @@ Version 4 -SHEET 1 880 680 +SHEET 1 1572 808 WIRE 576 -304 384 -304 +WIRE 1280 -304 576 -304 WIRE 384 -256 384 -304 WIRE 576 -256 576 -304 WIRE 192 -224 96 -224 WIRE 256 -224 192 -224 +WIRE 1104 -224 992 -224 +WIRE 1408 -224 1184 -224 +WIRE 1552 -224 1408 -224 WIRE 192 -192 192 -224 +WIRE 1280 -176 1280 -304 +WIRE 1552 -176 1552 -224 +WIRE 880 -144 800 -144 +WIRE 992 -144 992 -224 +WIRE 992 -144 960 -144 +WIRE 1040 -144 992 -144 +WIRE 1216 -128 1104 -128 WIRE 384 -112 384 -176 +WIRE 880 -112 720 -112 +WIRE 992 -112 960 -112 +WIRE 1040 -112 992 -112 WIRE 192 -80 144 -80 +WIRE 1408 -80 1408 -224 +WIRE 1408 -80 1280 -80 WIRE 320 -64 256 -64 -WIRE 112 -48 80 -48 +WIRE 1504 -64 1200 -64 +WIRE -304 -48 -336 -48 +WIRE -176 -48 -224 -48 +WIRE -64 -48 -96 -48 +WIRE 112 -48 -64 -48 WIRE 192 -48 112 -48 -WIRE 80 0 80 -48 +WIRE 800 -48 800 -144 +WIRE 720 -16 720 -112 +WIRE 1504 -16 1504 -64 +WIRE 1504 -16 1488 -16 +WIRE -64 0 -64 -48 +WIRE 992 0 992 -112 +WIRE 1104 0 992 0 +WIRE 1200 0 1200 -64 +WIRE 1200 0 1184 0 +WIRE 1424 0 1200 0 WIRE 144 16 144 -80 WIRE 384 16 384 -16 WIRE 384 16 144 16 +WIRE 1552 16 1552 -96 +WIRE 1552 16 1488 16 WIRE 384 48 384 16 -WIRE 80 112 80 80 +WIRE 1552 80 1552 16 WIRE 384 160 384 128 WIRE 576 160 576 -176 WIRE 576 160 384 160 -WIRE 80 208 80 192 +WIRE -336 192 -336 -48 +WIRE -64 192 -64 80 +WIRE -64 192 -336 192 +WIRE -64 208 -64 192 WIRE 384 208 384 160 -FLAG 80 208 0 +WIRE 720 208 720 64 +WIRE 1552 240 1552 160 +FLAG -64 208 0 FLAG 384 208 0 FLAG 224 -96 V+ FLAG 224 -32 V- @@ -30,36 +66,100 @@ FLAG 256 -304 V+ FLAG 96 -144 V- FLAG 192 -192 0 FLAG 112 -48 IN +FLAG 1552 240 0 +FLAG 800 -48 0 +FLAG 1456 -32 V+ +FLAG 1456 32 V- +FLAG 720 208 0 +FLAG 1072 -160 V+ +FLAG 1072 -96 V- SYMBOL res 368 32 R0 SYMATTR InstName R1 -SYMATTR Value 50 +SYMATTR Value 5 SYMBOL res 368 -272 R0 SYMATTR InstName R2 -SYMATTR Value 150 +SYMATTR Value 270 SYMBOL npn 320 -112 R0 SYMATTR InstName Q1 SYMATTR Value 2N3904 -SYMBOL voltage 80 -16 R0 +SYMBOL voltage -208 -48 R90 WINDOW 3 24 44 Left 2 WINDOW 123 24 72 Left 2 WINDOW 39 0 0 Left 2 -SYMATTR Value SINE(0.75 0.75 500) +SYMATTR Value SINE(1.5 1.5 500) SYMATTR InstName V1 SYMBOL voltage 576 -272 R0 +WINDOW 123 0 0 Left 2 +WINDOW 39 0 0 Left 2 SYMATTR InstName V2 SYMATTR Value 5 -SYMBOL Opamps\\AD8552 224 -128 R0 -SYMATTR InstName U1 SYMBOL voltage 256 -320 R0 +WINDOW 123 0 0 Left 2 +WINDOW 39 0 0 Left 2 SYMATTR InstName V3 -SYMATTR Value 10 +SYMATTR Value 12 SYMBOL voltage 96 -240 R0 +WINDOW 123 0 0 Left 2 +WINDOW 39 0 0 Left 2 SYMATTR InstName V4 +SYMATTR Value -12 +SYMBOL res -80 -64 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R3 +SYMATTR Value 19k +SYMBOL res -80 -16 R0 +SYMATTR InstName R4 +SYMATTR Value 1K +SYMBOL npn 1216 -176 R0 +SYMATTR InstName Q2 +SYMATTR Value 2N3904 +SYMBOL res 1200 -240 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R5 +SYMATTR Value 40k +SYMBOL res 1200 -16 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R6 +SYMATTR Value 40k +SYMBOL res 976 -160 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R7 +SYMATTR Value 40k +SYMBOL res 976 -128 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R8 +SYMATTR Value 40k +SYMBOL res 1568 -80 R180 +WINDOW 0 36 76 Left 2 +WINDOW 3 36 40 Left 2 +SYMATTR InstName R9 SYMATTR Value 10 -SYMBOL voltage 80 96 R0 +SYMBOL res 1568 176 R180 +WINDOW 0 36 76 Left 2 +WINDOW 3 36 40 Left 2 +SYMATTR InstName R10 +SYMATTR Value 140 +SYMBOL voltage 720 -32 R0 WINDOW 3 24 44 Left 2 -WINDOW 123 0 0 Left 2 +WINDOW 123 24 72 Left 2 WINDOW 39 0 0 Left 2 -SYMATTR Value 0 +SYMATTR Value SINE(0.15 0.15 500) SYMATTR InstName V5 -TEXT 32 296 Left 2 !.tran 0 10ms 0 100us +SYMBOL Opamps\\opamp2 1456 -64 M0 +SYMATTR InstName U4 +SYMATTR Value ad8603 +SYMBOL Opamps\\opamp2 1072 -192 R0 +SYMATTR InstName U1 +SYMATTR Value ad8603 +SYMBOL Opamps\\opamp2 224 -128 R0 +SYMATTR InstName U2 +SYMATTR Value ad8616 +TEXT 32 296 Left 2 !.tran 0 2ms 0 100us +TEXT 384 304 Left 2 !.include ad8616.cir +TEXT 384 336 Left 2 !.include ad8603.cir +TEXT 384 360 Left 2 !.include lm358.cir diff --git a/ltspice/current source/current_source.op.raw b/ltspice/current source/current_source.op.raw index 81c9956ddfd0e4d073ea273891cd70a04b1ac8db..59bef71f8b8e232667a488fa7f3297fa17a0bfa3 100644 GIT binary patch literal 3496 zcmbVOO-vI(82u9Cp(RlhE^0h9;R1-Y?H1aiE?Xd&8X}0$cxWW$uM(lfb|G@r3m1P5 zN&-egOg!jWjmA)a(1TH9ym%%aycusEjqjV;vRmDC2eavHcjmpB?|bi?*&U{7GHHe; zsgpv~ieC@@ zdUI&!!7mGhiB&4#bC28TXx(TSD_4LEV(mO;m67&=JB@kLSfh-4jH05|5Ph7IXd`I3 zKZ212*n^0v1bz{-%v!SyfX!L*yweydfH4RZ|2M(u11FE(icp86&!ZsT;U))B&%FNLRWB=s4ITxe=A`BqMX5_@GC#eO`3qmW-umJTK z6|F->Jy5YaRJ#XCt3#zcP;mz;iuK*&YPV1es0epN$2Q`K2O?o1cn`SGk#xiofuHWE zR2@q5Kt=yhJm!gWYR)Y8RioJPP6rd7xO&|?JaP5Pd&kGxXRs%l=?r4v=q6At3)p>p z#*LzNo`AB7*o_R%j-7DWpA2T)35Ol4#U^XVKQ{KS7MmJ}&ssY+RSx@_K{i9EYU!$9 zY%$@n7=|3~%>EO?h?lVK~JAa1so*8lv z`ZJ{S%uuUi&GMZYYOZVI1Z8!zikWNMo@W&^*O0GtFsqokhM8*&)y!+2XO%OTo?k}p z{EqCjcojU2i8re0dRA!ohT+(3o{Z3+C;hj1{4VCx$)73fz-IFMTZI|7>cM96J70|{ zPXoz}DytK>s>9}~sS~$q#OA506Sr!`W~!?rYsO}(tK+Pl*bdZj)(-Pj)p6Di^VHRG z)($gO)nS}n=gd@7r(1mG@;B}xI6?Y&=zGhz_hb;Q8~2)m#+5xwxy?cpL}Jkt{l)CzTP(WB}>)9+a>+ysldiavF&)zozME?Utg+6 z1Az_x-I_X>`f=@QvUVTJ+)d*5l(E3+-2Y;KTUYPe&F8I`CUhQa43D)mhVu`)8=fTE n?(a$g^Q3qH delta 521 zcmZ1>{YP-Z4%HBb42Dt$1qMfk0)`?WZOC8@CM_APz-%iZ-)!RDa%Lk2lg;6bjEwy8 z44DjhKsk_F1qP$ZrcBCEF(WKu5YtfAnP5>z9rH?=oG1TaQk$H?A~o59*@)3-@B;U6o2alG$ln7J|NmNF2Z+}I#jHVcKz%y^g|L56 diff --git a/ltspice/current source/current_source.raw b/ltspice/current source/current_source.raw index adaf7e492cea7f8191c3262fd7c7a9e65afea85b..abd56811fb2cd6e534dc3e27ee38ee38e05fa4e1 100644 GIT binary patch literal 9274 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 vN9m2mr_z;7^tk4I6 literal 39482 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 b*k;W`Enwd2v^&wNryC25!dmXvDct`7`&AL2 diff --git a/ltspice/current source/lm358.cir b/ltspice/current source/lm358.cir new file mode 100644 index 0000000..61330b7 --- /dev/null +++ b/ltspice/current source/lm358.cir @@ -0,0 +1,45 @@ +* LM358 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT +* CREATED USING PARTS RELEASE 4.01 ON 09/08/89 AT 10:54 +* (REV N/A) SUPPLY VOLTAGE: +/-5V +* CONNECTIONS: NON-INVERTING INPUT +* | INVERTING INPUT +* | | POSITIVE POWER SUPPLY +* | | | NEGATIVE POWER SUPPLY +* | | | | OUTPUT +* | | | | | +.SUBCKT LM358 1 2 3 4 5 +* + C1 11 12 5.544E-12 + C2 6 7 20.00E-12 + DC 5 53 DX + DE 54 5 DX + DLP 90 91 DX + DLN 92 90 DX + DP 4 3 DX + EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5 + FB 7 99 POLY(5) VB VC VE VLP VLN 0 15.91E6 -20E6 20E6 20E6 -20E6 + GA 6 0 11 12 125.7E-6 + GCM 0 6 10 99 7.067E-9 + IEE 3 10 DC 10.04E-6 + HLIM 90 0 VLIM 1K + Q1 11 2 13 QX + Q2 12 1 14 QX + R2 6 9 100.0E3 + RC1 4 11 7.957E3 + RC2 4 12 7.957E3 + RE1 13 10 2.773E3 + RE2 14 10 2.773E3 + REE 10 99 19.92E6 + RO1 8 5 50 + RO2 7 99 50 + RP 3 4 30.31E3 + VB 9 0 DC 0 + VC 3 53 DC 2.100 + VE 54 4 DC .6 + VLIM 7 8 DC 0 + VLP 91 0 DC 40 + VLN 0 92 DC 40 +.MODEL DX D(IS=800.0E-18) +.MODEL QX PNP(IS=800.0E-18 BF=250) +.ENDS + \ No newline at end of file