1 Curs de simulació en PSpiceDepartament d’Electrònica Enginyeria La Salle
2 Índex 1. Necessitat d'un simulador 2. Entorn 3. Tipus de dispositius4. Models 5. Subcircuits 6. Paraules reservades 7. Tipus d’anàlisis 8. Exemples 9. Tractaments gràfics 10. Utilitats de PSpice 11. Bibliografia
3 1. Necessitat d'un simuladorSpice (Simulation Program with Integrated Circuits Emphasis) neix a mitjants dels anys 70 a Berkeley (Universitat de California) com un programa d’anàlisi de circuits que es defineix amb un llenguatge específic. Aquest llenguatge s’ha convertit en un estándar de facto en l’actualitat i com que el seu desenvolupament va ser subvencionat amb fons públics és de lliure distirbució i ús. La primera versió del programa la desenvolupà l’empresa MicroSim en col.laboració amb l’esmentada universitat i s’anomenà PSPICE. El programa PSPICE ens permet simular i realitzar diverses proves a circuits analògics i digitals, sense la necessitat de muntar-los, mitjançant un ordinador. Podrem conéixer la resposta del circuit enfront diferents senyals d’entrada al llarg del temps, respostes en freqüència, soroll i altres dades d'interès, simular circuits integrats abans de la seva construcció, etc.
4 2. Entorn 2.1 Accés, execució, etc.Accedir a la carpeta on està instal·lat el PSPICE 5. C:\Dosapps\PS50 Executar el fitxer pson.bat que inicialitza l’entorn de treball així com les llibreries que el PSPICE carregarà per defecte.
5 2. Entorn Les diverses opcions es distribueixen en un entorn de menús. ...
6 2. Entorn ...
7 2. Entorn Les que més s’utilitzen solen ser:Editar el circuit: File Edit Seleccionar el fitxer de treball: File Current File Llegir el fitxer de sortida: File Browse Output Guardar el fitxer: File Save File Realitzar un anàlisi: Analisi Run analisi Sortir del programa : Quit Exit to DOS Totes les altres opcions permeten des del shell Control del PSPICE poder modificar valors dels components, fonts, tipus d’anàlisi,... En comptes de incloure la comanda en el fitxer del circuit
8 2. Entorn 2.2 Sintaxi dels fitxers .CIRLa primera línia serà el TITOL que li assignarem al circuit. L’última línia ha de ser la sentencia .END. Darrera de l’END NO posar res. Les línies que comencen amb un asterisc seran considerades per PSPICE com un comentari. Per incloure un comentari al final d’una sentència ho indicarem amb un punt i coma abans del comentari. Les línies que comencen amb el signe + son considerades continuació de la sentencia de la línia anterior. L'ordre de les línies que descriuen el circuit és indiferent. Seran considerades per igual les lletres majúscules i minúscules. Els espais, tabuladors i comes son equivalents i no importa el seu nombre. Es permet l’ús de sufixos per components o especificacions temporals: F= P= N= U= M=10-3 K=103 MEG=106 G= T=1012
9 2. Entorn Per qualsevol dubte de sintaxi es pot recórrer a l’ajuda de l’editor o manual en els que s’ha de tenir en compte la següent nomenclatura: Sempre que apareix un terme entre els signes menor i major vol dir que s’ha de especificar obligatòriament. Els signes menor i major no apareixeran en la sentència. Si el terme apareix entre corxets vol dir que es opcional incloure’l. Els corxets no s'inclouran en la sentència. Quan apareix un asterisc darrera d’un terme vol dir que podem especificar diversos termes semblants. L’asterisc no s’inclourà en la sentència.
10 3. Tipus de dispositius 3.1 Passius 3.1.1 ResistorsR
11 3. Tipus de dispositius 3.1.2 Condensadors 3.1.3 BobinesC
12 3. Tipus de dispositius 3.1.4 Bobines acobladesK
13 3. Tipus de dispositius 3.2 Semiconductors 3.2.1 DíodeD
14 3. Tipus de dispositius 3.2.3 Transistor d’efecte de camp de junció (JFET) J
15 3. Tipus de dispositius L = Longitud del canal W = Amplada del canalAD = Àrea de difusió del drenador AS = Àrea de difusió del sortidor PD = Perímetre de difusió del drenador PS = Perímetre de difusió del sortidor NRD = Resistivitat relativa del drenador NRS = Resistivitat relativa del sortidor NRG = Resistivitat relativa de la porta NRB = Resistivitat relativa del substrat M = Factor de multiplicació. (Per defecte val 1) Exemples: M PNOM L=25u W=12u M PSTRONG M PSTRONG M=2 M NWEAK L=33u W=12u AD=288p + AS=288p PD=60u NRD=14 NRS=24 NRG=10
16 3. Tipus de dispositius 3.2.5 Transistor d’efecte de camp de d’arseniur de gal.li (GaAsFET) B
17 3. Tipus de dispositius 3.3 Fonts de corrent i tensió3.3.1 Font independent de tensió V
18 3. Tipus de dispositius ESPECIFICACIONS TRANSITORIEXP . Per una forma d’ona exponencial. EXP ( < tensió inicial > < pic de tensió > < retard de l’atac > +
19 3. Tipus de dispositius ESPECIFICACIONS TRANSITORIPULSE . Per una forma d’ona polsant. PULSE ( < tensió inicial > < pic de tensió > < retard > < temps de pujada > + < temps de baixada >
20 3. Tipus de dispositius ESPECIFICACIONS TRANSITORIPWL . Per una forma d’ona lineal en un interval de temps. PWL (
21 3. Tipus de dispositius ESPECIFICACIONS TRANSITORISIN . Per una forma d’ona sinusoïdal. SIN ( < component contínua > < amplitud > < freqüència > < retard > + < factor d’esmorteïment > < fase inicial > ) Exemple VSIN 10 5 SIN ( 2 2 5Hz ) VAC 3 0 AC 1V => Implica una amplitud de 1V durantl’anàlisi de AC i una amplitud de zero en l’anàlisi de transitoris. VTRAN 3 0 SIN ( 0 1V 1KHz ) => Implica una amplitud de 1V durant l’anàlisi transitori i una amplitud zero en l’anàlisi AC. 0s 1.0s 2.0s 3.0s 4.0s 5.0s Time V(1) 4.0V 3.0V 2.0V 1.0V 0V Formes d'ona
22 3. Tipus de dispositius ESPECIFICACIONS TRANSITORISFFM . Per una forma d’ona modulada en freqüència. SFFM ( < component contínua > < amplitud > < freqüència portadora > + < índex de modulació > < freqüència moduladora > ) Exemple VMOD 10 5 SFFM ( 2 1 8Hz 4 1Hz ) 0s 1.0s 2.0s 3.0s 4.0s 5.0s Time VRAMP 4.0V 3.0V 2.0V 1.0V 0V
23 3. Tipus de dispositius 3.3.2 Font independent de correntI< nom > < node + > < node - > [ [ DC ] < valor > ] +[ AC < valor amplitud > [valor fase en graus] [especificacions transitòries ] Exemples: IBIAS mA IAC 3 2 AC 1E-3 IACFAS 3 2 AC 1E-3 90 IPULSE 1 0 PULSE ( -1mV 1mV 2ns 2ns 2ns 50ns 100ns) I DC .002 AC 1uA SIN ( MEG) Les especificacions transitòries són iguals que les de les fonts independents de tensió
24 3. Tipus de dispositius 3.3.3 Font de tensió controlada per tensióE
25 3. Tipus de dispositius 3.3.4 Font de corrent controlada per correntF
26 3. Tipus de dispositius 3.3.5 Font de corrent controlada per tensióG
27 3. Tipus de dispositius 3.3.6 Font de tensió controlada per correntH
28 3. Tipus de dispositius 3.4 Interruptors 3.4.1 Controlats per tensióS< nom > < node commutació + > < node commutació - > + < node control + > < node control - > < nom model > Exemples: S SMOD SRESET RELE 3.4.2 Controlats per corrent W< nom > < node commutació + > < node commutació - > + < tensió de l’element de control > < nom model > W VC WMOD WRESET 1 2 VRESET RELE
29 3. Tipus de dispositius Paràmetre Descripció Unitats Valor per defecteAl definir el model del interruptor, cal defnir els següents paràmetres. Paràmetre Descripció Unitats Valor per defecte RON Resistència si esta circuit tancat Ohm 1.0 ROFF Resistència si esta circuit obert Ohm 1E+6 VON Nivell tensió per l’estat ON Volt 1.0 VOFF Nivell tensió d’estat OFF Volt 0.0 Si VON>VOFF Si Vc>VON Rs=RON Si Vc < VOFF Rs=ROFF Si VOFF< VC < VON Rs = exp (Lm + 3 ·Lr ( Vc-Vm ) / ( 2·Vd ) - 2·Lr·( Vc-Vm ) ³ / Vd ³ )
30 3. Tipus de dispositius Si VON < VOFF Si Vc
31 4. Models .MODEL Model d’un element.MODEL < nom del model > [ AKO: < nom del model de referència >] + < tipus de component > + ( [ < nom del paràmetre > = < valor > [ ( tolerància ) ]* ) El nom del model és el nom que s’utilitza el component per referenciar-se a un model determinat. AKO:
32 Tipus 4. Models Nom del tipus Nom del component ComponentCAP Cxxx Condensador IND Lxxx Bobina RES Rxxx Resistor D Dxxx Díode NPN Qxxx Transistor bipolar NPN PNP Qxxx Transistor bipolar PNP LPNP Qxxx Transistor Bipolar PNP Lateral NJF Jxxx FET d’unió de canal N PJF Jxxx FET d’unió de canal P NMOS Mxxx MOSFET de canal N PMOS Mxxx MOSFET de canal P GASFET Bxxx GaAs MOSFET de canal N CORE Kxxx Transformador VSWITCH Sxxx Interruptor controlat per V ISWICTH Wxxx Interruptor controlat per I
33 4. Models Exemples: .MODEL RMAX RES ( R=1.5 TC1=.02 TC2=.005 ).MODEL DNOM D ( IS=1E-9) .MODEL QDRIV NPN ( IS=1E-7 BF=30 ) .MODEL CMOD CAP ( C =1 DEV 5% ) .MODEL DLOAD D (IS=1E-9 DEV .5% .MODEL QDR2 AKO:QDRIV NPN ( BF=50 IKF=50m) La majoria de models que s’inclouen en la definició de circuits s’extreuen de les llibreries que incorpora el mateix programa o bé que faciliten els fabricants de components.
34 5. Subcircuits 5.1 Definició del subcircuit.SUBCKT < nom > [node]* + [ OPTIONAL: <
35 5. Subcircuits 5.2 Crida a un subcircuitX< nom > [node]* < nom del subcircuit > Ha de haver el mateix nombre de nodes en el moment de la crida que en el moment de la definició. Un subcircuit pot cridar a un altre subcircuit, però no pot ser mai cíclic, de manera que si el subcircuit A crida a B, el subcircuit B mai no podrà cridar a A El nom dels nodes interns del subcircuit no tenen obligació de coincidir amb el nom dels nodes que li asignem quan es crida. Exemples: X DIFFAMP XBUFF UNITAMP
36 5. Subcircuits 5.3 Exemple 2 3 5 1 4 in out.SUBCKT Etapa in out Param: Rb1=1k Rb2=100k Rc=1k .LIB BIPOLAR.LIB Resb {Rb1} Resb {Rb2} Resc out {Rbc} Cin in u Q out Q2N2222 .ENDS 2 3 Q3 Q2N2222 RC Resb1 Resb2 Cin 100u 5 1 4 in out
37 5. Subcircuits 5.3 Exemple Amplificador .LIB BIPOLAR.LIBVin AC 10m Vcc alim V Cout out Load 100u Rload Load K X alim alim out Etapa + PARAMS: Rb1=470k Rb2=100k .END
38 6. Paraules reservades 6.1 .FUNC.FUNC < nom > ( [ < variable > ]* ) < cos de la funció > El cos de la funció no pot excedir d’una línia. Podem utilitzar funcions prèviament definides, mai posteriorment. No es poden passar mai més de deu variables en una definició. Es poden definir funcions sense variables. Es pot crear un fitxer amb les funcions més utilitzades i accedir a ell amb la paraula reservada .INC Exemples: .FUNC E ( x ) exp ( x ) .FUNC sinh ( x ) ( ( E ( x ) – E ( - x ) ) / 2 .FUNC MIN ( a , b ) ( a + b – ABS ( a – b ) ) / 2 .FUNC MAX ( a , b ) ( a + b + ABS ( a – b ) ) / 2 .FUNC F( ) 1/(6.28*SQRT(L*C))
39 6. Paraules reservades 6.2 .IC 6.3 .INC.IC < V ( < node > [,< node > ] ) = < valor >* Serveix per fixar les condicions inicials a l’hora de calcular el punt de treball, realitzar un anàlisi de Transitoris, o un anàlisi en petit senyal. No afecta a l’anàlisi en continua DC. Fixa el valor de tensió d’un node respecte a massa, o el valor de tensió entre dos nodes. Exemples: .IC V ( 2 ) = 2.3 .IC V ( 6 , 8 ) = 5.0V 6.3 .INC .INC < “nom del fitxer” > Serveix per incloure un fitxer .INC “Setup.cir” .INC “C:\LIB\VCO.cir”
40 6. Paraules reservades 6.4 .PLOT 6.5 .OPTIONS.PLOT [ DC ] [ AC ] [ NOISE ] [ TRAN ] [ ( variable de sortida ) ] * + ( [ < límit inferior > , < límit superior > ] ) ” Agafa els resultats dels anàlisi que genera el PSPICE i els treu pel fitxer de sortida .OUT Exemples: .PLOT DC V (3 ) V (2 , 3) V(R1 ) I (VIN ) IB (Q1 ) VBE(Q3 ) .PLOT AC VM(2) VP(2) VG(5) VDB(5) IR(D4) .PLOT TRAN V( 3 ) V (2 , 3) (0 , 5) ID( M2 ) I (VCC) (-50mA,50mA) 6.5 .OPTIONS .OPTIONS [ nom de l’opció ]* [ < nom de l’opció > = < valor > ]* Serveix per fixar les possibles opcions de que disposa el PSPICE .OPTIONS NOECHO NOMOD DEFL=12u DEFW=8u .OPTIONS ACCT RELTOL=.01 :OPTIONS DISTRIBUTION=GAUSS
41 6. Paraules reservades 6.6 .TEMP 6.7 .PARAM.TEMP < valor de la temperatura >* Serveix per indicar la temperatura a la que es realitzarà el anàlisi La temperatura s’indica en graus centígrads. Per defecte cal 27ºC Exemples: .TEMP 125 .TEMP 6.7 .PARAM .PARAM < < nom > = < valor > >* .PARAM < < nom > = { expressió } >* Permet assignar a una cadena de caràcters un valor determinat .PARAM VSUPPLY = 5V .PARAM VCC=12V
42 7. Tipus d’anàlisis 7.1 Anàlisi en contínua .DC.DC [ LIN ] < variables a incrementar > < valor inicial > + < valor final > < increment > [ la següent especificació ] .DC [ OCT ] [ DEC ] < variables a incrementar > < valor inicial > + < valor final > < número de punts > [ la següent especificació ] .DC < variables a incrementar > LIST < valor >* + [ la següent especificació ] Per calcular la resposta del circuit a la variació d’un paràmetre El valor final pot ser menor que el valor inicial, però el de l’increment sempre més gran que 0 Es poden barrejar dos escombrats
43 7. Tipus d’anàlisis Tipus d’anàlisisLIN :Escombrat Lineal. L’increment serà lineal des de l’inici fins al final. El numero de punts OCT:Escombrat en octaves. L’increment de la variable serà de forma logarítmica i per octaves. El numero de punts indica els punts per octava. DEC:Escombrat en dècades. L’increment de la variable serà de forma logarítmica i per dècades. El numero de punts indica els punts per dècada. LIST:Utilitza una llista de valors. Realitza l’anàlisi per als valors que s’indiquen
44 7. Tipus d’anàlisis La variable a incrementar ha de ser del tipus:FONT: Font independent, tant de tensió com de corrent. Proporciona una rampa. PARAMETRE D’UN MODEL: TEMPERATURA: PARAMETRES GLOBALS Exemples: .DC VIN .DC LIN I2 5mA -2mA .1mA .DC VCE IB u .DC RES RMOD(R) .DC DEC NPN QFAST(IS) 1E-18 1E-14 5 .DC TEMP LIST .DC PARAM Vsupply
45 7. Tipus d’anàlisis 7.2 Anàlisi freqüencial .AC.AC [ LIN ] [ OCT ] [ DEC ] < número de punts > + < freqüència inicial > < freqüència fina > Determina la resposta freqüencial del circuit en un marge de freqüències determinat El tipus d’anàlisi es igual que en DC. Sempre s’ha d’indicar un tipus. Durant aquest anàlisi les úniques fonts que es tenen en compte son les fonts independents que no tenen amplitud zero en les especificacions d’AC Exemples: .AC LIN Hz 200Hz .AC OCT 10 1khz 16khz .AC DEC 20 1MEG 100MEG
46 7. Tipus d’anàlisis 7.3 Anàlisi de transitoris .TRAN.TRAN [ /OP ] < increment de visualització > < valor final > + < temps sense visualitzar [ límit màxim entre anàlisi] ] [ UIC ] Genera un anàlisi transitori des del temps=0 fins al temps = valor final < increment de visualització > marca el temps de mostreig Si afegim /OP ens donarà una informació detallada del punt de treball. Si afegim UIC, indica que tindrà en compte les condicions inicials. Exemples: .TRAN 1ns 100ns .TRAN 1ns 100ns 20ns UIC .TRAN 1ns 100ns 0ns .1ns
47 7. Tipus d’anàlisis 7.4 Anàlisi estadístic Monte Carlo .MC.MC < # número d’execucions > < anàlisi >
48 7. Tipus d’anàlisis Opció pot ser:LIST: Imprimirà al principi de cada execució el valor del paràmetre utilitzat per a cada component. OUTPUT (Tipus de sortida): Genera sortida de dades. Les sortides venen de les paraules reservades .PRINT, .PLOT i .PROBE ALL: Fa que totes els anàlisis es generin una sortida de dades. FIRST n Generen sortida de dades les n primeres vegades. EVERY n Genera la sortida cada n vegades RUNS
49 7. Tipus d’anàlisis 7.5 Anàlisi de Fourier .FOUR Exemples:.MC 10 TRAN V(5) YMAX .MC 50 DC IC(Q7) YMAX LIST .MC 20 AC VP (13,5) YMAX LIST OUTPUT ALL .MC 10 TRAN V(3) YMAX SEED = 9321 El LIST sempre el posarem amb OUTPUT ALL, per així poder observar tota informació 7.5 Anàlisi de Fourier .FOUR .FOUR < valor de freqüència >
50 7. Tipus d’anàlisis 7.6 Punt de treball .OPDóna un estudi detallat del punt de treball. Dóna informació de tota la potència que dissipen les fonts Exemples: 7.7 Funció de transferència .TF .TF < Variable de sortida > < nom de la font d’entrada > Dóna una relació entre la sortida i l’entrada linealitzant el circuit al voltant del punt de treball .TF V(5) VIN .TF I ( VDRIV ) ICNTRL
51 8. Exemples Exemple VS 1 0 12V R1 1 2 10 R2 2 0 1K R3 2 3 300.END
52 8. Exemples TRT.CIR 15 V RC 2K Q1 RB VBB Q2N2222 10K.MODEL RES2 RES (R=1 DEV / GAUSS = 5% TC1=5000uppm) .MODEL COND CAP (C=1 DEV / GAUSS = 10% TC=2000uppm) .LIB BIPOLAR.LIB VBB V VCC V RB RES2 10K RC RES2 2K QT Q2N2222 .DC VBB M .END Vcc=7,5V Vbb VBB 15 V Q1 Q2N2222 RC 2K RB 10K
53 9. Tractament de gràfics El tractament gràfic es fa mitjançant el PROBE. Aquest programa permet obtenir les formes d’ona i els resultats de la simulació. Menú Principal. Aquí seleccionem quin son els resultats que volem visualitzar. Si son de l’anàlisi DC,AC o TRAN Si hi ha algun anàlisi que no s’hagi realitzat no apareixerà en les opcions possibles.
54 9. Tractament de gràfics Menú AnalògicÉs el menú que apareix després del principal, a la part inferior. En aquest menú hi tenim totes les possibles funcions a realitzar.
55 Sistema de menus del PROBE9. Tractament de gràfics Sistema de menus del PROBE ...
56 9. Tractament de gràfics ...
57 9. Tractament de gràfics Add_trace: Afegeix una o més ones a la pantalla. Per visualitzar la llista de variables cal prémer F4 Les tensions i corrents es poden operar com si es tractes d’expressions amb OPERADORS: +, -, *, / FUNCIONS: ABS(X) Valor absolut d’x SGN(x) +1 si x>0; 0 si x=0; -1 si x<0 SQRT(x) Arrel quadrada d’x EXP(x) e elevat a x LOG(x) Logaritme neperià d’x LOG10(x) Logaritme d’x M(x) Mòdul d’x P(x) Fase d’x en graus
58 9. Tractament de gràfics R(x) Part real d’x IMG(x) Part imaginaria d’xG(x) Retard de grup d’x en segons PWR(x,y) x elevat a y SIN(x) Sinus d’x en radiants COS(x) Cosinus d’x en radiants TAN(x) Tangent d’x en radiants ATAN(x) En radiants , l’arctangent d’x ARCTAN(x) En radiants , l’arctangent d’x d(x) Derivada d’x respecte de la variable de l’eix X s(x) Integral d’x sobre la variables de l’eix X RMS(x) Mitja d’x sobre la variable de l’eix X MIN(x) Mínim de la part real d’x MAX(x) Màxim de la part real d’x
59 9. Tractament de gràfics Remove_trace: Esborra una o totes les gràfiques que s’estan representant. X_axis: Entra dins del menú de control de l’eix X. Y_axis: Entra dins del menú de control de l’eix Y. Plot_control: Entra dins del menú de control de gràfiques Exit: Tornar endarrera Add_plot: Afegeix una nova zona gràfica. Remove_plot: Elimina una nova zona gràfica. Selec_plot: Selecciona una zona de gràfica. Hard_copy: Copia una gràfica a la impressora o a un fitxer. Cursor: Activa dos cursors que ens donen en tot moment els valors dels punts de la gràfica. Per canviar de cursor
60 10. Utilitats de PSpice Stmed PartsEditor d’estímuls, és a dir, permet la creació de fonts de tensió o corrent en un entorn gràfic per posteriorment insertar-les dins del fitxer .CIR. Parts Permet la creació de models de components per posteriorment inclou-re’ls en el fitxer .CIR.
61 11. Bibliografia SPICE, A Guide to Circuit Simulation & Analysis using PSpice; Tuinenga; Prentice Hall, 1992 SPICE for Circuits & Electronics using PSpice; Rashid; Prentice Hall, 1990. PSpice and Circuit Analysis; J. Keown: Merrill, 1991. Electronic Circuits and Devices, T. Bogart; Merrill, 1993. Linear Electronics, T. Bogart; Merrill, 1994. Schematic Capture with PSpice, M.E. Herniter; Merrill, 1996.