Escolar Documentos
Profissional Documentos
Cultura Documentos
A Tutorial
Modelling Operational Ampliers
Mike Brinson
Copyright c 2006, 2007 Mike Brinson <mbrin72043@yahoo.co.uk> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled GNU Free Documentation License.
Introduction
Operation ampliers (OP AMP) are a fundamental building block of linear electronics. They have been widely employed in linear circuit design since they were rst introduced over thirty years ago. The use of operational amplier models for circuit simulation using SPICE and other popular circuit simulators is widespread, and many manufacturers provide models for their devices. In most cases, these models do not attempt to simulate the internal circuitry at device level, but use macromodelling to represent amplier behaviour as observed at the terminals of a device. The purpose of this tutorial note is to explain how macromodels can be used to simulate a range of the operational amplier properties and to show how macromodel parameters can be obtained from manufacturers data sheets. This tutorial concentrates on models that can be simulated using Qucs release 0.0.9.
Equation R3 R=47 k Vin V1 U=1 V R4 R=4.7 k OP1 G=1e6 Eqn1 d1=dB(Vout.v) d2=phase(Vout.v)
Vout
dc simulation
DC1
ac simulation
AC1 Type=log Start=1 Hz Stop=100 MHz Points=801
Figure 1: Qucs schematic for a basic OP AMP inverting amplier:Qucs OP AMP has G=1e6 and Umax=15V. DC and AC dierential gain, (2) input bias current, (3) input current and voltage osets, (4) input impedance, (5) common mode eects, (6) slew rate eects, (7) output impedance, (8) power supply rejection eects, (9) noise, (10) output voltage limiting, (11) output current limiting and (12) signal overload recovery eects. The exact mix of selected properties largely depends on the purpose for which the model is being used; for example, if a model is only required for small signal AC transfer function simulation then including the output voltage limiting section of an OP AMP model is not necessary or indeed may be considered inappropriate. In the following sections of this tutorial article macromodels for a number of the OP AMP parameters listed above are developed and in each case the necessary techniques are outlined showing how to derive macromodel parameters from manufacturers data sheets.
Vout.v
-10
-20
10
100
1e3
1e4 Frequency Hz
1e5
1e6
1e7
1e8
40
dB(Vout.v)
20
10
100
1e3
1e4 Frequency Hz
1e5
1e6
1e7
1e8
200
10
100
1e3
1e4 Frequency Hz
1e5
1e6
1e7
1e8
Figure 2: Gain and phase curves for a basic OP AMP inverting amplier.
T6 P_VCC
T7
T14
T15
T24 T27
T3 VIN_P
T4
T21 T26
VOUT
T2
T5 T17 T13
R9 R=40k T23
T11
T12
T8
T19
R4 R=1k
R3 R=50k
R2 R=1k
R7 R=50
R8 R=50k
T20
P_VEE
10
Vout.v
20 dB(Vout.v)
phas(Vout.v)
100
10
100
1e5
1e6
1e7
Figure 4: Gain and phase curves for a times 10 inverting amplier with the OP AMP represented by a transistor level UA741 model.
R2 R=47k Ohm Vin V1 U=1 V R3 R=4.7k Ohm SRC1 G=1 S T=0 R1 R=200k Ohm C1 C=159.15nF OP1 G=1 Equation Eqn1 d2=phase(Vout.v) d1=dB(Vout.v) Vout
dc simulation
DC1
ac simulation
AC1 Type=lin Start=1 Hz Stop=10 MHz Points=1800
Figure 5: Modied Qucs OP AMP model to include single pole frequency response. 5
10
Vout.v
20 dB(Vout.v)
-20 1 200 phase(Vout.v) Degrees 10 100 1e3 Frequency Hz 1e4 1e5 1e6 1e7
150
Figure 6: Gain and phase curves for the circuit shown in Fig. 5.
scaled voltages do not propagate outside individual blocks. Each block can be modelled with a Qucs subcircuit that has the required specication and buering from other blocks. Moreover, all subcircuits are self contained entities where the internal circuit details are hidden from other blocks. Such an approach is similar to structured high-level computer programming where the internal details of functions are hidden from users. Since the device characteristics specied by each block are separate from all other device characteristics only those amplier characteristics which are needed are included in a given macromodel. This approach leads to a genuinely structured macromodel. The following sections present the detail and derivation of the electrical networks forming the blocks drawn in Fig. 7. To illustrate the operation of the modular OP AMP macromodel the values of the block parameters are calculated for the UA741 OP AMP and used in a series of example simulations. Towards the end of this tutorial note data are presented for a number of other popular general purpose operational ampliers.
3. IB = Ib1 = Ib2 = 80 nA. 4. IOFF = 20 nA and Io1 = 10 nA. 5. VOFF = 0.7 mV and Vo1 = Vo2 = 0.35 mV.
In+
In-
Input Stage
Signal adder
Vcc In+
InVee
Output stage
Vcc
Vee
10
The dierential output signal (VD) is given by V D P 1 V D N 1 and the common mode output signal (VCM ) by (V D P 1 + V D N 1)/2.
Voff1 U=0.35mV Ib1 I=80nA Ioff1 I=10nA Voff2 U=0.35mV Ib2 I=80nA R1 R=1M Ohm VCM1 Input stage InVd-
IN_N1
Vcm
R2 R=1M Ohm
In+
Vd+
IN_P1
VD_P1
SUB1 File=input_stage.sch
vout(P OLE 1 OU T 1) =
(1)
IN_N1
Aol Aol(DC)
fp1
GBP
f Hz
Figure 10: OP AMP open loop dierential voltage gain as a function of frequency. Where
1 (2) 2 RADO CP 1 Let RADC = Aol(DC) and GMP1 = 1 S. Then, because fp1*AOL(DC) = GBP, fP 1 = CP 1 = 1 2 GBP (3)
13
IN_N1
Output stage.
The electrical network representing a basic output stage is given in Fig. 11, where 1. RD1 = 100 M = A dummy input resistor - added to ensure nodes IN P 1 and IN N 1 are connected by a DC path. 2. EOS1 G = 1 = Unity gain voltage controlled voltage generator. 3. ROS1 = OP AMP output resistance. A typical value for the UA741 OP AMP output resistance is ROS1 = 75.
14
SUB2 File=input_stage.sch
In+ IN_P1
Vd+
POLE1 IN+ Output stage In+ Out InIn+ SUB3 File=out_stage.sch SUB5 File=op_amp_ac_IP1O.sch InOUT1
OUT
OP AMP IP1O
SUB4 File=pole1.sch
15
dc simulation
DC1 number 1 vout.V 0.0068 vout3.V 0.0069
ac simulation
AC1 Type=lin Start=1 Hz Stop=10 MHz Points=1801 R1 R=10k Ohm
OP AMP IP1O
SUB5 In+
vout3
V2 U=15 V
V3 U=15 V
Figure 13: Test circuit for an inverting amplier. Output signals: (1) vout for AC macromodel, (2) vout3 for UA741 transistor model.
16
20 dB(vout.v)
200
150
100
-20
10
100
1e6
1e7
20 db(vout3.v)
200
100
-20
10
100
1e6
1e7
Figure 14: Simulation test results for the circuit shown in Fig. 13.
17
vout(P OLE 2 OU T 1) =
(4)
V (IN P 2) V (IN N 2) 1 + j ( CP 2)
(5)
(6)
IN_N2
ac simulation
R1 R=10M Ohm C1 C=100mF vin V1 U=1 V
In-
AC1 Type=log Start=1 Hz Stop=100MHz Points=241 vout Equation Eqn1 y4=rad2deg(unwrap(angle(vout3.v))) y=dB(vout.v) y3=dB(vout3.v) y2=phase(vout.v)
OP AMP IP1P2O
In+
dc simulation
DC1 V2 U=15 V
SUB2
C2 C=100 mF
vout3
V3 U=15 V
Figure 16: Test circuit for simulating OP AMP open loop dierential gain.
Aol(f ) << 1, equation (7) becomes vout(f ) Aol(f ) vin(f ). RC Hence, for those frequencies where this condition applies vout(f ) = Aol(f ) when vin(f ) = 1 V. Figure 17 shows plots of the open loop simulation data. Clearly with the test circuit time constant set at 1e6 seconds the data is accurate for frequencies down to 1 Hz.
19
1e5 1e4 vout3.v 1 10 100 1e3 1e4 1e5 1e6 1e7 1e8 Frequency Hz 1e3 100 10 1 0.1 0.03
vout.v
10
100 dB(vout3.v) 1 10 100 1e3 1e4 1e5 1e6 1e7 1e8 Frequency Hz phase(vout3.v) degrees dB(vout.v)
100
-100
10
phase(vout.v) degrees
-100
-200
-200
10
10
Figure 17: Simulation test results for the circuit shown in Fig. 16.
20
Similarly, the common-mode gain ACM (f ) can be represented by the same singlepole response and a single zero response given by 1+j ACM (f ) = ACM (0) f (9) fCM Z f 1+j fP D
Dening the common-mode rejection ratio CM RR(f ) of an OP AMP as CM RR(f ) = gives CM RR(f ) = CM RR(0) 1+j where CM RR(0) = AD (0) ACM (0) 1 f fCM Z (12) (11) AD (f ) ACM (f ) (10)
Common-mode eects can be added to OP AMP macromodels by including a stage in the modular macromodel that introduces a zero in the amplier frequency response. Output VCM from the macromodel input stage senses an amplier common mode signal. This signal, when passed through a CR network generates the required common mode zero. Figure 18 gives the model of the zero generating network, where. 1. RDCMZ = 650 M = common-mode input resistance/2. 2. RCM1 = 1 M RCM 1 3. ECM1 G = 31.623 = RCM 2 . (NOTE: RCM1/RCM2 is a scaling factor.) CM RR(0) 21
IN_P1
RDCMZ R=650M
RCM1 R=1M
IN_N1
CCM1 C=795.8 pF
Figure 18: Common-mode zero macromodel 4. CCM1 = 795.8 pF = 5. RCM2 = 1 Typical values for the UA741 OP AMP are: 1. Common-mode input resistance = 1300 M. 2. CMRR(0) = 90 dB 3. fCM Z = 200 Hz. The AC voltage transfer function for the common-mode zero transfer function is RCM 2 1 + j RCM 1 CCM 1 [V (IN_P1) V (IN_N1)] RCM 1 1 + j RCM 2 CCM 1 (13) 1 . 2 RCM 1 fCM Z
V out(CMV_OUT1) = G(ECM 1)
RCM 2 As << 1, the pole introduced by the common-mode RC network is at a RCM 1 very high frequency and can be neglected. Combining the common-mode zero with the previously dened stage models yields the macromodel shown in Fig. 19. In this model the dierential and common-mode signals are combined using a simple analogue adder based on voltage conrolled current generators.
22
SUB6
In+ IN_N1
Vd+
VSUM IN1+
IN1-
Vcm
POLE1 IN+ OUT INSUB4 INSUB3 InOP_AMP ICMZP1P2O In+ InSUB2 POLE2 IN+ OUT Output stage In+ Out
OUT IN2+
InIN_P1
IN2-
OUT1
SUB5
SUB7 File=op_amp_ac_ICMZP1P2O.sch
WHERE
VSUM IN1+
IN1_P1
RSUM1 R=1
SUM_OUT1
IN1OUT IN2+
IN1_N1
IN2-
IN2_P1
SUB8 File=VSUM.sch
IN2_N1
23
dc simulation
DC1 vin V1 U=1 V R2 R=10k In+ R3 R=10k In-
R1 R=10k
ac simulation
AC1 Type=log Start=1 Hz Stop=10 kHz Points=401
OP_AMP ICMZP1P2O
vout
vout3
V2 U=15 V
+
R7 R=10k R8 R=10k
V3 U=15 V
Figure 20: Simulation of OP AMP common-mode performance. resistors are shown plotted in Fig. 21, where vout(0) 1 = . Clearly the vin CM RR(0) test results for the macromodel and the UA741 transistor model are very similar. In the case of the macromodel typical device parameters were used to calculate the macromodel component values. However, in the transistor level model the exact values of the component parameters are unknown.6
The UA741 transistor level model is based on an estimate of the process parameters that determine the UA741 transistor characteristics. Hence, the device level model is unlikely to be absolutely identical to the model derived from typical parameters values found on OP AMP data sheets. From the simulation results the CMRR(0) values are approximately (1) macromodel 90 dB, (2) UA741 transistor model 101 dB. Similarly, the common-mode zero frequencies are approximately (1) macromodel 200 Hz, (2) UA741 transistor model 500 Hz.
24
1e-3
10
100 Frequency Hz
1e3
1e4
1e-4
10
100 Frequency Hz
1e3
1e4
Figure 21: Simulation test results for the circuit shown in Fig. 20.
25
CP 1
(15)
1 dV (P OLE 1 OU T 1) 2 GBP dt
(16)
26
D1
IN_P1
IN_N1
Figure 22: OP AMP slew rate macromodel. Therefore, voltage dierence V (IN P 1) V (IN N 1) must be set to 1 dV (P OLE 1 OU T 1) . 2 GBP dt
This is done by the network SLEWRT shown in Fig. 22, where 1. RSCALE1 = 100 = Scaling resistance (Scale factor x 100). 2. SRC1 G = 1 S. 3. VSR1 = V1. 4. GMSRT1 G = 0.01 S. (Scale factor = 1/100). 5. RSRT1 = 1 And, 1. V 1 = 2. V 2 = 100 P ositive slew rate 0.7V 2 GBP 100 N egative slew rate 0.7V 2 GBP
3. The diode parameters are IS=1e-12 IBV=20mA BV=V1+V2, others default. Typical values for the UA741 OP AMP are: 1. P ositive slew rate = N egative slew rate = 0.5V/S. 2. V 1 = V 2 = 7.25V. Scaling is used in the slew rate model to allow the use of higher voltages in the clamping circuit. Increased voltages reduce errors due to the forward biased junction voltage. Current limiting results by clamping the voltage across resistor RSCALE 1 with a diode. This diode acts as a zener diode and saves one nonlinear junction when compared to conventional clamping circuits. The output section of 27
the SLEWRT circuit removes the internal scaling yielding an overall gain of unity for the module. The circuit in Fig. 23 demonstrates the eect of slew rate limiting on OP AMP transient performance. Three identical OP AMP inverter circuits are driven from a common input 10 kHz AC signal source. Voltage controlled voltage sources are used to amplify the input signal to the second and third circuits. The three input signals are (1) 5 V peak, (2) 10 V peak and (3) 15 V peak respectively. The input and output waveforms for this circuit are illustrated in Fig. 24. The eect of slew rate limiting on large signal transient performance is clearly demonstrated by these curves. In the case of the 15 V peak input signal the output signal (vout3.Vt) has a slope that is roughly 0.5 V per S.
28
transient simulation
InOP_AMP ICMZ SLEWRT P1P2O vout1 TR1 Type=lin Start=0 Stop=200us
SUB1 File=op_amp_ac_ICMZP1P2O.sch
In+
SUB2 File=op_amp_ac_ICMZP1P2O.sch SRC1 G=2 T=0 InOP_AMP ICMZ SLEWRT P1P2O vout3
In+
29
vin.Vt
-5 0 2e-5 4e-5 6e-5 8e-5 1e-4 time 1.2e-4 1.4e-4 1.6e-4 1.8e-4 2e-4
vout1.Vt
-5 0 2e-5 4e-5 6e-5 8e-5 1e-4 time 1.2e-4 1.4e-4 1.6e-4 1.8e-4 2e-4
10
vout2.Vt
-10 0 20 2e-5 4e-5 6e-5 8e-5 1e-4 time 1.2e-4 1.4e-4 1.6e-4 1.8e-4 2e-4
10 vout3.Vt
-10 0 2e-5 4e-5 6e-5 8e-5 1e-4 time 1.2e-4 1.4e-4 1.6e-4 1.8e-4 2e-4
Figure 24: OP AMP slew rate simulation waveforms for the circuit shown in Fig. 23.
30
P_VCC1 P_VCC2 VOVDRV1 U=2.5 V DOVRV1 Is=8e-16 A VLIM1 U=2 V VCC OVDRV SUB1 File=OVDRV.sch IN P_IN1 DOVDRV1 Is=8e-16 A VOVDRV2 U=2.5 V VEE P_IN2
DVL1 Is=8e-16 A
DVL2 Is=8e-16 A
VCC
P_VEE1
P_VEE2
Figure 25: OP AMP overdrive and output voltage limiting macromodels. 4. VLIM2 = 2.0 V = (- supply voltage) - (Maximum negative output voltage) + 1 V. 5. The diode parameters are Is = 8e-16 A, others default. Typical values for the UA741 OP AMP are: 1. Amplier recovery time 5 S. 2. + supply voltage = 15 V. 3. - supply voltage = -15 V. 4. Maximum positive output voltage = 14 V. 5. Maximum negative output voltage = -14 V. The test circuit given in Fig. 26 illustrates the eects of signal overdrive and output voltage clamping on a unity gain buer circuit. The test input signal is a 1 kHz signal with the following drive voltages (1) vin1 = 10 V peak, (2) vin2 = 18 V peak, and (3) vin3 = 22 V peak. The corresponding output waveforms are shown in Fig. 27. These indicate that increasing overdrive signals results in longer OP AMP recovery times before the amplier returns to linear behaviour.
In-
vin1 V1 U=10 V
V3 U=15 V
transient simulation
TR1 Type=lin Start=0 Stop=1.20 ms InVCC vout2
vin2
dc simulation
DC1
VCC vout3
vin3
Figure 26: OP AMP overdrive and output voltage limiting test circuit.
32
10 vout1.Vt vin1.Vt
-10 0 1e-4 2e-4 3e-4 4e-4 5e-4 6e-4 Time 7e-4 8e-4 9e-4 1e-3 0.0011 0.0012
20 vout2.Vt vin2.Vt
-20 0 1e-4 2e-4 3e-4 4e-4 5e-4 6e-4 Time 7e-4 8e-4 9e-4 1e-3 0.0011 0.0012
20 vout3.Vt vin3.Vt
-20 0 1e-4 2e-4 3e-4 4e-4 5e-4 6e-4 Time 7e-4 8e-4 9e-4 1e-3 0.0011 0.0012
Figure 27: OP AMP overdrive and output voltage limiting waveforms for the circuit shown in Fig. 26.
33
D2 Is=1e-15 A
P_IN1 RDCL1 R=100M HCL1 G=36 T=0 ECL1 G=1 T=0 SUB1 File=CLIMIT.sch
Figure 28: OP AMP output current limiter macromodel. output stage. The electrical network shown in Fig. 28 acts as a current limiter: current owing between pins P_IN1 and P_OUT1 is sensed by current controlled voltage generator HCL1. The voltage output from generator HCL1 is in series with voltage controlled generator ECL1. The connection of these generators is in opposite polarity. Hence, when the load current reaches the maximum allowed by the OP AMP either diode DCL1 or DCL2 turns on clamping the OP AMP output voltage preventing the output current from increasing. The parameters for the current limiter macromodel are given by 1. RDCL1 = 100 M = Dummy resistor. 2. ECL1 G = 1. 3. HCL1 G = 36 = 0.9 V/(Maximum output current A). 4. The diode parameters are Is = 1e-15 A, others default. A typical value for the UA741 OP AMP short circuit current is 34 mA at 25o C. Figures 29 and 30 show a simple current limiter test circuit and the resulting test waveforms. In this test circuit time controlled switches decrease the load resistors at 1 mS intervals. When the load current reaches roughly 34 mA the output voltage is clamped preventing further increases in load current.
34
V2 U=15 V InVCC OP_AMP ICMZ SLEWRT OVDRV P1P2O CLIMIT In+ V1 U=10 V SUB1 V3 U=15 V R1 R=1k S1 S2 S3 S4 S5 VEE
vout
vin
R2 R=1k
R3 R=2k
R4 R=2k
R5 R=2k
R6 R=2k
dc simulation
DC1
transient simulation
TR1 Type=lin Start=0 Stop=8 ms
10
vin.Vt
-10 0 5e-4 1e-3 0.0015 0.002 0.0025 0.003 0.0035 0.004 Time 0.0045 0.005 0.0055 0.006 0.0065 0.007 0.0075 0.008
10
vout.Vt
-10 0 5e-4 1e-3 0.0015 0.002 0.0025 0.003 0.0035 0.004 Time 0.0045 0.005 0.0055 0.006 0.0065 0.007 0.0075 0.008
Figure 30: Simulation waveforms for current limiter test circuit shown in Fig. 29.
35
Parameter Oset voltage (V) Bias current (A) Oset current (A) Dierential input res. (ohm) Dierential input cap. (F) Avd(0) dB fp1 (Hz) fp2 (Hz) CMRR(0) dB fcm (Hz) GBP (Hz) Rout (ohm) Slew rate (V per micro sec.) Overdrive recovery time (S) DC supply current (A) Short circuit output current(A) Common-mode input res. (ohm) Common-mode input cap. (F)
UA741 7e-4 80e-9 20e-9 2e6 1.4e-12 106 5 3e6 90 200 1e6 75 0.5 5e-6 1.4e-3 34e-3 1.3e8
OP42 4e-4 130e-12 6e-12 1e12 6e-12 125 120 6 20 17e6 20e6 125 96 2e3 100e3 8e6 10e6 70 50 2.8 50 700e-9 2.5e-3 5.1e-3 32e-3 30e-3 2e9
OPA134 5e-4 5e-12 2e-12 1e13 2e-12 120 5 10e6 100 500 8e6 10 20 0.5e-6 4e-3 40e-3 1e13 5e-12
AD746 3e-4 110e-12 45e-12 2e11 5.5e-12 109 0.25 35e6 85 3e3 13e6 10 75 7e-3 25e-3 2.5e11 5.5e-12
AD826 5e-4 3-3e-6 25e-9 300e3 1.5e-12 75 10e3 100e6 100 2e3 35e6 8 300 6.6e-3 90e-3
36
37
When R1 = R6 = R7 vhp = vin vlp + 2. Also vbp = where f0 = 3. Similarly vlp = 4. Hence 1
f jf 0
(18)
1
f jf 0
(19)
(20)
vhp
(21)
f 2 (f ) vhp 0 = f 2 j f vin 1 (f )( f ) + (Q ) 0 0
(22)
Where
R5 1 Q = (1 + ) 3 R4 j f0 vbp = f 2 f j vin 1 (f ) + (Q )( f ) 0 0
f
(23)
5. Also
(24)
6. Also
vlp 1 = f j f 2 vin 1 ( f0 ) + ( Q )( f ) 0
(25)
Assuming f0 = 1 kHz and the required bandwidth of the band pass lter is 10 Hz, on setting R1 = R6 = R7 = 47k and C 1 = C 2 = 2.2nF , calculation yields R2 = R3 = 72.33k 10 In this design Q = 1k/10 = 100. Hence setting R4 = 1k yields R5 = 294k (1 % tolerance). The simulation waveforms for the band pass
The values of R2 and R3 need to be trimmed if the lter center frequency and bandwidth are required to high accuracy.
10
38
R7 R=47k vin
number 1
vbp.V -0.00149
vhp.V -0.00149
vlp.V 0.000514
R1 R=47k
R2 R=72.33k
C1 C=2.2n
R3 R=72.33k
C2 C=2.2n In-
InOP27 ICMZ P1P2O vhp OP27 ICMZ P1P2O In+ SUB2 vbp
vlp
In+ SUB1
R4 R=1k
R5 R=294 k
dc simulation
DC1
ac simulation
AC1 Type=lin Start=100Hz Stop=1900 Hz Points=500
Figure 31: Three OP AMP state variable lter. output are given in Fig. 32 11 . When the circuit Q factor is reduced to lower values the other lter outputs act as traditional high and low pass lters. The simulation results for Q factor one are shown in Fig. 33.
11 Note that the input signal vin has been set at 0.1 V peak. The circuit has a Q factor of 100 which means that the band pass output voltage is 10 V peak. Input signals of amplitude much greater than 0.1 V are likely to drive the output signal into saturation when the power supply voltages are 15V .
39
40
Av_BP in dB
20
-20 200 400 600 800 1e3 Frequency Hz 1.2e3 1.4e3 1.6e3 1.8e3
100
AV_phase in degrees
50
-50
-100 200 400 600 800 1e3 Frequency Hz 1.2e3 1.4e3 1.6e3 1.8e3
Figure 32: Simulation waveforms for current state variable lter circuit shown in Fig. 31.
40
0.1
vhp.v
0.05
0.1
vlp.v
0.05
Figure 33: State variable low pass and high pass response for Q = 1, R5 = 2k . 2. Feedback factor b= Where f0 = 3. Loop gain The oscillator loop gain bAv must equal one for stable oscillations. Hence, bAv = Moreover, at f = f0 , 1+
R3 R4 f0 ) f f 3 + j( f 0
vout 1 = f v+ 3 + j( f 0
f0 ) f
(27)
1 1 = 2R1C 1 2R2C 2
(28)
3 1+ R R4 bAv = 3
(29)
Setting R3/R4 slightly greater than two causes oscillations to start and increase in amplitude during each oscillatory cycle. Furthermore, if R3/R4 is less than two oscillations will never start or decrease to zero. Figure 35 shows a set of Wien bridge oscillator waveforms. In this example the OP AMP is modelled using the OP27 AC macromodel. This has been done deliberately to demonstrate what happens with a poor choice of OP AMP model. The 41
oscillator frequency is 10 kHz with both feedback capacitors and resistors having equal values. Notice that the oscillatory output voltage continues to grow with increasing time until its value far exceeds the limit set by a practical OP AMP power supply voltages. The lower of the two curves in Fig. 35 illustrates the frequency spectrum of the oscillator output signal. The data for this curve has been generated using the Time2Freq function. Adding slew rate and voltage limiting to the OP27 macromodel will limit the oscillator output voltage excursions to the OP AMP power supply values. The waveforms for this simulation are shown in Fig. 36. When analysing transient response data using function Time2Freq it is advisable to restrict the analysis to regions of the response where the output waveform has reached a steady state otherwise the frequency spectrum will include eects due to growing, or decreasing, transients. The voltage limiting network clips the oscillator output voltage restricting its excursions to below the OP AMP power supply voltages. The clipping is very visible in Fig. 36. Notice also that the output waveform is distorted and is no longer a pure sinusoidal waveform of 10 kHz frequency. Odd harmonics are clearly visible and the fundamental frequency has also decreased due to the signal saturation distortion. In a practical Wien bridge oscillator the output waveform should be a pure sinusoid with zero or little harmonic distortion. One way to achieve this is to change the amplitude of the OP AMP gain with changing signal level: as the output signal increases so Av is decreased or as the output signal level decreases Av is increased. At all times the circuit parameters are changed to achieve the condition bAv = 1. The circuit shown in Fig. 37 uses two diodes and a resistor to automatically change the OP AMP closed loop gain with changing signal level. Fig. 38 shows the corresponding waveforms for the Wien bridge circuit with automatic gain control. Changing the value of resistor R5 causes the amplitude of the oscillator output voltage to stabilise at a dierent value; decreasing R5 also decreases vout. The automatic gain control version of the Wien bridge oscillator also reduces the amount of harmonic distortion generated by the oscillator. This can be clearly observed in Fig. 38. Changing the oscillator frequency can be accomplished by either changing the capacitor or resistor values in the feedback network b. To demonstrate how this can be done using Qucs, consider the circuit shown in Fig. 39. In this circuit time controlled switches change the value of both capacitors as the simulation progresses. The recorded output waveform for this circuit is shown in Fig. 40.
42
C2 C=1 nF
R2 R=15.8k
C1 C=1nF
R1 R=15.8k
dc simulation
DC1 In-
vout
transient simulation
TR1 Type=lin Start=0 Stop=10 ms R4 R=10k R3 R=21k
vout.Vt
-1e11
1e-3
0.002
0.003
0.004
0.005 time
0.006
0.007
0.008
0.009
0.01
Frequency Spectrum
1e9
0 0 5e3 1e4 1.5e4 2e4 2.5e4 Frequency Hz 3e4 3.5e4 4e4 4.5e4 5e4
Figure 35: Simulation waveforms for the circuit shown in Fig. 34: OP27 AC macromodel. 43
10
vout.Vt
-10
1e-3
0.002
0.003
0.004
0.005 time
0.006
0.007
0.008
0.009
0.01
Freq-Specrum
0 0 3e3 6e3 9e3 1.2e4 1.5e4 1.8e4 2.1e4 2.4e4 2.7e4 Frequency 3e4 3.3e4 3.6e4 3.9e4 4.2e4 4.5e4 4.8e4
Figure 36: Simulation waveforms for the circuit shown in Fig. 34: OP27 AC + slew rate + vlimit macromodel.
C2 C=1 nF
R2 R=15.8k
C1 C=1nF SUB1
R1 R=15.8k
dc simulation
DC1
VEE vout
V1 U=15 V V2 U=15 V
VCC
transient simulation
TR1 Type=lin Start=0 Stop=10 ms IntegrationMethod=Trapezoidal Equation Eqn1 fscan=Time2Freq(vout.Vt,time[700:1000]) R4 R=10k R3 R=21k
R5 R=50k
D1
D2
44
vout.Vt
-1 0 1e-3 0.002 0.003 0.004 0.005 time 0.006 0.007 0.008 0.009 0.01
0.4 Freq-Spectrum
0.2
0 0 3e3 6e3 9e3 1.2e4 1.5e4 1.8e4 2.1e4 2.4e4 2.7e4 Frequency Hz 3e4 3.3e4 3.6e4 3.9e4 4.2e4 4.5e4 4.8e4
Figure 38: Simulation waveforms for the circuit shown in Fig. 37: OP27 AC + slew rate + vlimit macromodel.
dc simulation
DC1 S6 C8 C=0.0625nF S5
transient simulation
TR1 Type=lin Start=0 Stop=10 ms IntegrationMethod=Trapezoidal S3 time=8 ms S1 time=7 ms S2 time=6 ms C4 C=0.25nF C2 C=0.5 nF
C7 C=0.125nF
C6 C=0.25nF
S4 R1 R=15.8k
C1 C=0.5nF SUB1 In+ OP27 ICMZ SLWRT R2 R=15.8k P1P2 VLIM O InVEE
C5 C3 C=0.0625nF C=0.125nF
VCC
R4 R=10k
R3 R=21k
R5 R=50k
D1
D2
Figure 39: Wien bridge oscillator with switched capacitor frequency control. 45
vout.Vt
-1 0 1e-3 0.002 0.003 0.004 0.005 time 0.006 0.007 0.008 0.009 0.01
1 vout.Vt
-1 0.005 0.0051 0.0052 0.0053 0.0054 time 0.0055 0.0056 0.0057 0.0058 0.0059
vout.Vt
-1 0.006 0.0061 0.0062 0.0063 0.0064 time 1 0.0065 0.0066 0.0067 0.0068 0.0069
vout.Vt
-1 0.007 0.0071 0.0072 0.0073 0.0074 time 0.0075 0.0076 0.0077 0.0078 0.0079
vout.Vt
-1 0.008 0.0081 0.0082 0.0083 0.0084 time 0.0085 0.0086 0.0087 0.0088 0.0089
Figure 40: Simulation waveforms for the circuit shown in Fig. 39: OP27 AC + slew rate + vlimit macromodel.
46
47
Voff1 U=0.35m V Ib1 I=80nA Ioff1 I=10nA Ib2 I=80nA R1 R=1M Cin1 C=1.4 pF R2 R=1M RSUM1 R=1
P_INN
SRC1 G=1 S
Voff2 U=0.35m V
ECM1 G=31.623
RSCALE1 R=100
VSR1 U=7.26 V
RSRT1 R=1
RADO R=200k
CP1 C=159.15nF
SRC3 G=1 S
GMP1 G=1 S
RP2 R=1
CP2 C=53.05nF
GMP2 G=1 S
D2 Is=1e-15 A
D3 Is=1e-15 A
DVL1 Is=8e-16 A
RDCCL1 R=100M
HCL1 G=35
P_OUT
VLIM2 U=2 V
P_VEE
Figure 41: Modular OP AMP macromodel in schematic form - this model does not include signal overloading.
48
49
V OS = IS 1 1 + Vt
,where V t = 26e-3 V.
C2 SR+ , where SR+ is the positive slew rate. 2 IOS IOS and IB 2 = IB + 2 2
3. IC 2 = IC 1 4. IB 1 = IB 5. B1 =
IC 2 IC 1 and B2 = IB 1 IB 2 B1 + 1 B2 + 1 + IC 1 B1 B2 1 2GBP C2 B1 + B2 1 IC 1 , and RE 2 = RE 1 RC 1 , where gm1 = 2 + B1 + B2 gm1 Vt , where 180 = 90o m and m is the phase
6. IEE = 7. RC 1 =
8. RC 2 = RC 1 9. RE 1 =
1 CM M RRC 1
1 RC 1 AvOLRC 1 R2RO2
14. ISD1 = IX exp (T M P 1)+1e-32, where IX = 2 IC 1 R2 GB IS 1 , 1 and T M P 1 = IS 1 RO1 Vt 15. RC = Vt IX ln (T EM P 2), where T EM P 2 = 100 IX ISD1
50
ISCP IS 1 ISCN IS 1
Rather than calculate the Boyle macromodel component values by hand using a calculator it is better to use a PS2SP preprocessor template that does these calculations and also generates the Boyle SPICE netlist. A template for this task is given in Fig. 45. The parameters at the beginning of the listing are for the UA741 OP AMP. In Fig. 45 the macromodel internal nodes are indicated by numbers and external nodes by descriptive names. This makes it easier to attach the macromodel interface nodes to a Qucs schematic symbol. The SPICE netlist shown in Fig. 46 was generated by SP2SP.
Model accuracy
The modular and Boyle OP AMP macromodels are examples of typical device models in common use with todays popular circuit simulators. A question which often crops up is which model is best to use when simulating a particular circuit? This is a complex question which requires careful consideration. One rule of thumb worth following is always validate a SPICE/Qucs model before use. Users can then check that a specic model does simulate the circuit parameters that control the function and accuracy of the circuit being designed18 . One way to check the performance of a given model is to simulate a specic device parameter. The simulation results can then be compared to manufacturers published gures and the accuracy of a model easily determined. By way of an example consider the simulation circuit shown in Fig. 47. In this circuit the capacitors and inductors ensure that the devices under test are in ac open loop mode with stable dc conditions. Figure 48 illustrates the observed simulation gain and phase results for four dierent OP AMP models. Except at very high frequencies, which are outside device normal operating range, good agreement is found between manufacturers data and that recorded by the open loop voltage gain test for both the modular and Boyle macromodels.
An interesting series of articles by Ron Mancini, on verication and use of SPICE models in circuit design can be found in the following editions of EDN magazine:Validate SPICE models before use, EDN March 31, 2005 p.22; Understanding SPICE models, EDN April 14, p 32; Verify your ac SPICE model, EDN May 26, 2005; Beyond the SPICE models dc and ac performance, EDN June 23 2005, and Compare SPICE-model performance, EDN August 18, 2005.
18
51
s u b c i r c u i t p o r t s : in+ in p out p v c c p v e e . s u b c k t opamp ac in p in n p out p v c c p v e e OP27 OP AMP p a r a m e t e r s . param v o f f = 30 . 0u i b = 15n i o f f = 12n . param rd = 4meg cd = 1 . 4p cmrrdc = 1 . 778 e6 . param fcmz = 2000 . 0 a o l d c = 1 . 778 e6 gbp = 8meg . param f p 2 = 17meg p s l e w r=2 . 8 e6 n s l e w r=2 . 8 e6 . param vccm=15 vpoutm=14 veem=15 . param vnoutm=14 idcoutm=32m r o=70 . 0 . param p1={ ( 1 0 0 p s l e w r ) / ( 2 3 . 1412 gbp ) 0 . 7 } . param p2={ ( 1 0 0 n s l e w r ) / ( 2 3 . 1412 gbp ) 0 . 7 } input stage v o f f 1 in n 6 { v o f f /2 } v o f f 2 7 in p { v o f f /2 } ib1 0 6 {ib} ib2 7 0 {ib} i o f f 1 7 6 { i o f f /2 } r1 6 8 { rd /2 } r2 7 8 { rd /2 } c i n 1 6 7 { cd } commonmode z e r o s t a g e ecm1 12 0 8 0 { 1 e6 / cmrrdc } rcm1 12 13 1meg ccm1 12 13 { 1 / ( 2 3 . 1412 1 e6 fcmz ) } rcm2 13 0 1 d i f f e r e n t i a l and commonmode s i g n a l summing s t a g e gmsum1 0 14 7 6 1 gmsum2 0 14 13 0 1 rsum1 14 0 1 slew rate stage g s r c 1 0 15 13 0 1 r s c a l e 1 15 0 100 d s l 15 16 { d s l e w r a t e } . model d s l e w r a t e d ( i s=1 e 12 bv= { p1+p2 } ) v s r 1 16 0 { p1 } gmsrt1 0 17 15 0 0 . 01 r s r t 1 17 0 1 voltage gain stage 1 gmp1 0 9 17 0 1 rado 9 0 { a o l d c } cp1 9 0 { 1 / ( 2 3 . 1412 gbp ) } voltage gain stage 2 gmp2 0 11 9 0 1 rp2 11 0 1 cp2 11 0 { 1 / ( 2 3 . 1412 f p 2 ) } out put s t a g e e o s 1 10 0 11 0 1 r o s 1 10 50 { r o } out put c u r r e n t l i m i t e r s t a g e r d c l 1 50 0 100meg d c l 1 21 50 d c l i m d c l 2 50 21 d c l i m . model d c l i m d ( i s=1 e 15 c j 0=0 . 0 ) v c l 1 50 p out 0v h c l 1 0 22 v c l 1 { 0 . 9/ idcoutm } e c l 1 21 22 50 0 1 voltage limiting stage d v l 1 p out 30 d v l i m i t . model d v l i m i t d ( i s=8 e 16) d v l 2 40 p out d v l i m i t v l i m 1 p v c c 30 { vcc vccm+1} v l i m 2 40 p v e e { v e e +veem+1} . ends . end
s u b c i r c u i t p o r t s : in+ in p out p v c c p v e e i n f i l e =op27 . pp d a t e=Tue Feb 13 17 : 32 : 37 2007 Converted with p s 2 s p . p l V4 . 11 o p t i o n s : sp3=0 l t s p i c e =0 fromsub=0 f r o m l i b=0 c h e c k=0 ( t i n y l i n e s=1 ) c o p y r i g h t 2007 by F r i e d r i c h Schmidt terms of Gnu L i c e n c e . s u b c k t opamp ac in p in n p out p v c c p v e e v o f f 1 in n 6 1 . 5 e 05 v o f f 2 7 in p 1 . 5 e 05 i b 1 0 6 1 . 5 e 08 i b 2 7 0 1 . 5 e 08 i o f f 1 7 6 6 e 09 r 1 6 8 2000000 r 2 7 8 2000000 c i n 1 6 7 1 . 4 e 12 ecm1 12 0 8 0 0 . 56 2429 6962 8796 4 rcm1 12 13 1meg ccm1 12 13 7 . 95874188208328 e 11 rcm2 13 0 1 gmsum1 0 14 7 6 1 gmsum2 0 14 13 0 1 rsum1 14 0 1 g s r c 1 0 15 13 0 1 r s c a l e 1 15 0 100 d s l 15 16 0 . model d s l e w r a t e d ( i s=1 e 12 bv= 9 . 7422386349166 ) v s r 1 16 0 4 . 8711193174583 gmsrt1 0 17 15 0 0 . 01 r s r t 1 17 0 1 gmp1 0 9 17 0 1 rado 9 0 1778000 cp1 9 0 1 . 98968547052082 e 08 gmp2 0 11 9 0 1 rp2 11 0 1 cp2 11 0 9 . 36322574362739 e 09 e o s 1 10 0 11 0 1 r o s 1 10 50 70 r d c l 1 50 0 100meg d c l 1 21 50 d c l i m d c l 2 50 21 d c l i m . model d c l i m d ( i s=1 e 15 c j 0=0 . 0 ) v c l 1 50 p out 0v h c l 1 0 22 v c l 1 28 . 125 e c l 1 21 22 50 0 1 d v l 1 p out 30 d v l i m i t . model d v l i m i t d ( i s=8 e 16) d v l 2 40 p out d v l i m i t v l i m 1 p v c c 30 14 v l i m 2 40 p v e e 14 . ends . end
53
P_VCC
RO1
CEE
IEE
REE
P_VEE
P_INP
54
Boyle macromodel t e m p l a t e f o r Qucs . D e s i g n p a r a m e t e r s ( For UA741 ) . param v t=26 e 3 $ Thermal v o l t a g e a t room temp . . param c2=30 e 12 $ Compensation c a p a c i t a n c e . param p o s i t i v e s l e w r a t e=0 . 625 e6 n e g a t i v e s l e w r a t e=0 . 50 e6 $ Slew r a t e s . param i s 1=8 . 0 e 16 $ T1 l e a k a g e c u r r e n t . param v o s=0 . 7 e 3 i b=80n i o s=20n $ I n p u t v o l t a g e and c u r r e n t p a r a m e t e r s . param va=200 $ Nominal e a r l y v o l t a g e . param gbp=1 . 0 e6 $ Gain bandwidth p r o d u c t . param pm =70 $ E x c e s s phase a t u n i t y g a i n . . param cmrr=31622 . 8 $ Commonmode r e j e c t i o n r a t i o ( 9 0 dB) . param a v o l=200 k $ DC open l o o p d i f f e r e n t i a l g a i n . param r o 2=489 . 2 $ DC outpu t r e s i s t a n c e . param r o 1=76 . 8 $ High f r e q u e n c y AC outp ut r e s i s t a n c e . param r 2=100 k =15 v . param vout p=14 . 2 $ P o s i t i v e s a t u r a t i o n v o l t a g e f o r VCC =15v . param vout n=13 . 5 $ N e g a t i v e s a t u r a t i o n v o l t a g e f o r VCC . param v c c=15 $ P o s i t i v e power s u p p l y v o l t a g e . param v e e=15 $ N e g a t i v e power s u p p l y v o l t a g e . param i s c p=25m $ S h o r t c i r c u i t out put c u r r e n t . param i s c n=25m $ S h o r t c i r c u i t out put c u r r e n t . param pd=59 . 4m $ T y p i c a l power d i s s i p a t i o n Design e q u a t i o n s . param i s 2={ i s 1 (1+ v o s / v t ) } . param i c 1={ 0 . 5 c2 p o s i t i v e s l e w r a t e } i c 2={ i c 1 } . param i b 1={ ib 0 . 5 i o s } i b 2={ i b +0 . 5 i o s } . param b1={ i c 1 / i b 1 } b2={ i c 2 / i b 2 } . param i e e={ ( ( b1 +1)/ b1+(b2 +1)/ b2 ) i c 1 } . param gm1={ i c 1 / v t } r c 1={ 1 / ( 2 3 . 1412 gbp c2 ) } r c 2=r c 1 . param r e 1={ ( ( b1+b2 )/(2+ b1+b2 ) ) ( rc1 1/gm1 ) } r e 2=r e 1 . param r e e={ va / i e e } c e e={ ( 2 i c 1 / n e g a t i v e s l e w r a t e ) c2 } . param dphi={ 90pm} c1={ ( c2 / 2 ) tan ( dphi 3 . 1 4 1 2 / 1 8 0 ) } . param gcm={ 1 / ( cmrr r c 1 ) } ga={ 1/ r c 1 } gb={ ( a v o l r c 1 ) / ( r 2 r o 2 ) } . param i x={ 2 i c 1 r 2 gb i s 1 } tmp1={1 . 0 / ( r o 1 i s 1 / v t ) } i s d 1={ i x exp ( tmp1)+1e 32 } . param tmp2={ i x / i s d 1 } r c={ v t / ( 1 0 0 i x ) l n ( tmp2 ) } . param gc={ 1/ r c } . param vc={ abs ( v c c ) vout p+vt l n ( i s c p/ i s 1 ) } ve={ abs ( v e e )+ vout n+vt l n ( i s c n/ i s 1 ) } . param rp={ ( vcc v e e ) ( vcc v e e ) / pd } Nodes : I n p u t n i n p n i n n n v c c n v e e Output n out Q1 8 n i n n 10 qmod1 Q2 9 n i n p 11 qmod2 RC1 n v c c 8 { r c 1 } RC2 n v c c 9 { r c 2 } RE1 1 10 { r e 1 } RE2 1 11 { r e 2 } RE 1 0 { r e e } CE 1 0 { c e e } IEE 1 n v e e { i e e } C1 8 9 { c1 } RP n v c c n v e e { rp } GCM 0 12 1 0 { gcm } GA 12 0 8 9 { ga } R2 12 0 { r 2 } C2 12 13 30p GB 13 0 12 0 { gb } RO2 13 0 { r o 2 } RO1 13 n out { r o 1 } D1 13 14 dmod1 D2 14 13 dmod1 GC 0 14 n out 0 { gc } RC 14 0 { r c } D3 n out 15 DMOD3 D4 16 n out DMOD3 VC n v c c 15 { vc } 55 VE 16 n v e e { ve } . model dmod1 d ( i s={ i s d 1 } r s=1 ) . model dmod3 d ( i s=8 e 16 r s=1 ) . model qmod1 npn ( i s={ i s 1 } BF ={ b1 } ) . model qmod2 npn ( i s={ i s 2 } BF ={ b2 } ) . end
Figure 45: PS2SP template for the Boyle macromodel with UA741 parameters listed.
b o y l e macromodel t e m p l a t e f o r q u c s . i n f i l e =ua741 b o y l e . p s 2 s p d a t e=Tue Feb 6 20 : 58 : 12 2007 Converted with p s 2 s p . p l V4 . 11 o p t i o n s : sp3=0 l t s p i c e =0 fromsub=0 f r o m l i b=0 c h e c k=0 ( t i n y l i n e s=1 ) c o p y r i g h t 2007 by F r i e d r i c h Schmidt terms of Gnu L i c e n c e q1 8 n i n n 10 qmod1 q2 9 n i n p 11 qmod2 r c 1 n v c c 8 5305 . 82792138885 r c 2 n v c c 9 5305 . 82792138885 r e 1 1 10 1820 . 05072213971 r e 2 1 11 1820 . 05072213971 r e 1 0 13192612 . 1372032 c e 1 0 7 . 5 e 12 i e e 1 n v e e 1 . 516 e 05 c1 8 9 5 . 4588124089082 e 12 rp n v c c n v e e 15151 . 5151515152 gcm 0 12 1 0 5 . 96000354174836 e 09 ga 12 0 8 9 0 . 000188472 r 2 12 0 100000 c2 12 13 30p gb 13 0 12 0 21 . 6918557701915 r o 2 13 0 489 . 2 r o 1 13 n out 76 . 8 d1 13 14 dmod1 d2 14 13 dmod1 gc 0 14 n out 0 1621 . 78603105575 r c 14 0 0 . 0 0 0 6 1 6 6 0 4 1 5 1 7 5 0 5 3 9 d3 n out 15 dmod3 d4 16 n out dmod3 vc n v c c 15 1 . 60789905279489 ve 16 n v e e 2 . 30789905279488 . model dmod1 d ( i s=1 e 32 r s=1 ) . model dmod3 d ( i s=8 e 16 r s=1 ) . model qmod1 npn ( i s=8 e 16 b f=107 . 1 4 2 8 5 7 1 4 2 8 5 7 ) . model qmod2 npn ( i s=8 . 21538461538461 e 16 b f=83 . 3 3 3 3 3 3 3 3 3 3 3 3 3 ) . end
56
R1 R=0.00001
C1 C=1000F
VCC
V2 U=15 V
+
SUB1
VEE
V3 U=15 V
vout_boyle
Equation Eqn1 gain_mod_27_dB=dB(vout_mod_27.v) gain_mod_dB=dB(vout_mod.v) gain_boyle_dB=dB(vout_boyle.v) gain_boyle_27_dB=dB(vout_boyle_27.v) phase_boyle_deg=rad2deg(unwrap(angle(vout_boyle.v))) phase_boyle_27_deg=rad2deg(unwrap(angle(vout_boyle_27.v))) phase_mod_deg=rad2deg(unwrap(angle(vout_mod.v))) phase_mod_27_deg=rad2deg(unwrap(angle(vout_mod_27.v)))
C2 C=1000F
L2 L=1000H
R2 R=0.00001
UA741(Boyle)
VCC
+
SUB2
VEE
L3 L=1000H
R3 R=0.00001
C3 C=1000F vin
OP27 (MOD)
dc simulation
VCC DC1
+
SUB5
VEE
ac simulation
AC1 Type=log Start=1Hz Stop=100MHz Points=200
vout_boyle_27
C4 C=1000F
L4 L=1000H
R4 R=0.00001
RL2 R=2k
OP27 (Boyle)
VCC
+
SUB6
VEE
Figure 47: Test circuit for simulating OP AMP model open loop voltage gain.
57
100 phase_mod_deg 1 10 100 1e3 1e4 1e5 1e6 1e7 1e8 acfrequency gain_mod_dB
-50
-100
100 phase_boyle_deg 1 10 100 1e3 1e4 1e5 1e6 1e7 1e8 acfrequency gain_boyle_dB
-100
-100
gain_mod_27_dB
100
-100
gain_boyle_27_dB
100
-100
Figure 48: Open loop voltage gain simulation waveforms for the modular and Boyle UA741 and OP27 macromodels.
58
OP AMP output current limiting. The nonlinear polynomial21 form of controlled sources were included in the 2G series of SPICE simulators to allow behavioural models of summers, multipliers, buers and other important functional components to be easily constructed. Single and multidimensional polynomial forms of controlled sources are dened by SPICE 2G. Taking (1) the voltage controlled voltage source and (2) the current controlled current sources as examples the syntax is as follows: Ename N(+) N(-) POLY(n) NC1(+) NC1(-) NC2(+) NC2(-)..... P0 P1 P2......, where n indicates the order of the polynomial with coecients P0 .....Pn, and NCn(+), NCn(-) etc are the control node pairs. This becomes: For POLY(1) 22 : Ename N(+) N(-) P0 P1 P2......... For POLY(2): Ename N(+) N(-) POLY(2) NC1(+) NC1(-) NC2(+) NC(-) P0 P1 P2...... For POLY(3): Ename N(+) N(-) POLY(3) NC1(+) NC1(-) NC2(+) NC2(-) NC3(+) NC3() P0 P1 P2....
and so on. Similarly: Fname N(+) N(-) POLY(n) V1 V2 V3 ...... P0 P1 P2 ....., where V1, V2 .... are independent voltage sources whose current controls the output. This becomes: For POLY(1): Fname N(+) N(-) V1 P0 P1 P2........
For POLY(2): Fname N(+) N(-) POLY(2) V1 V2 P0 P1 P2....... For POLY(3): Fname N(+) N(-) POLY(3) V1 V2 V3 P0 P1 P2 P3......., and so on.
The meaning of the coecients in the nonlinear controlled source denitions depends on the dimension of the polynomial. The following examples indicate how SPICE calculates current or voltage values. For POLY(1): The polynomial function f v is calculated using f v = P 0 + (P 1 f a) + (P 2 f a2 ) + (P 3 f a3 ) + (P 4 f a4 ) + ........., where f a is either a voltage or current independent variable.
The denition of these polynomial functions was changed in the SPICE 3 series simulators to a more conventional algebraic form when specifying the B type source components. This often gives compatibility problems when attempting to simulate SPICE 2 models with circuit simulators developed from SPICE 3f4 or earlier simulators. Most popular SPICE based circuit simulators now accept both types of nonlinear syntax. 22 If only one P coecient is given in the single dimension polynomial case, then SPICE assumes that this is P1 and that P0 equals zero. Similarly if the POLY keyword is not explicitly stated in a controlled source denition then it is assumed by SPICE to be POLY(1).
21
59
For POLY(2): The polynomial function f v is calculated using f v = P 0 + (P 1 f a) + (P 2 f b) + (P 3 f a2 ) + (P 4 f a f b) + (P 5 f b2 ) + (P 6 f a3 ) +(P 7 f a2 f b) + .........., where f a and f b are both either voltage or current independent variables. For POLY(3): The polynomial function f v is calculated using f v = P 0 + (P 1 f a) + (P 2 f b) + (P 3 f c) + (P 4 f a2 ) + (P 5 f a f b) +(P 6 f a f c) + (P 7 f b2 ) + (P 8 f b f c) + (P 9 f c2 ) + (P 10 f a3 ) +(P 11 f a2 f b) + (P 12 f a2 f c) + (P 13 f a f b2 ) + (P 14 f a f b f c) +(P 15 f a f c2 ) + (P 16 f b3 ) + (P 17 f b2 f c) + (P 18 f b f c2 ) +(P 19 f c3 )............., where f a, f b, and f c are all either voltage or current independent variables. From Fig. 49 the controlled generators egnd and fb are: egnd 99 0 poly(2) (3,0) (4,0) 0 .5 .5 Which is the same as egnd 99 0 poly(2) 3 0 4 0 0 0.5 0.5 By comparison with the SPICE polynomial equations for controlled sources, V (3) V (4) + implying that the controlled voltage source V (egnd) V (egnd) = 2 2 is the sum of two linear voltage sources. fb 7 99 poly(5) vb vc ve vlp vln 0 10.61E6 -10E6 10E6 10E6 -10E6 By comparison with the SPICE polynomial equations for controlled sources I(fb) = 10.61e6*I(vb) - 10e6*I(vc) + 10e6*I(ve) + 10e6*I(vlp) -10e6*I(vlp) implying that the controlled current I (f b) is the sum of ve linear controlled current sources. SPICE sources engd and fb can therefore be replaced in the modied Boyle model by the following SPICE code23 :
* egnd 99 0 poly(2) (3,0) (4,0) 0 .5 .5 * Forms voltage source with output * V=0.5*V(4)+0.5*V(3) egnd1 999 0 4 0 0.5
It is worth noting that the code for the polynomial form of controlled sources can only be replaced by a series connection of linear controlled voltage sources or a parallel connection of linear controlled current sources provided no higher order polynomial coecients are present in the original SPICE code. Some SPICE models use these higher order coecients to generate multiply functions. Such cases cannot be converted to code which will simulate using Qucs 0.0.10. Sometime in the future this restriction will be removed when nonlinear voltage and current sources are added to Qucs.
23
60
egnd2 99 999 3 0 0.5 * *fb 7 99 poly(5) vb vc ve vlp vln 0 10.61e6 -10e6 10e6 10e6 -10e6 * * Forms current source with output * I=10.61e6*i(vb)-10e6*i(vc)+10e6*i(ve)+10e6*i(vlp)-10e6*i(vln) * *Sum 5 current sources to give fb. fb1 7 99 vb 10.61e6 fb2 7 99 vc -10e6 fb3 7 99 ve 10e6 fb4 7 99 vlp 10e6 fb5 7 99 vln -10e6 Modied Boyle macromodels are often generated using the PSpice Parts24 program. Such models have similar structured SPICE netlists with dierent component values. However, changes in technology do result in changes in the input stage that reect the use of npn, pnp and JFET input transistors in real OP AMPs. Hence to use manufacturers published modied Boyle models with Qucs all that is required is the replacement of the SPICE polynomial controlled sources with linear sources and the correct component values. Again this is best done using a SPICE preprocessor template. The templates for OP AMPS with npn and PJF input transistors are shown in Figures 50 and 51. The SPICE netlists shown in Figs. 52 and 53 were generated by the PS2SP preprocessor. For OP AMPS with pnp input transistors simply change the BJT model reference from npn to pnp and use the same template.
The Parts modelling program is an integral component in the PSpice circuit simulation software originally developed by the MicroSim Corporation, 1993, The Design Centre:Parts (Irvine, Calif.). It now forms part of Cadence Design Systems OrCad suite of CAD software.
24
61
connections : non i n v e r t i n g i n p u t | i n v e r t i n g input | | p o s i t i v e power s u p p l y | | | n e g a t i v e power s u p p l y | | | | out put | | | | | . s u b c k t uA741 1 2 3 4 5 c1 11 12 8 . 661E12 c2 6 7 30 . 00E12 dc 5 53 dx de 54 5 dx d l p 90 91 dx d l n 92 90 dx dp 4 3 dx egnd 99 0 p o l y ( 2 ) ( 3 , 0 ) ( 4 , 0 ) 0 . 5 . 5 fb 7 99 p o l y ( 5 ) vb vc ve v l p v l n 0 10 . 61E6 10E6 10E6 10E6 10E6 ga 6 0 11 12 188 . 5E6 gcm 0 6 10 99 5 . 961E9 iee 10 4 dc 15 . 16E6 hlim 90 0 v l i m 1K q1 11 2 13 qx q2 12 1 14 qx r2 6 9 100 . 0E3 rc1 3 11 5 . 305E3 rc2 3 12 5 . 305E3 r e 1 13 10 1 . 836E3 r e 2 14 10 1 . 836E3 r e e 10 99 13 . 19E6 ro1 8 5 50 ro2 7 99 100 rp 3 4 18 . 16E3 vb 9 0 dc 0 vc 3 53 dc 1 ve 54 4 dc 1 v l i m 7 8 dc 0 v l p 91 0 dc 40 vln 0 92 dc 40 . model dx D( I s=800 . 0E18 Rs=1 ) . model qx NPN( I s=800 . 0E18 Bf=93 . 7 5 ) . ends
Figure 49: PSpice modied Boyle macromodel for the UA741 OP AMP.
62
M o d i f i e d Boyle OP AMP model t e m p l a t e npn BJT i n p u t d e v i c e s . UA741C OP AMP p a r a m e t e r s , m a n u f a c t u r e r Texas I n s t r u m e n t s . param c1=4 . 664 p c2=20 . 0p . param ep1=0 . 5 ep2=0 . 5 . param f p 1=10 . 61 e6 f p 2=10e6 f p 3=10 e6 f p 4=10 e6 f p 5=10e6 . param vc=2 . 6 ve=2 . 6 v l p=25 v l n=25 . param ga=137 . 7 e 6 gcm=2 . 57 e 9 . param i e e=10 . 16 e 6 hlim=1k . param r 2=100 k . param r c 1=7 . 957 k r c 2=7 . 957 k . param r e 1=2 . 74 k r e 2=2 . 74 k . param r e e=19 . 69 e6 r o 1=150 r o 2=150 . param rp=18 . 11 k . s u b c k t ua741 TI P INP P INN P VCC P VEE P OUT c1 11 12 { c1 } c2 6 7 { c2 } dc P OUT 53 dx de 54 P OUT dx d l p 90 91 dx d l n 92 90 dx egnd 99 0 p o l y ( 2 ) ( 3 , 0 ) ( 4 , 0 ) 0 0 . 5 0 . 5 Qucs m o d i f i c a t i o n , Mike Brinson , Feb 2007 egnd1 999 0 P VCC 0 { ep1 } egnd2 99 999 P VEE 0 { ep2 } f b 7 99 p o l y ( 5 ) vb vc ve v l p v l n 0 10 . 61 e6 10e6 10 e6 10 e6 10e6 Forms c u r r e n t s o u r c e with out put I=10 . 61 e6 i ( vb) 10 e6 i ( vc )+10 e6 i ( ve )+10 e6 i ( v l p ) 10 e6 i ( v l n ) Qucs m o d i f i c a t i o n , Mike Brinson , Feb 2007 . Sum 5 c u r r e n t s o u r c e s t o g i v e f b . f b 1 7 99 vb { f p 1 } f b 2 7 99 vc { f p 2 } f b 3 7 99 ve { f p 3 } f b 4 7 99 v l p { f p 4 } f b 5 7 99 v l n { f p 5 } ga 6 0 11 12 { ga } gcm 0 6 10 99 { gcm } i e e 10 P VEE { i e e } hlim 90 0 v l i m { hlim } q1 11 P INN 13 qx q2 12 P INP 14 qx r 2 6 9 100 k r c 1 P VCC 11 { r c 1 } r c 2 P VCC 12 { r c 2 } r e 1 13 10 { r e 1 } r e 2 14 10 { r e 2 } r e e 10 99 { r e e } r o 1 8 P OUT { r o 1 } r o 2 7 99 { r o 2 } rp P VCC P VEE { rp } vb 9 0 dc 0 vc P VCC 53 dc { vc } ve 54 P VEE dc { ve } v l i m 7 8 dc 0 v l p 91 0 dc { v l p } v l n 0 92 dc { v l p } . model dx d ( i s=800 . 0 e 18) . model qx npn ( i s=800 . 0 e 18 b f=62 . 5 ) . ends . end
63 Figure 50: Modied Boyle PS2SP netlist for the UA741 OP AMP.
M o d i f i e d Boyle OP AMP model t e m p l a t e JFET i n p u t d e v i c e s . TL081 OP AMP p a r a m e t e r s , m a n u f a c t u r e r Texas I n s t r u m e n t s . param c1=3 . 498 p c2=15 . 0p . param ep1=0 . 5 ep2=0 . 5 . param f p 1=4 . 715 e6 f p 2=5e6 f p 3=5 e6 f p 4=5 e6 f p 5=5e6 . param vc=2 . 2 ve=2 . 2 v l p=25 v l n=25 . param ga=282 . 8 e 6 gcm=8 . 942 e 9 . param i s s =195 . 0 e 6 hlim=1k . param r 2=100 k . param rd1=3 . 536 k rd2=3 . 536 k . param r s s=1 . 026 e6 r o 1=150 r o 2=150 . param rp=2 . 14 k . s u b c k t ua741 TI P INP P INN P VCC P VEE P OUT c1 11 12 { c1 } c2 6 7 { c2 } dc P OUT 53 dx de 54 P OUT dx d l p 90 91 dx d l n 92 90 dx egnd 99 0 p o l y ( 2 ) ( 3 , 0 ) ( 4 , 0 ) 0 0 . 5 0 . 5 Qucs m o d i f i c a t i o n , Mike Brinson , Feb 2007 egnd1 999 0 P VCC 0 { ep1 } egnd2 99 999 P VEE 0 { ep2 } f b 7 99 p o l y ( 5 ) vb vc ve v l p v l n 0 10 . 61 e6 10e6 10 e6 10 e6 10e6 Forms c u r r e n t s o u r c e with out put I=10 . 61 e6 i ( vb) 10 e6 i ( vc )+10 e6 i ( ve )+10 e6 i ( v l p ) 10 e6 i ( v l n ) Qucs m o d i f i c a t i o n , Mike Brinson , Feb 2007 . Sum 5 c u r r e n t s o u r c e s t o g i v e f b . f b 1 7 99 vb { f p 1 } f b 2 7 99 vc { f p 2 } f b 3 7 99 ve { f p 3 } f b 4 7 99 v l p { f p 4 } f b 5 7 99 v l n { f p 5 } ga 6 0 11 12 { ga } gcm 0 6 10 99 { gcm } i s s P VCC 10 { i s s } hlim 90 0 v l i m { hlim } j 1 11 P INN 10 j x j 2 12 P INP 10 j x r 2 6 9 100 k rd1 P VEE 11 { rd1 } rd2 P VEE 12 { rd2 } r o 1 8 P OUT { r o 1 } r o 2 7 99 { r o 2 } rp P VCC P VEE { rp } r s s 10 99 { r s s } vb 9 0 dc 0 vc P VCC 53 dc { vc } ve 54 P VEE dc { ve } v l i m 7 8 dc 0 v l p 91 0 dc { v l p } v l n 0 92 dc { v l p } . model dx d ( i s=800 . 0 e 18) . model j x p j f ( i s=15 . 0 e 12 b e t a=270 . 1 e 6 v t o=1) . ends . end
Figure 51: Modied Boyle PS2SP netlist for the TL081 OP AMP. 64
m o d i f i e d b o y l e op amp model t e m p l a t e i n f i l e= Mod b o y l e t e m p l a t e npn . pp d a t e=Thu Feb 8 23 : 54 : 59 2007 Converted with p s 2 s p . p l V4 . 11 o p t i o n s : sp3=1 l t s p i c e =0 fromsub=0 f r o m l i b=0 c h e c k=0 ( t i n y l i n e s=1 ) c o p y r i g h t 2007 by F r i e d r i c h Schmidt terms of Gnu L i c e n c e . s u b c k t ua741 t i p i n p p i n n p v c c p v e e p out c1 11 12 4 . 664 e 12 c2 6 7 2 e 11 dc p out 53 dx de 54 p out dx d l p 90 91 dx d l n 92 90 dx egnd1 999 0 p v c c 0 0 . 5 egnd2 99 999 p v e e 0 0 . 5 f b 1 7 99 vb 9 . 42507068803016 e 08 f b 2 7 99 vc 1e 07 f b 3 7 99 ve 1 e 07 f b 4 7 99 v l p 1 e 07 f b 5 7 99 v l n 1e 07 ga 6 0 11 12 0 . 0001377 gcm 0 6 10 99 2 . 57 e 09 i e e 10 p v e e 1 . 016 e 05 hlim 90 0 v l i m 0 . 001 q1 11 p i n n 13 qx q2 12 p i n p 14 qx r 2 6 9 100 k r c 1 p v c c 11 7957 r c 2 p v c c 12 7957 r e 1 13 10 2740 r e 2 14 10 2740 r e e 10 99 19690000 r o 1 8 p out 150 r o 2 7 99 150 rp p v c c p v e e 18110 vb 9 0 0 vc p v c c 53 2 . 6 ve 54 p v e e 2 . 6 vlim 7 8 0 v l p 91 0 25 v l n 0 92 25 . model dx d ( i s=800 . 0 e 18) . model qx npn ( i s=800 . 0 e 18 b f=62 . 5 ) . ends . end
Figure 52: Modied Boyle SPICE netlist for the TI UA741 OP AMP.
65
m o d i f i e d b o y l e op amp model t e m p l a t e i n f i l e =TL081 TI . pp d a t e=Sun Feb 11 16 : 04 : 22 2007 Converted with p s 2 s p . p l V4 . 11 o p t i o n s : sp3=0 l t s p i c e =0 fromsub=0 f r o m l i b=0 c h e c k=0 ( t i n y l i n e s=1 ) c o p y r i g h t 2007 by F r i e d r i c h Schmidt terms of Gnu L i c e n c e . s u b c k t ua741 t i p i n p p i n n p v c c p v e e p out t i m e s c1 11 12 3 . 498 e 12 c2 6 7 1 . 5 e 11 dc p out 53 dx de 54 p out dx d l p 90 91 dx d l n 92 90 dx egnd1 999 0 p v c c 0 0 . 5 egnd2 99 999 p v e e 0 0 . 5 f b 1 7 99 vb 4715000 f b 2 7 99 vc 5000000 f b 3 7 99 ve 5000000 f b 4 7 99 v l p 5000000 f b 5 7 99 v l n 5000000 ga 6 0 11 12 0 . 0002828 gcm 0 6 10 99 8 . 942 e 09 i s s p v c c 10 0 . 000195 hlim 90 0 v l i m 1000 j 1 11 p i n n 10 j x j 2 12 p i n p 10 j x r 2 6 9 100 k rd1 p v e e 11 3536 rd2 p v e e 12 3536 r o 1 8 p out 150 r o 2 7 99 150 rp p v c c p v e e 2140 r s s 10 99 1026000 vb 9 0 dc 0 vc p v c c 53 dc 2 . 2 ve 54 p v e e dc 2 . 2 v l i m 7 8 dc 0 v l p 91 0 dc 25 v l n 0 92 dc 25 . model dx d ( i s=800 . 0 e 18) . model j x p j f ( i s=15 . 0 e 12 b e t a=270 . 1 e 6 v t o=1) . ends . end
Figure 53: Modied Boyle SPICE netlist for the TI TL081 OP AMP.
66
The procedure presented here must be considered a work around and may change as Qucs develops. 26 The location of the user created libraries will dier from system to system depending where .qucs is installed.
25
67
</Model> <Symbol> < . ID 20 74 SUB> < L i n e 20 60 0 125 #00007 f 2 1> < L i n e 20 65 100 65 #00007 f 2 1> < L i n e 20 60 100 60 #00007 f 2 1> < L i n e 35 35 15 0 #00007 f 2 1> < L i n e 35 40 15 0 #00007 f 2 1> < L i n e 80 0 15 0 #00007 f 2 1> < . PortSym 35 35 1 0> < . PortSym 35 40 2 0> < . PortSym 95 0 3 180 > < L i n e 60 50 0 40 #00007 f 2 1> < L i n e 60 15 0 40 #00007 f 2 1> <Text 15 55 30 #000000 0 > <Text 15 30 20 #000000 0 +> <Text 15 5 12 #000000 0 UA741 ( Boyle ) > < . PortSym 60 55 4 180 > < . PortSym 60 50 5 180 > <Text 65 30 12 #000000 0 VCC> <Text 65 20 12 #000000 0 VEE> </Symbol> </Component>
Note that the model requires a subcircuit of type ua741_boyle_cir which is not included when the library is created by Qucs. After completing the cut and paste operation described in steps 3 and 4 above the resulting library entry becomes the Qucs netlist shown next.
<Component ua741 ( b o y l e )> <D e s c r i p t i o n > UA741 Boyle macromodel </ D e s c r i p t i o n > <Model> net0 net1 net2 net3 net4 . Def : Lib OPAMP ua741 b o y l e Sub : X1 n e t 0 n e t 1 n e t 2 n e t 3 n e t 4 gnd Type=ua741 b o y l e c i r . Def : End . Def : ua741 b o y l e c i r netN INN netN INP netN OUT netN VCC netN VEE r e f Vdc : VE n e t 1 6 netN VEE U =2 . 3079 Vdc : VC netN VCC n e t 1 5 U =1 . 6079 =1 M =0 . 5 Cj0=1 e 14 Vj=0 . 7 Diode : D4 netN OUT n e t 1 6 I s=8 e 16 Rs=1 N Diode : D3 n e t 1 5 netN OUT I s=8 e 16 Rs=1 N =1 M =0 . 5 Cj0=1 e 14 Vj=0 . 7 R : RC n e t 1 4 ref R =0 . 000616604 VCCS : GC netN OUT r e f net14 ref G =1621 . 79 =1 M =0 . 5 Cj0=1 e 14 Vj=0 . 7 Diode : D2 n e t 1 3 n e t 1 4 I s=1 e 32 Rs=1 N Diode : D1 n e t 1 4 n e t 1 3 I s=1 e 32 Rs=1 N =1 M =0 . 5 Cj0=1 e 14 Vj=0 . 7 R : RO1 n e t 1 3 netN OUT R =76 . 8 R : RO2 n e t 1 3 ref R =489 . 2 VCCS : GB n e t 1 2 n e t 1 3 ref ref G =21 . 6919 C : C2 n e t 1 2 n e t 1 3 C =30p R : R2 n e t 1 2 ref R =100000 VCCS : GA n e t 8 n e t 1 2 ref net9 G =0 . 000188472 VCCS :GCM n e t 1 ref net12 ref G =5 . 96 e 09 R : RP netN VCC netN VEE R =15151 . 5 =5 . 45881 e 12 C : C1 n e t 8 n e t 9 C I d c : IEE netN VEE n e t 1 I=1 . 516 e 05 C : CE n e t 1 ref C =0 R : RE n e t 1 ref R =1 . 31926 e+07 R : RE2 n e t 1 n e t 1 1 R =1820 . 05 R : RE1 n e t 1 n e t 1 0 R =1820 . 05 R : RC2 netN VCC n e t 9 R =5305 . 83
68
R : RC1 netN VCC n e t 8 R =5305 . 83 BJT : Q2 netN INP n e t 9 n e t 1 1 r e f Type=npn I s=8 . 21538 e 16 Bf=83 . 3333 Nf=1 Nr=1 I k f=0 I k r=0 Vaf=0 Var=0 I s e=0 Ne=1 . 5 I s c=0 Nc=2 Br=1 Rbm =0 I r b=0 Cje=0 Vje=0 . 75 Mje=0 . 33 Cjc=0 Vjc=0 . 75 Mjc=0 . 33 Xcjc=1 C js=0 Vjs=0 . 75 Mjs=0 Fc=0 . 5 Vtf=0 Tf=0 Xtf=0 I t f =0 Tr=0 r e f Type=npn I s=8 e 16 Bf=107 . 143 Nf=1 BJT : Q1 netN INN n e t 8 n e t 1 0 Nr=1 I k f=0 I k r=0 Vaf=0 Var=0 I s e=0 Ne=1 . 5 I s c=0 Nc=2 Br=1 Rbm =0 I r b=0 Cje=0 Vje=0 . 75 Mje=0 . 33 Cjc=0 Vjc=0 . 75 Mjc=0 . 33 Xcjc=1 C js=0 Vjs=0 . 75 Mjs=0 Fc=0 . 5 Vtf=0 Tf=0 Xtf=0 I t f =0 Tr=0 . Def : End </Model> <Symbol> < . ID 20 74 SUB> < L i n e 20 60 0 125 #00007 f 2 1> < L i n e 20 65 100 65 #00007 f 2 1> < L i n e 20 60 100 60 #00007 f 2 1> < L i n e 35 35 15 0 #00007 f 2 1> < L i n e 35 40 15 0 #00007 f 2 1> < L i n e 80 0 15 0 #00007 f 2 1> < . PortSym 35 35 1 0> < . PortSym 35 40 2 0> < . PortSym 95 0 3 180 > < L i n e 60 50 0 40 #00007 f 2 1> < L i n e 60 15 0 40 #00007 f 2 1> <Text 15 55 30 #000000 0 > <Text 15 30 20 #000000 0 +> <Text 15 5 12 #000000 0 UA741 ( Boyle ) > < . PortSym 60 55 4 180 > < . PortSym 60 50 5 180 > <Text 65 30 12 #000000 0 VCC> <Text 65 20 12 #000000 0 VEE> </Symbol> </Component>
69
the dc value of the CMRR is modelled. Such frequency dependency can be added by a simple modication28 , requiring one extra node, that simulates ac CMRR and gives close agreement between macromodel performance and data sheet specications. Components CEE, REE and GCM, see Fig. 44, are replaced by the network shown in Fig. 54. Data sheets for the UA741 show the CMRR falling above a break frequency of about 200 Hz, due to the zero generated by CEE causing the common-mode gain to increase. This eect can be simulated in the Boyle macromodel by the addition of one extra node and two extra resistors and changes to REE and controlled source GCM as in Fig. 44. In this modied network, the common-mode voltage is detected at the junction of RE4 and CEE, introducing a zero into the response and attenuating the signal. The frequency of the zero 1 . The new value of CEE must have the same value as the is set by 2CEE RE 3 29 original CEE value if the same slew-rate is to be maintained, so for a 200 Hz cut-o this gives RE3=106.1M. RE4 is arbitrarily xed at 10 , which introduces another pole at about 2 GHz, well outside the frequency of interest. The value of REE is increased to RE5 (15.06meg), so that RE5 in parallel with RE3 equals 3 maintaining the original value of REE. GCM is also increased by the factor RE RE 4 the correct low frequency common-mode gain. Dierential frequency response and slew rate are unchanged by these modications. The simulation results for the common-mode test circuit shown in Fig. 20 are given in Fig. 55. These indicate close agreement between the modular and ac Boyle macromodels. Modifying the circuit of an existing OP AMP macromodel is at best a complex process or at worst impossible because the model details are either not known or well understood. One way to add features to an existing model is to add an external circuit to a models terminals. This circuit acts as a signal processing element adding additional capabilities to the original macromodel. One circuit feature not modelled by any of the macromodels introduced in earlier sections is power supply rejection. By adding a simple passive electrical network to the terminals of a macromodel it is possible to model OP AMP power supply rejection. Power supply rejection(PSRR) is a measure of the ability of an OP AMP to reject unwanted signals that enter at the power terminals. It is dened as the ratio of dierential-mode gain to power supply injected signal gain. The simulation of OP
This section is based on unpublished work by David Faulkner and Mike Brinson., Department of Computing, Communications Technology and Mathematical Sciences, London Metropolitan University, UK. 29 In the Boyle macromodel the value of CEE is set by the OP AMP slew rate. Adjusting both the positive and negative slew rates changes the value of CEE. For the UA741 these have been set at 0.625e6 and 0.500e6 respectively. This gives CEE=7.5pF which is commonly quoted for the UA741 value of CEE, see Andrei Vladimirescu, The SPICE Book,1994, John Wiley and Sons, Inc., ISBN 0-471-60926-9, pp 228-239. Also note care must be taken when choosing values for the two slew rates because negative values of CEE can occur which are physically not realisable.
28
70
CEE C=7.5p
RE3 R=106.1M
RE5 R=15.06M
GCM G=6.32e-2
RE4 R=10
Figure 54: AC CMRR modication for Boyle macromodel AMP power supply rejection30 is possible using the test circuit given in Fig. 56, where V++V + + AP S (f ) VS , Vout (f ) = AD (f ) [V V ] + ACM (f ) 2 where AD (f ) is the OP AMP dierential-mode gain, ACM (f ) is the OP AMP common-mode gain, and AP S (f ) is the OP AMP power supply injected gain. The superscript indicates that the ac signal source is connected to either the OP AMP positive or negative power supply terminals but not simultaneously to both. Assuming that the OP AMP power supply injected gain has a single dominant zero at fP SZ 1 , analysis yields 1 PSRR VOU T (f ) = VS 1+j
(0)
1+j
f
fP SZ 1
f GBP 1+j f
fP SZ 1
f fp 1
,=
R2 = 1e 4 R1 + R2
, P SRR(0)+ =
M. E. Brinson and D. J. Faulkner, Measurement and modelling of operational amplier power supply rejection, Int. J. Electronics, 1995, vol. 78, NO. 4, 667-678.
30
71
2e-4
1.5e-4 vout_boyle_orig.v
1e-4
5e-5
1.5e-4 vout_boyle_ac.v
1e-4
5e-5
1.5e-4 vout_mod.v
1e-4
5e-5
Figure 55: AC common-mode simulation results for (1) Boyle macromodel, (2) ac Boyle macromodel and (3) the modular macromodel
72
V3 U=1 V R1 R=100k
R2 R=10 UA741(Boyle)
VCC
vout
V1 U=15 V
+
R3 R=10 SUB1 R4 R=100k
VEE
V2 U=15 V
dc simulation
DC1
ac simulation
AC1 Type=log Start=1 Hz Stop=10 MHz Points=500
Figure 56: Test circuit for the simulation of PSRR(f) voltage transfer function characteristic AD (0) . AP S (0) + Typical values for the UA741 are P SRR(0)+ = 110000, P SRR(0) = 170000, fP SZ 1 = 685Hz, fP SZ 1 = 6.2Hz . The considerable dierence in the dominant zero frequencies of the injected power supply gains is normally due to the fact that the OP AMP circuits are not symmetric when viewed from the power supply signal injection terminals. By adding external components to an OP AMP macromodel power supply rejection eects can be easily simulated. The schematic shown in Fig. 57 shows the TI UA741 model with RC networks connected between the power supply terminals and earth. The voltage controlled voltage sources probe the voltages at the center nodes of the additional RC networks. These networks generate the power supply injected signals at dc. They also generate the dominant zero in the power supply rejection characteristic. The values for the passive components can be calculated using: RA = 1 106 1 106 , CA = , RB = , CA = + + 6 6 P SRR(0) P SRR(0) 2 10 fP SZ 1 2 10 fP SZ 1
Which gives, for the example UA741 device data, RA = 9, CA = 232pF , RB = 5.9 and CB = 25.7pF . Simulation waveforms for the small signal frequency response of the test circuit are shown in Fig. 58. In the case of the modular UA741 model the simulation signal plot clearly demonstrates the fact that the model does not correctly represent the eects due to power supply injected signals.
73
Vout_mod
dc simulation
DC1
R1 R=100k
VS U=1 V
R2 R=10
UA741 (MOD)
VCC
V1 U=15 V
+
R3 R=10 R4 R=100k
V2 U=15 V VEE
ac simulation
AC1 Type=log Start=1 Hz Stop=10 kHz Points=400
SUB5
R11 R=100k
R9 R=10
+
SUB4 EP1 EN1 G=0.5 G=0.5
VEE
R10 R=10
R6 R=1M RB R=5.9
R12 R=100k Equation Eqn1 PSRR_P=dB(p1/(vout_TI.v*p2*alpha)) fpz1=685 alpha=1e-4 gbp=1e-6 p1=mag(1+j*acfrequency/fpz1) p2=mag(1+j*acfrequency/alpha*gbp)
CB C=25.7nF
Figure 57: Test circuit showing OP AMP with external power supply rejection modelling network
74
0.03
0.025 vout_TI.v
0.02
0.015
110 PSRR_P
105
3e-21
Vout_mod.v
2e-21
1e-21
75
End note
While writing this tutorial I have tried to demonstrate how practical models of operational ampliers can be constructed using basic electronic concepts and the range of Qucs built-in components. The modular OP AMP macromodel was deliberately chosen as the foundation for the tutorial for two reasons; rstly Qucs is mature enough to easily simulate such models, and secondly the parameters which determine the operation of the macromodel can be be calculated directly from information provided on device data sheets. Recent modelling development by the Qucs team has concentrated on improving the SPICE to Qucs conversion facilities. This work has had a direct impact on Qucs ability to import and simulate manufacturers OP AMP models. The tutorial upgrade explains how SPICE Boyle type OP AMP macromodels can be converted to work with Qucs. The Qucs OP AMP library (OpAmps) has been extended to include models for a range of popular 8 pin DIL devices. If you require a model with a specic specication that is not modelled by an available macromodel then adding extra functionality may be the only way forward. Two procedures for extending models are outlined in the tutorial upgrade. Much work still remains to be done before Qucs can simulate a wide range of the macromodels published by device manufacturers. With the recent addition of subcircuit/component equations to Qucs it is now possible to write generalised macromodel macros for OP AMPs. However, before this can be done time is required to fully test the features that Stefan and Michael have recently added to Qucs release 0.0.11. This topic and the modelling of other OP AMP properties such as noise will be the subject of a further OP AMP tutorial update sometime in the future. My thanks to David Faulkner for all his help and support during the period we were working on a number of the concepts that form part of the basis of this tutorial. Once again a special thanks to Michael Margraf and Stefan Jahn for all their help and encouragement over the period that I have been writing this tutorial and testing the many examples it includes.
76