Download PSPICE y OrCAD - Departamento de Electrónica y Tecnología de
Document related concepts
Transcript
Simulación de circuitos con ordenador. Introducción a PSPICE y OrCADCAPTURE Francisco Jiménez Molinos Departamento de Electrónica y Tecnología de Computadores Universidad de Granada Introducción Introducción Spice: “Simulation program with integrated circuit emphasis” Inicialmente desarrollado en la Universidad de Berkley en los años 70 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) Introducción: un poco de historia PSPICE y OrCAD En 1984 nace de manos de MicroSim Corporation la primera adaptación para ordenadores personales: PSpice. Desde entonces, PSpice ha ido renovándose continuamente. Versiones ampliamente extendidas de PSpice son la 8.0 (última desarrollada por MicroSim) la 9.1 (primera tras la fusión de OrCAD y MicroSim), la 9.2 (esta revisión del simulador es la primera desde la fusión de Cadence y OrCAD). La última versión ofrecida es la 16.5, disponible en: http://www.cadence.com/products/orcad/pages/downloads.aspx Limitaciones de la Versión de Evaluación 16.5: Editor de esquemas: El espacio está limitado a única hoja DIN A4. Simulador: 64 nodos en el circuito (caso analógico) 10 transistores 65 dispositivos digitales Librerías: 39 componentes analógicos y 134 digitales No permite guardar librerías con más de 15 componentes Otras limitaciones: Generador de estímulos limitado a ondas seno y relojes digitales Optimización de circuitos limitada a un objetivo, un parámetro y una condición Introducción: ficheros y programas Ficheros de entrada y salida en un simulador basado en SPICE ejemplo.cir Puede contener llamadas a otros ficheros .INC fichero.net librerías .lib fichero.net SPICE Programa Fichero ejemplo.out Ejemplo.dat PROBE Introducción: ficheros y programas Spice resuelve el circuito La descripción del circuito (qué elementos lo forman y cómo están conectados) está en los ficheros de extensión .cir, que pueden contener llamadas (INC) a otros ficheros. Por ejemplo, la lista de componentes y nodos entre los que se conectan suele almacenarse en un fichero de extensión .net al que luego se llama desde el fichero .cir Cómo se comportan los diferentes dispositivos y subcircuitos se describe en ficheros de extensión .lib (aunque a veces también en el propio .cir) En .out se proporciona la información solicitada al simulador (fichero ASCII) También se genera otro fichero, de extensión .dat en el que se recogen (en formato binario) todas las tensiones y corrientes del circuito. Se pueden visualizar gráficamente con el programa PROBE Manejo de PSPICE Ficheros .cir. Estructura Estructura fichero .cir Título Descripción del circuito Fuentes de tensión/corriente Componentes almacenados en Modelos Usualmente librerías de extensión .lib Análisis requerido Resultados requeridos .END Netlist. Normalmente incluido a través de un fichero de extensión .net Ficheros .cir. Reglas generales Reglas generales para crear un fichero .cir: La primera línea es ignorada por Spice. Suele ser el título o un comentario sobre el circuito La última línea será la sentencia .END (de final) Se pueden añadir 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 + PSPICE no diferencia letras mayúsculas de minúsculas, aunque es recomendable colocar los nombres de los elementos en mayúsculas Para separar los distintos parámetros de una sentencia podemos utilizar espacios, tabuladores o comas. Son equivalentes y no importa cuántos se usen Ejemplo 1. Edición de ficheros .cir con SPICE y simulación con Pspice A/D El fichero .cir puede editarse a mano. Ejemplo (de momento, no entramos en detalles sobre la estructura y sintaxis ** del fichero): ** Circuito RC Descripción del circuito R1 1 2 1KOhm C1 2 0 1nF V1 1 0 SIN 0V 2V 1KHz ** Análisis requerido .TRAN 1ms 20ms 0us 1us ** Salida requerida .PROBE V(*) I(*) ** Final del fichero .END Crear o cargar este fichero .cir, pues nos basaremos en este ejemplo en las siguientes transparencias Introducción: ventana de Pspice A/D Accesos rápidos a ficheros .cir, .out y otros Controles de Probe Se incluye un editor de textos para generar o editar ficheros Ventana de mensajes .cir Cursores Ventana con información sobre el transcurso de las simulaciones Resultados requeridos Una vez definido un circuito y simulado, ¿qué queremos saber de él? ¿cómo obtenemos los resultados? • Recordatorio de la relación entre los diferentes programas y ficheros. • El fichero de extensión .dat no es de texto y sus datos sólo pueden representarse con la ayuda del programa PROBE. • ejemplo.cir SPICE Programa Fichero ejemplo.out Ejemplo.dat PROBE Resultados requeridos El control de los datos de salida que se presentan en el fichero .OUT se realiza mediante la orden .PRINT Los resultados aparecen en forma de tabla de datos Sintaxis: .PRINT tipo_de_análisis variables Ejemplos: .PRINT DC V(3) V(2,3) V(R1) I(VIN) IB(Q13) VBE(Q13) .PRINT AC VM(2) VP(2) VM(3,4) VG(5) VDB(5) .PRINT TRAN V(3) V(2,3) ID(M2) I(VCC) Resultados requeridos .PROBE: sirve para generar un fichero (de extensión .dat) donde se guardan los resultados de los análisis en formato binario. Posteriormente, estos resultados se pueden representar gráficamente con el programa Probe. Sintaxis: .PROBE [/CSDF] [Variables de salida] Hace que el fichero sea con formato de texto y de extensión .txt Si no se especifica ninguna variable de salida, se almacenan las tensiones de todos los nudos y las intensidades por todos los elementos. Si se quiere un fichero menos voluminoso, se puede solicitar que sólo se almacenen las variables especificadas. Identificación de variables de salida Además, con el análisis AC, se pueden añadir los siguientes sufijos: Uso del programa PROBE El programa PROBE es muy sencillo e intuitivo. No obstante, se presentan a continuación algunas indicaciones como ayuda al principio: 1. Añadir una nueva curva al gráfico actual: menú Trace/Add trace. Luego elegir la variable que se desea representar. 2. Para representar una función matemática de alguna variable o variables del circuito: seleccionar (o teclear) alguna de las funciones en la ventana de la derecha (una vez dentro del menú Trace/Add trace). Por ejemplo, con DB(V(2)/V(1)) se representa en decibelios el cociente entre las tensiones en los nodos 2 y 1. 3. Añadir una nueva gráfica: menú Plot/Add plot to window 4. Eliminar una gráfica: seleccionarla y luego ir al menú Plot/Delete plot 5. Para exportar los datos a otro programa (como hoja de cálculo): menú Edit/Select All. Luego, menú Edit/Copy o Ctrl+C. Finalmente, pegar en el programa de destino. Creación de esquemas con CAPTURE Programas editores de esquemas Los programas y ficheros descritos hasta ahora constituyen el “núcleo” de cualquier simulador basado en SPICE y, de hecho, no se necesitan más programas para resolver los circuitos. No obstante, existen muchos programas y suites basados en SPICE que aportan herramientas adicionales que facilitan el trabajo de descripción del circuito. Una de las más conocidas es PSPICE, originalmente de la empresa Microsim y actualmente integrado en el paquete OrCAD de CADENCE. Entre otros muchos programas, esta suite incorpora los programas Capture y Schematics para la edición gráfica de circuitos (que el propio programa traduce a un fichero .cir). En la siguiente transparencia se esquematiza la relación entre los diferentes programas y ficheros que se generan o sirven de entrada y salida dentro del entorno de PSPICE. Programas editores de esquemas librerías .olb Capture ejemplo.opj ejemplo.cir Puede contener llamadas a otros ficheros .INC fichero.net librerías .lib fichero.net SPICE Programa Fichero ejemplo.out Ejemplo.dat PROBE Ejemplo 2 (con CAPTURE) Simulación del circuito RC empleando capture: Para facilitar esta tarea usaremos capture. Abrir el programa (Inicio/Pspice Studend/Capture Student) y seguir los siguientes pasos: Ejemplo 2 (continuación) 1.Abrir el programa capture: Menú Inicio/Todos los programas/Cadence/Orcad 16.5 Lite/Orcad Capture Cis Lite 2.Empezar un nuevo proyecto: File/New/Project... Elegir Analog or Mixed A/D y la ubicación del proyecto 3.En la siguiente ventana, seleccionar Create a blank project 4. Con la ventana correspondiente al esquema activa, ir al menú Place/Part (tecla rápida: P) 5. Si no aparece, añadir la librería de componentes analog.olb (contiene componentes pasivos básicos): Add library → entrar en carpeta Pspice → seleccionar archivo analog.olb Ejemplo 2 (continuación) 6. Elegir el componente R (resistencia) y pinchar OK. Situar en la posición deseada y dar a escape si no queremos situar más resistencias. 7.Colocar una capacidad (componente C). Si se quiere rotar: ctrl+R ó Edit/Rotate 8. Colocar una fuente de tensión VSRC (antes añadir la librería source.olb) 9. Para unir los diferentes componentes, use la herramienta wire: Place/Wire (ó W) Ejemplo 2 (continuación) 10. En cualquier simulación Spice exige que esté definido un “nodo 0” respecto al cual se referirán todas las tensiones. Esto lo haremos colocando un elemento ground o masa: Place/Ground (G). Añadir la librería de componentes source.olb y elegir 0/GND. 11. Para cambiar el nombre de los elementos o su valor hay que hacer doble clic en el atributo correspondiente (nombre o valor). También se pueden ver y modificar todas las propiedades asociadas a un componente usando el editor de propiedades (se accede haciendo doble clic en el componente o seleccionándolo y eligiendo Edit/Properties. Ejemplo 2 (continuación) 12. Dar los siguientes valores a la resistencia y a la capacidad, respectivamente: 1KOhm y 0.1uF (importante: no añadir espacio entre el valor y la unidad) 13. Especificar, para la fuente de tensión, los siguientes valores: 2V como valor de DC y 1V como valor AC. 14. Ya está definido el circuito. Sin embargo, si intentamos ejecutar la simulación (menú Pspice/run) la opción no está activa, ¿por qué? 15. No obstante, sí que podemos generar el fichero .net, que contiene la definición del circuito (menú Pspice/Create netlist) 16. Llegados a este punto vamos a aprovechar para: • Ver si se ha creado el archivo .net y abrirlo con el Bloc de notas u otro editor de texto para analizar su contenido (buscar en la carpeta PspiceFiles, dentro del directorio donde creamos el proyecto al principio) • Familiarizarnos con el entorno de Capture y con la estructura del projecto que va generando. Por ejemplo, abrir el mismo fichero .net, pero ahora desde Capture. COMPONENTES Ficheros .cir. Componentes básicos Cada componente básico se describe mediante una sentencia con según esta sintaxis: nombre nodo1 nodo2 … valor/es o modelo La primera letra del nombre indica el tipo de componente. Luego, hasta 7 caracteres que identifican al elemento. Ejemplo: Nodos en los que se conecta el elemento. Es obligatorio que exista en el circuito el nodo 0 (masa), respecto del cual se referirán las tensiones. El resto se puede definir con cadenas alfanuméricas Cejemplo 1 0 4.7n M1 1 2 0 0 fulanico Valores de los parámetros que determinan su comportamiento o nombre del modelo usado para su simulación. El valor puede indicarse usando sufijos. Ficheros .cir. Componentes básicos Tipos de componentes básicos: Pasivos: R, L, C, K Fuentes: Independientes: V, I Dependientes: E, F, G, H Activos: D, M, Q, … Interruptores: S, W Se pueden crear subcircuitos empleando componentes básicos como constituyentes y definiendo unas entradas y salidas Ficheros .cir. Componentes pasivos Resistencias Rnombre n+ n- valor n+ ni Capacidades Cnombre n+ n- valor [voltaje inicial] Inductancias Lnombre n+ n- valor [corriente inicial] Aunque son componentes sin polaridad, se les asigna una para establecer el signo de la corriente Ejemplos: R1 1 0 100MEG Lbob 2 0 3.5u n+ ni n+ ni Ficheros .cir. Componentes pasivos Acoplamiento magnético Knombre L1 L2 acoplamiento L1 y L2 son inductancias previamente definidas. Acoplamiento tiene un valor entre -1 y 1 Siguiendo el convenio del punto, el punto se coloca en el primer nudo de la sentencia de descripción de cada inductancia La inductancia mutua viene dada por: M 12 = acoplamiento × L1 L2 Por ejemplo, para definir un transformador: *Devanados Lprim 1 2 0.5m Lsecu 3 4 0.5m *Transformador Ktrans Lprim Lsecu 0.99 Ficheros .cir. Fuentes independientes Sintaxis: Vxxx Nombre La primera letra del nombre (V ó I) indica el tipo de fuente (tensión o corriente). Después, hasta 7 caracteres que identifican a la fuente. N + N- DC valor Nodos Tipo de señal: continua, alterna o variable con el tiempo. Ver abajo. Nodos en los que se conecta el elemento. Se define la corriente como positiva cuando va de N+ a N-. Tipo Valores de los parámetros que definen las características de la fuente. Tipos: DC: tensión continua (análisis DC y polarización) Valor: tensión continua en voltios AC: tensión sinusoidal de frecuencia variable (para análisis AC) Valores: amplitud (en voltios) y fase (en grados) Tipos transitorios (para simulaciones en función del tiempo) Fuentes independientes con Capture Con Capture: Menú Place/Part (P) y elegir (de la librería source.olb) Elegir el símbolo correspondiente al tipo de fuente que queremos usar (ver más abajo) Editar el nombre (si lo deseamos) y los valores que definen las características de la fuente (no hace falta ahora saber la sintaxis de Spice ni el orden en que aparecen los parámetros de memoria; recuerde que Capture generará por nosotros la línea correspondiente a la fuente en el fichero .cir) Fuente tipo DC Fuente tipo AC Nombre símbolo: VDC Nombre símbolo: VAC Observación: el símbolo VAC permite definir la misma fuente también como de tipo DC Ejemplo 3 Se desea simular el siguiente circuito. Escribir las líneas correspondientes a la descripción del mismo en un fichero .cir. Ejercicio 3 *Descripción del circuito .END Generar con Capture el netlist (fichero .net) correspondiente a este circuito. Ayuda: con el editor de esquemas, definir el circuito. Después: menú Pspice/Create Netlist Ficheros .cir. Tipos de fuentes independientes Tipos transitorios (continuación): Los siguientes tipos son todos para análisis transitorios. Cada uno especifica una forma de onda SIN: formas de onda sinusoidales Valores: SIN(off ampl freq td df fase) Con Capture Fuente VSIN ¿Por qué? 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) Ficheros .cir. Tipos de fuentes independientes Tipos transitorios (continuación) PULSE: formas de onda con dos niveles de tensión o corriente (pulsos). Se puede especificar el tiempo de subida y de bajada. Valores: PULSE(I1 I2 td tr tf pw per) Con Capture Fuente VPULSE Ficheros .cir. Tipos de fuentes independientes Tipos transitorios (continuación): PULSE: formas de onda con dos niveles de tensión o corriente (pulsos). Se puede especificar el tiempo de subida y de bajada. Valores: PULSE(I1 I2 td tr tf pw per) Onda triangular mediante fuente tipo pulse: +1V Pulse Width = 10µs Delay Time << 2µs Pulse Width << 2µs +0.5V +1V 0V +0.5V Period = 20µs 0V - 0.5V Rise Time = 2µs Fall Time = 2µs - 0.5V Delay Time = 2µs Period = 4µs -1V Rise Time = 3µs 2µs 5µs Fall Time = 1µs T ime 15µs 16µs - 1V 20µs 2µs 4µs 6µs 8µs T ime Ficheros .cir. Tipos de fuentes independientes Tipos transitorios (continuación): EXP: formas de onda exponenciales Valores: EXP(I1 I2 td1 tc1 td2 tc2) NOTA: no es periódica Con Capture Fuente VEXP Ficheros .cir. Tipos de fuentes independientes Tipos transitorios (continuación): EXP: formas de onda exponenciales. Explicación: VEXP se mantiene al valor V1 durante TD1 seg. Entonces la tensión varía exponencialmente desde V1 a V2 utilizando una cte de tiempo TC1. Esta variación se produce durante TD2-TD1 seg. A continuación la tensión cambia en el instante TD2 nuevamente al valor V1 con una cte de tiempo TC2. 1.2V 0.8V 0.4V − ( t −td 1) v1 + ( v 2 − v1) 1 − e tc1 td 1 ≤ t ≤ td 2 0V -0.2V 0s 2ms 4ms 6ms 8ms 10ms V(Vin2) Time 12ms 14ms 16ms 18ms 20ms − ( td 2 −td 1) − ( t − td 2 ) v1 + ( v 2 − v1) 1 − e tc1 − 1 − e tc 2 t ≥ td 2 Ficheros .cir. Tipos de fuentes independientes Tipos transitorios (continuación): SFFM: ondas sinusoidales moduladas en frecuencia Valores: SFFM(ioff iampl fc mod fm) Con Capture Fuente VSFFM Ficheros .cir. Tipos de fuentes independientes Tipos transitorios (continuación): PWL: ondas definidas a tramos (piecewise linear waveform) Valores: PWL(t1 i1 t2 i2 t3 i3 ...) Hay otras posibilidades (como leer los puntos de un fichero, hacer periódica la señal, ...). Más información en la Guía de Referencia 4.0V Con Capture 2.0V 0V Fuente VPWL -2.0V 0s 2s 4s 6s 8s V(Vin1) Time 10s 12s 14s Ficheros .cir. Tipos de fuentes independientes Una misma fuente puede ser de varios tipos. En ese caso, cómo actúe la fuente depende del tipo de análisis requerido. En este caso, la sintaxis es: Vnombre N+ N- [DC valor] [AC [especificaciones transitorias] amplitud fase] + Con Capture Ejemplos: VSIG 10 5 SIN(2 2 5Hz 1sec 1 30) Fuente VSRC Iseno 1 0 SIN(0.5A 1A 50Hz) Vfuente 1 0 DC 2 AC 2 0 ISW 10 5 PULSE(1A 5A 1sec .1sec .4sec .5sec 2sec) Ficheros .cir. Fuentes dependientes Fuente de tensión controlada por tensión. Sintaxis: 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: Con Capture E: tensión controlada por tensión G: intensidad controlada por tensión F: intensidad controlada por intensidad H: tensión controlada por intensidad Fuente dep. E (Librería analog.olb) Existen otras posibilidades para la relación entre la fuente dependiente y la señal de control (ver manual de Spice) Ficheros .cir. Fuentes dependientes Fuente de tensión controlada por tensión. Sintaxis: 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 Spice) Simulación Tipos de análisis Análisis requerido Una vez definido un circuito, ¿qué queremos simular? Hay múltitud de tipos de análisis. Nosotros sólo estudiaremos los rodeados con una línea roja. Análisis requerido Para definir el tipo y características de una simulación: Menú Pspice/New simulation profile (o Edit simulation profile) En la pestaña Analysis elegimos el tipo de análisis que deseamos y especificamos los parámetros correspondientes En las siguientes transparencias veremos qué simulaciones se pueden realizar y qué parámetros deben definirse Análisis transitorio .TRAN Esta sentencia pide a Spice un análisis de la respuesta del circuito en función del tiempo Sintaxis: .TRAN PrintStepValue FinalTimeValue [StepCeiling]] [SKIPBP] 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, que se indica por Step Ceiling Es el paso mínimo de tiempo en los cálculos del simulador. Sobreescribe el valor por defecto que tenga el simulador [NoPrintValue + Tiempo en el que finaliza la simulación Señala el tiempo a partir del cual se representarán los resultados Indica a Spice 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 Ejemplo 4 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 Ejercicio 4 *Carga y descarga de un condensador *Descripción del circuito *Análisis requerido .TRAN 0.01ms 5ms 0 0.01ms *Resultados requeridos .PROBE .PRINT TRAN V(1) V(2) .END Ejemplo 4 (continuación) Con Capture: 1. Seguir los pasos del ejemplo 1 para crear el circuito. Para implementar la fuente de tensión cuadrada tenemos dos posibilidades: a) Usar la fuente genérica conectada anteriormente en el ejemplo y especificar los siguientes valores en el campo Value: PULSE 0 5 0 0 0 0.5m 1m b) Colocar una fuente de tipo pulse: Place/Part … Elegir librería Source y componente Vpulse. 2. Para especificar qué tipo de simulación deseamos realizar, ir al menú: Pspice/New simulation profile. Elegir la pestaña Analysis y en el desplegable Analysis type elegir Time Domain (transient). 3. Especificar los parámetros para el análisis transitorio adecuados a la señal de la fuente. En nuestro caso, dejaremos los valores por defecto, excepto el tiempo de finalización, que fijaremos en 20ms y el paso de tiempo máximo (10us). 4. Pulsar en Aceptar y ejecutar la simulación. 5. Observar los resultados mostrados en la ventana de Pspice A/D (Probe). Mostrar la tensión proporcionada por la fuente y la que cae en el condensador. Ver el contenido del fichero .cir Análisis AC .AC El barrido en AC es un análisis en frecuencia que calcula la respuesta del circuito ante señales sinusoidales de diferente frecuencia (dentro del rango seleccionado). Ante circuitos no lineales, se linealiza el comportamiento del circuito alrededor del punto de polarización (modelo de pequeña señal) Sintaxis: .AC SweepType Tipo de barrido (cambio en las frecuencias de la señal). Debe especificarse uno de los siguientes códigos: LIN (barrido lineal) DEC (barrido por décadas) OCT (barrido por octavas) PoitsValue StartFrequency EndFrequency Su significado depende del tipo de barrido: Con barrido LIN es el número total de puntos (frecuencias diferentes) Con barrido DEC es el número de puntos por década Con barrido OCT es el número de puntos por octava Frecuencia inicial Frecuencia final Se puede establecer como AC cualquier fuente del circuito. Las que no son AC se anulan al hacer el análisis AC. Recuérdese que SIN es una especificación para análisis transitorio. Ejemplo 5 Usando Capture y Pspice A/D, obtener la respuesta en frecuencia del filtro RC paso bajo mostrado en la figura y su respuesta transitoria ante una señal sinusoidal de frecuencia 1KHz, amplitud 2 V y 3 V de offset Ejercicio 5 *Filtro RC paso bajo *Descripción del circuito *Análisis requerido *Resultados requeridos .PROBE .PRINT TRAN V(1) V(2) .PRINT AC V(1) V(2) VP(1) VP(2) .END Análisis DC .DC Análisis en continua en el que se realiza un barrido de la variable especificada, que puede ser una fuente de tensión o de corriente, el parámetro de un modelo o la temperatura, en el rango de valores especificado. El análisis puede ser anidado, de forma que se cambien dos variables o parámetros. Sintaxis (dos posibilidades): .DC SweepType Variable StartValue EndValue PoitsValue +[NestedVariable] Valor inicial Tipo de barrido. Debe especificarse uno de los siguientes códigos: LIN (barrido lineal). Valor predeterminado DEC (barrido por décadas) OCT (barrido por octavas) 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. Variable a barrer. Puede ser: * Nombre de una fuente independiente * Temperatura (se especifica con TEMP) * Parámetro global. La palabra PARAM debe anteceder al nombre de la variable * Parámetro de un modelo Valor final Su significado depende del tipo de barrido: Con barrido LIN es el incremento entre valores Con barrido DEC es el número de puntos por década Con barrido OCT es el número de puntos por octava Análisis DC .DC (continuación) Sintaxis (segunda forma): .DC Variable LIST Valor [NestedVariable] Variable a barrer Lista de valores Ejemplos: .DC LIN I2 5mA -2mA 0.1mA .DC VCE 0V 10V .5V IB 0mA 1mA 50uA .DC DEC NPN QFAST(IS) 1E-18 1E-14 5 .DC TEMP LIST 0 20 27 50 80 100 PARAM Vsupply 7.5 15 .5 Ejercicio 6 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? Ejercicio 6 *Resultados requeridos .PRINT DC I(RL) .END Análisis paramétrico .STEP Realiza múltiples ejecuciones de un análisis variando algún parámetro del circuito (valor de una fuente o de algún componente, temperatura, parámetro de un modelo, …) Sintaxis (dos posibilidades): .STEP SweepType Variable StartValue EndValue PoitsValue Valor inicial Tipo de barrido. Debe especificarse uno de los siguientes códigos: LIN (barrido lineal). Valor predeterminado DEC (barrido por décadas) OCT (barrido por octavas) Variable a barrer. Puede ser: * Nombre de una fuente independiente * Temperatura (se especifica con TEMP) * Parámetro global. La palabra PARAM debe anteceder al nombre de la variable * Parámetro de un modelo Valor final Su significado depende del tipo de barrido: Con barrido LIN es el incremento entre valores Con barrido DEC es el número de puntos por década Con barrido OCT es el número de puntos por octava Análisis paramétrico .STEP (continuación) Sintaxis (segunda forma): .STEP Variable LIST Valor Variable a barrer Para realizar un análisis paramétrico, en lugar de dar un valor numérico a un elemento hay que definir su valor como un parámetro. Para ello: Con la instrucción .PARAM definimos una variable y le damos un valor por defecto (este valor se usará si finalmente no se hace análisis paramétrico). En lugar del valor del componente, se especifica el nombre del parámetro encerrado entre llaves. En la sentencia .STEP, hay que especificar que la variable es un parámetro (hay otros casos como variables de modelos) Lista de valores Ejemplo: .PARAM Rvalor=1K R1 1 0 {Rvalor} … .STEP PARAM Rvalor +5K 10K 1K Análisis paramétrico Observaciones: No se puede definir como parámetro la ganancia de las fuentes dependientes ¿Qué diferencias hay entre el análisis .DC y el paramétrico? El análisis DC permite anidamiento En el análisis DC se resuelve el circuito en continua para cada valor de la variable. Resultados: tablas o gráficas en las que el eje X es la variable El análisis paramétrico no tiene sentido por sí solo, debe ir siempre acompañado de otro análisis (AC ó transitorio). Para cada valor del parámetro, se hace una simulación (AC ó transitoria). Por tanto, los resultados son familias de curvas (el eje X es frecuencia ó tiempo), cada una correspondiente a un valor del parámetro variado. Ejercicio 7 Obtener el diagrama de bode del siguiente circuito para los siguientes valores de la capacidad C: 1nF, 6nF, 11nF, 16nF y 21nF Ejercicio 7 *Resultados requeridos .PROBE .PRINT AC V(2) V(1) VP(2) VP(1) .END Análisis paramétrico con CAPTURE Para definir un parámetro y pedirle a SPICE una simulación paramétrica usando capture: 1. En lugar de dar un valor fijo al componente que se desea modificar, hay que especificar entre llaves el nombre del parámetro que usaremos en su lugar y que definiremos en el siguiente punto. Por ejemplo: {cvalor}. 2. Para definir el parámetro, añadir el pseudoelemento param (librería special.olb). Hacer doble-click sobre él. Elegir New Column y añadir el parámetro especificando Name=cvalor y Value=1n. 3. Ya está definido el parámetro, pero si queremos que sea visible en el esquemático, elegir la columna cvalor y presionar el botón display y elegir Name and value. 4. Especificar el análisis paramétrico acudiendo al menú Pspice/New simulation profile (ó Edit simulation profile, según el caso) y una vez especificado un tipo de análisis .TRAN ó .AC (nuestro ejemplo) marcar Parametric Sweep y rellenar los campos. REALIZAR EL EJEMPLO ANTERIOR USANDO CAPTURE Modelos (y algunas cosas más para terminar) Ejercicio 8 Crear el siguiente circuito en Capture y obtener |v(out)| / |v(in)| en función de la frecuencia (desde 100 Hz hasta 10 Mhz, con 10 puntos por década). Consultar las siguientes transparencias para definir las etiquetas in, out y Vcc. El transistor puede encontrarlo en la librería eval Ejercicio 8: etiquetas (alias) Para identificar con mayor facilidad un nodo (en Probe, por ejemplo) es conveniente etiquetarlo. Esto se puede hacer así: Usando la herramienta Place net alias (menú Place/Net alias...) y colocando la etiqueta definida sobre una línea correspondiente al nodo Las etiquetas también tienen otra utilidad: permiten conectar elementos distantes en un esquema sin necesidad de unirlos con una línea explícitamente dibujada. Basta con que estén conectados a líneas etiquetadas con el mismo nombre. Ejercicio 8: etiquetas (alias) Para definir etiquetas en líneas de alimentación existe un símbolo específico para conectar a las fuentes de tensión DC: Ir a menú Place power y elegir el elemento VCC de la librería CAPSYM Este elemento evita trazar líneas muy largas en el esquema para unir las fuentes de alimentación con otros puntos del circuito, pues todos los puntos donde conectemos elementos VCC quedan eléctricamente unidos Es posible editar el nombre asociado al elemento para conectar a otras fuentes de tensión (por ejemplo, VEE ó VCC-) Ejercicio 8: modelos ¿Cómo simula SPICE el comportamiento del transistor? Respuesta: conforme a un modelo cuyos parámetros se almacenan en ficheros (librerías) de extensión .lib Buscar el fichero …\Capture\Library\Pspice\eval.lib, observar su contenido y buscar las líneas correspondientes al modelo del transistor que hemos empleado en el ejemplo ¿Reconoce algunos parámetros? Ejercicio 8: modelos librerías .olb Capture ejemplo.opj ejemplo.cir Puede contener llamadas a otros ficheros .INC fichero.net librerías .lib fichero.net SPICE Programa Fichero ejemplo.out Ejemplo.dat PROBE Ejercicio 8 Continuación: obtener de nuevo la función de transferencia |v(out)| / |v(in)| para los siguientes valores del parámetro Bf: 20 a 500 en pasos de 20. Datos: tipo modelo (NPN); nombre del modelo (Q2N2222)