630 likes | 776 Views
Simulación de circuitos con ordenador. Introducción a ESpice. Fundamentos Tecnológicos de los Computadores 1º de Ingeniería de Informática Universidad de Granada. Andrés Roldán Aranda Manuel J. Espín Milla. Índice. Introducción. Descripción de un circuito. Ficheros .cir
E N D
Simulación de circuitos con ordenador.Introducción a ESpice. Fundamentos Tecnológicos de los Computadores 1º de Ingeniería de Informática Universidad de Granada Andrés Roldán Aranda Manuel J. Espín Milla
Índice • Introducción. • Descripción de un circuito. Ficheros .cir • Componentes básicos. • Pasivos. • Fuentes. • Activos. • Tipos de análisis. • Análisis punto de operación. • Análisis transitorio. • Análisis AC (.AC SWEEP). • Análisis DC (.DC SWEEP). • Instrucciones de salida.
1. Introducción. Un poco de historia. • Spice: “Simulation program with integrated circuit emphasis”. • Inicialmente desarrollado en la Universidad de Berkley en los años 70 por el profesor Donald O. Pederson. • Herramienta de estudio de ICS en la Industria y Universidades. • Más información: • “The life of Spice”. Laurence W. Nagel.
Introducción. ¿Cómo funciona Spice? • Spice incluye un conjunto de aplicaciones que cubren las diferentes fases del diseño, simulación y análisis de circuitos. • Estas aplicaciones constituyen trabajan conjuntamente en un entorno EDA (Electronics Design Automation), constituido por: • Schematics (Editor gráfico de circuitos). • Spice A/D (Simulador de circuitos). • PCBoards (Edición de placas de circuitos impresos). • PSpice Optimizer. • Parts. • Probe. • Editor de Estímulos. • TextEdit.
Introducción. ¿Por qué ESpice? • Hoy en día hay varias versiones, como: • HSPICE (Para Unix) • ESPICE(Versión desarrollada en la UGR) • PSPICE (Desarrollada por Microsim. Hoy en el paquete ORCAD, de CADENCE). • Nosotros usaremos ESPICE: • Código libre. • Ocupa muy poco espacio. • Pueden simularse circuitos muy grandes. • Se trabaja a nivel de script. Mayor interactividad. • Resultados intermedios. • Uso de un único programa que trabaja con todo el circuito.
Schematics Ejemplo.sch librerías .slb Ejemplo.cir Puede contener Llamadas a otros ficheros.INC fichero.net ESPICE Introducción:¿Cómo se diseña un circuito en Spice? Schematics fichero.net Etapa gráfica Programa Fichero
fichero.net (no es necesario) librerías .lib Ejemplo.cir SPICE • Introducción.¿Cómo se diseña un circuito en ESpice? Programa Fichero
2. Descripción de un circuito.Ficheros .cir. • Estructura de un fichero .cir. Título Descripción del circuito Fuentes de tensión/corriente Componentes Modelos .control Análisis requerido Resultados requeridos .endc .end
2. Descripción de un circuito.Ficheros .cir. • Reglas generales: • La primera línea del código (el título o un comentario sobre el circuito) es ignorada por ESpice. • La última línea será la sentencia .end (de final). • Pueden añadirse comentarios empezando la línea con un asterisco (*). • Una línea no puede contener más de 80 caracteres. Se puede completar una sentencia en varias líneas comenzando las líneas adicionales con el signo +. • Todas las instrucciones en minúscula. • Para separar los distintos parámetros de una sentencia podemos utilizar indistintamente espacios o comas.
3. Componentes básicos. • Pasivos: • Resistencias, R. • Condensadores, C. • Inductancias, L. • Fuentes: • Independientes: V, I. • Dependientes: E, F, G, H. • Activos: • Diodos, D. • Transistores bipolares de unión (BJT), Q. • Transistores de efecto campo (FET), M.
3. Componentes básicos. nombre nodo1 nodo2 … valor/es o modelo La primera letra del nombre indica el tipo de componente. Además, se pueden añadir hasta 7 caracteres que identifican al elemento. Nodos entre los que se conecta el elemento. Siempre debe existir en un circuito un nodo 0 (tierra), como referencia de todas las tensiones. Valores de los parámetros que determinan su comportamiento o nombre del modelo usado para su simulación. El valor puede indicarse usando los sufijos.
3. Componentes básicos. • Pasivos: • Resistencias, R. Rnombre n+ n- valor. • Capacidades, C. Cnombre n+ n- valor [voltaje inicial] • Inductancias, L Lnombre n+ n- valor [corriente inicial] • Aunque son componentes sin polaridad, se les asigna una para establecer el signo de la corriente R C L
Ejemplo 1 Circuito RC * Descripción del circuito R1 1 2 1KOhm C1 2 0 1nF ¿Y la fuente? .control * Análisis requerido * Salida requerida .endc * Final del fichero .end 3. Componentes básicos. • Ejemplo 1: 1 2
Tipo de señal: continua, o variable con el tiempo. Nodos entre los que se conecta la fuente. Se define la corriente como positiva cuando va de N+ a N-. 3. Componentes básicos. • Fuentes independientes. La primera letra (V ó I) indica el tipo de fuente (de tensión o corriente). Además, se pueden añadir hasta 7 caracteres para identificar la fuente. Valores de los parámetros característicos de la fuente. • DC: tensión continua (análisis DC y punto de polarización). • Valor: tensión continua en voltios. • AC: tensión de frecuencia variable (sólo para análisis AC). • Valores: amplitud (en voltios) y fase (en grados). • Fuentes independientes. Tipos.
Ejemplo 2 *Descripción del circuito V1 1 0 DC 10V V2 3 0 DC 5V R1 1 2 1K R2 2 3 2K R3 2 0 3K .control * Análisis requerido * Salida requerida .endc * Final del fichero .end 3. Componentes básicos. • Ejemplo 2: 2 1 3
3. Componentes básicos. • NOTA: esta fuente, como las siguientes, sólo se emplea para análisis • transitorios. No tiene ningún efecto con análisis de respuesta en • frecuencia (.AC) • SIN: formas de onda sinusoidales • Sintaxis: SIN(off ampl freq td fase) • Fuentes independientes. Tipos.
* Ejemplo 1 Circuito RC * Descripción del circuito V1 1 0 SIN (0V 2V 1KHz 0s 0s) R1 1 2 1KOhm C1 2 0 1nF .control * Análisis requerido * Salida requerida .endc * Final del fichero .end 3. Componentes básicos. • Volvamos al Ejemplo 1: 1 2
3. Componentes básicos. • Fuentes independientes. Tipos (continuación). • PULSE: formas de onda cuadradas • Sintaxis: PULSE(V1 V2 TD TR TF PW PER)
Ejemplo 3 *Carga y descarga de un condensador *Descripción del circuito V1 1 0 PULSE (0V 5V 0s 0s 0s 0.5ms 1ms) R1 1 2 1KOhm C1 2 0 0.1uF .control * Análisis requerido * Salida requerida .endc * Final del fichero .end 3. Componentes básicos. • Ejemplo 3. Simular la carga y descarga del condensador del circuito. La señal de entrada es de tipo cuadrado, oscila entre 0 y 5 V y su periodo es 1ms. Permanece el mismo tiempo en los dos niveles de tensión.
3. Componentes básicos. • Fuentes independientes. Tipos (continuación): • EXP: formas de onda exponenciales • Sintaxis: EXP(V1 V2 TD1 TAU1 TD2 TAU2 ) • NOTA: no es periódica
3. Componentes básicos. • Fuentes independientes. Tipos (continuación): • PWL: ondas definidas a trozoos (piecewise linear waveform) • Sintaxis: PWL(T1 V1 <T2 V2 T3 V3 T4 V4 >).
3. Componentes básicos. • Una misma fuente puede ser de varios tipos. En ese caso, dependiendo del tipo de análisis requerido, la fuente actuará de distinto modo: • DC: • Punto de polarización • Análisis DC. • AC: • Análisis AC. • SIN, PULSE, EXP, PWL: • Análisis transitorio. • Entonces, la sintaxis para nombrar la fuente es: Vnombre N+ N- [DC valor] [AC amplitud fase] +[especificaciones transitorias] • Ejemplos: • VSIG 10 5 SIN(2V 2V 5Hz 1s 1s). • Fuente de voltaje. Análisis transitorio. • Vfuente 1 0 DC 2V AC 2V 0. • Fuente de tensión. Punto de Polarización. Análisis DC y AC. • ISW 10 5 DC 2A AC 2A 0 PULSE(1A 5A 1sec .1s .4s .5s 2s). • Fuente de tensión. Punto de Polarización. Análisis DC y AC. Análisis transitorio.
3. Componentes básicos. • Fuentes dependientes. • Ejemplo: Fuente de tensión controlada por tensión. Enombre nudo+ nudo- nudocontrol+ nudocontrol- ganancia • La tensión entre nudo+ y nudo- es la tensión entre nudocontrol+ y nudocontrol- multiplicada por la ganancia. • En el lugar de E, las siguientes letras indican los otros posibles tipos de fuentes dependientes: • E: tensión controlada por tensión. • G: intensidad controlada por tensión. • F: intensidad controlada por intensidad. • H: tensión controlada por intensidad. • Existen otras posibilidades para la relación entre la fuente dependiente y la señal de control (ver manual de ESpice)
¡Qué lío! ¡No sé qué es lo más importante! Ejemplo.cir • Fuentes dependientes. • Fuentes independientes. • Dependiendo del tipo de análisis. • Análisis DC o punto de polarización ( V(I) o unico V(I)). V/Inombre n+ n- DC valor. • Análisis AC ( frecuencias). V/Inombre n+ n- AC valor fase. • Análisis transitorio (f(tiempo)). V/Inombre n+ n- SIN/PULSE/EXP/SFFM/PWL ( ). • Componentes pasivos (R, L, C). R/L/C/nombre n+ n- valor. RESUMEN CHULETERO. Una vez definido un circuito, ¿qué queremos simular?
4. Tipo de análisis. • Tipos de análisis: Barrido de frecuencia Diagramas de Bode Barrido de voltaje Punto de funcionamiento Barrido de tiempo • NOTA IMPORTANTE: • dentro del bloque .control - .endc, las instrucciones no llevan punto.
4. Tipo de análisis.Análisis del Punto de Operación. • OP • Calcula las corrientes y voltajes en un circuito, es decir, el punto de operación. • Se ejecuta antes de cualquier otro análisis. • Sintaxis: OP
Circuito: Ejemplo 2 Análisis de punto de trabajo realizado a TEMP = 27.0 ºC y TNOM = 27.0 ºC v(1) = 1.000000e+01 v(2) = 6.818182e+00 v(3) = 5.000000e+00 v1#branch = -3.18182e-03 v2#branch = 9.090909e-04 4. Tipo de análisis.Análisis del Punto de Operación. • Ejemplo 2: Calcular las tensiones y corrientes en este circuito. Ejemplo 2 *Descripción del circuito V1 1 0 DC 10V V2 3 0 DC 5V R1 1 2 1K R2 2 3 2K R3 2 0 3K .control * Análisis requerido OP * Salida requerida Print all Print all>>ejemplo2.txt .endc * Final del fichero .END 2 1 3
4. Tipo de análisis.Análisis Transitorio. • TRAN • Esta sentencia pide a ESpice un análisis de la respuesta del circuito en función del tiempo • Sintaxis: TRAN TSTEP TSTOP <TSTART <TMAX>><UIC> Paso mínimo de tiempo en los cálculos del simulador. Sobreescribe el valor por defecto que tenga el simulador Tiempo final de la simulación Tiempo inicial (por defecto 0). Es el incremento de tiempo para los resultados generados por los comandos .PRINT o .PLOT. No afecta a la discretización del tiempo realizada para el análisis. Indica a ESpice que use las condiciones iniciales de corriente y tensión especificadas para capacidades e inductores y se salte el cálculo del punto de polarización
4. Tipo de análisis.Análisis Transitorio. • Volmamos al ejemplo 3. Simular la carga y descarga del condensador del circuito. La señal de entrada es de tipo cuadrado, oscila entre 0 y 5 V y su periodo es 1ms. Permanece el mismo tiempo en los dos niveles de tensión. Ejemplo 3 *Carga y descarga de un condensador *Descripción del circuito V1 1 0 PULSE(0V 5V 0s 0s 0s 0.5ms 1ms) R1 1 2 1KOhm C1 2 0 0.1uF .control *Análisis requerido TRAN 0.01ms 5ms 0 *Resultados requeridos. Print all>>results.txt Plot V(1) v(2) .endc .END
4. Tipo de análisis.Análisis AC. • AC • Análisis de la respuesta del circuito ante señales sinusoidales de diferentes frecuencias (dentro de un intervalo seleccionado). • Sintaxis: AC SweepType PoitsValue StartFrequency EndFrequency • Tipo de barrido: • LIN (barrido lineal) • DEC (barrido por décadas) • OCT (barrido por octavas) Frecuencia inicial Frecuencia final • Número de puntos: • Número total de puntos, frecuencias (Barrido LIN). • Número de puntos por década (Barrido DEC). • Número de puntos por octava (Barrido OCT). • Se puede establecer como AC cualquier fuente variable en el circuito. Las que son DC se anulan al hacer el análisis AC. • Recuérdese que SIN es una especificación para análisis transitorio.
4. Tipo de análisis.Análisis AC. • Volmamos al circuito del ejemplo 1. Obtener el diagrama de Bode del filtro RC paso bajo mostrado en la figura Ejemplo 1 Filtro RC paso bajo *Descripción del circuito V1 1 0 DC 0V AC 1V SIN(3V 2V 1KHz) *solo se usa AC convencional R1 1 2 10KOhm C1 2 0 100nF .control *Análisis requerido AC DEC 10 10Hz 10KHz *Resultados requeridos Print all>>ejemplo1.txt Plot V(2)/V(1) .endc .END
4. Tipo de análisis.Análisis DC. • DC • Análisis en DC en el que se realiza un barrido de una variable especificada, que puede ser el valor de una fuente de tensión, de corriente o la temperatura dentro de un intervalo de valores previamente seleccionado. • El análisis puede ser anidado, es decir, se pueden cambiar dos variables o parámetros. • Sintaxis (dos posibilidades): DC SRCNAM VSTART VSTOP VINCR [SRC2 START2 STOP2 INCR2] Nombre de la fuente independiente de la tensión o corriente a barrer. Valor inicial, final e incremento, Respectivamente. Por cada valor de la variable anidada se hace un barrido de la principal. También hay que indicar los parámetros de este barrido.
Ejemplo 4 *Descripción del circuito Vg 1 0 DC 1 R1 1 2 50 R2 2 3 1K R3 2 4 1K R4 3 0 1.1K R5 4 0 1K RL 3 4 600 .control *Análisis requerido DC Vg 0V 20V 0.1V *Resultados requeridos Print all>>ejemplo4.txt Print (v(3)-v(4))/600 Plot (v(3)-v(4))/600 .endc .END 4. Tipo de análisis.Análisis DC. • Ejemplo 4. Dado el siguiente circuito, ¿para qué valor de Vg comprendido entre 0 y 20 V la corriente que atraviesa RL es igual a 150 µA?
NUEVO RESUMEN CHULETERO. Ejemplo.cir • Análisis transitorio. TRAN TSTEP TSTOP <TSTART <TMAX>><UIC> • Análisis AC. AC SweepType PoitsValue StartFrequency EndFrequency • Análisis DC. DC SRCNAM VSTART VSTOP VINCR [SRC2 START2 STOP2 INCR2] Una vez definido un circuito y simulado, ¿cómo obtenemos los resultados?
5. Instrucciones de salida.Identificación de variables de salida. • Tras la simulación, las variables de salida son: Vn#branch/In#branch Ln#branch Intensidad a través de la fuente de tensión o correinte Vn/In o la inductancia Ln • Además, con el análisis AC, se pueden añadir los siguientes sufijos para realizar distintas operaciones:
5. Instrucciones de salida.Resultados requeridos. • PRINT • Se usa para presentar y grabar en un fichero los resultados de un análisis en forma de tabla de datos. • Sintaxis: .PRINT variables u operaciones .PRINT variables>>fichero.txt .PRINT all>>fichero.txt • Ejemplos: .PRINT V(3) V(2)-V(3) .PRINT VM(2) VP(2) VR(5) VDB(5)
5. Instrucciones de salida.Resultados requeridos. • PLOT • Posteriormente, estos resultados se pueden representar gráficamente. • Sintaxis: plot exprs ylimit ylo yhi xlimit xlo xhi xlog ylog loglog xlabel “word” ylabel “word” title “word” linear linplot|pointplot • Ejemplos: .PLOT V(4) V(5) V(1) .PLOT V(17)-V(5) V(17) .PLOT VM(5) VM(31, 24) VDB(5) VP(5)
5. Instrucciones de salida.Otros comandos y utilidades. GUARDAR LOS ARCHIVOS .CIR Y LOS GRÁFICOS OBTENIDOS. • Para crear un punto .cir, editar con el bloc de notas. Guardar como-> Elegir la opción “Todos los archivos” y guardar el archivo con el nombre “fichero.cir”. • Para copiar un gráfico o la interfaz de usuario, se hace una captura de pantalla.
5. Instrucciones de salida.Otros comandos y utilidades. • Para el circuito del ejemplo 2, crear un fichero .cir que calcule su punto de operación. Obtener, además, un fichero de salida .txt con los resultados y copiar en la interfaz con los resultados. Ejemplo 2 *Descripción del circuito V1 1 0 DC 10V V2 3 0 DC 5V R1 1 2 1K R2 2 3 2K R3 2 0 3K .control * Análisis requerido OP * Salida requerida Print all Print all>>ejemplo2.txt .endc * Final del fichero .END
5. Instrucciones de salida.Otros comandos y utilidades. Pero, ¿y la intensidad por R3?
5. Instrucciones de salida.Otros comandos y utilidades. • NOTA IMPORTANTE: ESpice sólo da las intensidades de corriente que pasan por fuentes de tensión o corriente e inductancias. Por tanto, para calcular las corrientes hay 2 opciones: • Opción 1 (más rápida pero hay que pensar). Obtener la intensidad que circula por un elemento sabiendo la tensión entre sus extremos mediante la ejecución de un comando print de una operación. 2 1
Ejemplo 2b *Descripción del circuito V1 1 0 DC 10V V2 3 0 DC 5V Vp 4 0 DC 0V R1 1 2 1K R2 2 3 2K R3 2 4 3K .control * Análisis requerido OP * Salida requerida Print all Print all>>ejemplo2b.txt .endc * Final del fichero .END 5. Instrucciones de salida.Otros comandos y utilidades. • NOTA IMPORTANTE: ESpice sólo da las intensidades de corriente que pasan por fuentes de tensión o corriente e inductancias. Por tanto, para calcular las corrientes hay 2 opciones: • Opción 2 (requiere modificar .cir, por tanto, más lenta). Colocar una fuente de tensión de prueba DC de 0 V en serie con el elemento.
5. Instrucciones de salida.Otros comandos y utilidades. • Además, se puede hacer uso del comando: • Plot/print i(nombrefuentetension) • Recuerda, por tanto, los únicos usos de print/plot • Plot/print i(nombrefuentetension)/i(nombreinductancia) • Plot/print v(nodo)
5. Instrucciones de salida.Otros comandos y utilidades. • Supongamos que tenemos más de un análisis en un mismo .cir. Para cambiar de un análisis a otro se usa: • Setplot o setprint
Ejemplo Filtro RC paso bajo *Descripción del circuito V1 1 0 AC 1V SIN(3V 2V 1KHz) R1 1 2 10KOhm C1 2 0 100nF .controlc *Análisis requerido TRAN 0.01ms 5ms 0 0.01ms AC DEC 10 10Hz 10KHz *Resultados requeridos .endc .END 5. Instrucciones de salida.Otros comandos y utilidades. • Ejemplo 1b. Obtener el diagrama de Bode (V(2)/V(1)) del filtro RC paso bajo mostrado en la figura y su respuesta transitoria (V(2)) ante una señal sinusoidal de frecuencia 1KHz, amplitud 2 V y 3 V de offset. En cada caso, guardar los datos en un archivo .txt y capturar el gráfico y la interfaz correspondientes.
5. Instrucciones de salida.Otros comandos y utilidades. • Primero averiguo cuál de las dos simulaciones está activada. Uso el comando setplot. • Vemos que está activada la simulación tran. Nos quedamos ahí (pongo tran).
5. Instrucciones de salida.Otros comandos y utilidades. • Análisis tran. Respuesta a una señal sinusoidal.
5. Instrucciones de salida.Otros comandos y utilidades. • Ahora, cambio al análisis AC, con setplot.
5. Instrucciones de salida.Otros comandos y utilidades. • Diagrama de Bode.