¿Qué es SPICE ?

Spice surge a mediados de los años 70 en la Universidad de California, en Berkleley, como un programa capaz de resolver las ecuaciones que describen un circuito, a través de una breve descripción del mismo. Esta representación del circuito dio lugar a un lenguaje propio de representación que se ha convertido en un estándar en la actualidad.

El nombre Spice deriva de las iniciales de "Simulation Program with Integrated Circuit Emphasis", que viene a resumir la filosofía con la que Spice fue creado.

La unidad fundamental de programación Spice es el Netlist. Es un archivo ASCII que contiene la descripción del circuito en el lenguaje Spice, así como los diferentes tipos de análisis (dominio del tiempo, frecuencia etc..). Una vez realizado el Netlist se lanza el "compilador" Spice que nos dirá si hay errores o nuestro circuito funciona correctamente desde el punto de vista sintáctico. Los resultados se visualizan con el programa Probe.

Spice, como era de esperar, ha evolucionado hacia un entorno gráfico : Schematics. Esta herramienta nos permite realizar nuestros circuitos sin tener necesidad de conocer la sintaxis Spice, con el consiguiente ahorro de tiempo y esfuerzo. Sin embargo, es muy recomendable conocer la terminología Spice si queremos sacar todo el partido al programa.

Simulación de un circuito integrador

figura 1 Circuito Integrador

Vamos a realizar un diseño práctico con Schematics de un circuito integrador, utilizando un Amplificador operacional UA741. Para el caso de una onda cuadrada, el resultado será una onda triangular. En nuestro caso usaremos un operacional en configuración de amplificador inversor con una ganancia en continua de -500 y que a 10kHz tenga ganancia unidad, usando un condensador de 100nF. El circuito es el de la figura :

Lo primero es arrancar el programa haciendo doble click en el icono Shematics. Se nos presentará la ventana de diseño. Comenzamos colocando el amplificador operacional. Para ello lo buscamos en la librería de componentes :

Operaciones del mouse :

Draw

Get New Part

Browse

Elegir la librería eval.slb

Elegir el componente UA741

Situar el componente y hacer click

Si quisiéramos colocar varios operacionales seguiríamos haciendo click con el botón izquierdo. Cuando hayamos finalizado, hacemos click con el derecho.

Hemos visto el procedimiento para colocar el primer componente. Conviene navegar por las librerías para saber dónde se encuentran los diferentes elementos. Por ejemplo, resistencias, condensadores y demás componentes pasivos se encuentran en la librería analog.slb. El resto es fácil.

Al colocar un componente pasivo (analog.slb) o una fuente de tensión (source.slb), debemos introducir los valores correspondientes. Para ello basta con hacer doble click en el componente colocado y editar sus parámetros. Schematics dispone de una ayuda on line con hipertexto donde se puede obtener tosa la información sobre los parámetros (Help-Index-Using Pspice-Device Reference & Model Parameters).

Para situar una fuente de tensión constante, elegimos VSRC en source,slb, la colocamos y editamos sus parámetros y colocamos el voltaje en el campo DC. Para voltajes negativos o se da la vuelta a la fuente o se escribe el voltaje como número negativo.

Para situar una fuente variable disponemos de muchos tipos VSIN, VPULSE..., se recomienda tener cuidado con los parámetros de offset y los tiempos de subida retardo y bajada , poniéndolos a cero para pulsos cuadrados ideales, no debiendo en ningún caso, dejar el campo sin valor.


Figura 2 Circuito integrador para Pspice

Una vez colocados los componentes se procede al conexionado de los mismos ,para ello, se accede al menú Draw y después Wire o a través de la combinación Ctrl+W .

El resultado debe parecerse a la figura 2.

Para que nuestro diseño funcione correctamente hay que recordar algunos puntos fundamentales :

- Todo circuito ha de estar conectado a tierra.

- Los análisis (tiempo, frecuencia...) han de tener valores acordes con el diseño del circuito, por ejemplo, si una fuente tiene una frecuencia de 100Hz, el valor del tiempo en el análisis  .TRAN (Transient) ha de comprender al menos un periodo completo, esto es 1/100 segundos.

Es importante también conocer los distintos tipos de fuentes de tensión y corriente que suministra Spice. En nuestro circuito tenemos dos fuentes de tensión independientes DC y un generador de onda cuadrada. Conviene consultar la ayuda on line para ver qué parámetros son necesarios . Hay que tener en cuenta que existen parámetros que son específicos de cada tipo de análisis.

Una vez finalizado el diseño, procedemos al análisis. Para ello en el menú Analysis, elegimos Setup. Se nos presenta una ventana con los distintos tipos de análisis que Spice realiza. En nuestro caso , queremos análisis en el tiempo (Transient) y en frecuencia (AC). Se ejecuta Pspice. Los resultados se visualizan con Probe.

Probe

Para obtener resultados gráficos de las señales, esto es, el equivalente a un osciloscopio, utilizamos el programa Probe. Este se puede ejecutar por separado de Pspice o activarlo automáticamente al acabar Pspice con la opción Autorun Probe. Una vez en el programa seleccionamos el tipo de análisis si es que hemos hecho varios a la vez. En nuestro caso primero veremos el dominio del tiempo (transient). Para visualizar una señal o varios a la vez usamos la opción Trace-Add.

Tenemos que conocer bien la topología del circuito. Si hemos puesto etiquetas a los nodos aparecerán los voltajes y corrientes referidos a los nombres que hayamos elegido. Para poner etiquetas en el circuito se hace doble click en el nodo o rama próxima a éste, y se escribe el nombre en el cuadro de diálogo. Si no es este el caso, Pspice asigna nombres referidos a los componentes, a las fuentes etc automáticamente. Además también le asigna nombres a los nodos del tipo $N****. Conviene generar un Netlist y examinarlo. Para nuestra salida el Netlist coloca el operacional de esta manera :

X_U1 $N_0002 $N_0003 $N_0004 $N_0005 $N_0001 UA741

Nuestro integrado de cinco terminales esta colocado en los nodos 2,3,4,5,1. Si consultamos la librería dc3eval.lib y la editamos (es un archivo ASCII que esta en el subdirectorio lib), vemos que el ultimo pin , el conectado al nodo 1 , es la salida.

Si visualizamos el voltaje del nodo 1, o el voltaje en el condenasador 1 pin 2 (V(C1 :2)), que son sinónimos como podemos apreciar, el resultado, después de un tiempo de estabilización(transitorio) será una señal triangular como la que se observa en la figura. Si vemos el voltaje en la fuente de onda cuadrada, esto es V(V2 :+) podemos observar la señal de entrada. Hay que tener en cuenta la diferencia de escalas pues el circuito es amplificador, y de fases, pues también es inversor.

figura 2 Señal integrada
 

Si seleccionamos AC, esto es el dominio de la frecuencia, podemos obtener su diagrama de Bode . Observar la ganancia a 10 kHz:

figura 3 Diagrama de Bode

Netlist

A continuación vamos a ver como se escribe este circuito en lenguaje Spice. Además nos sirve como referencia para ver qué componentes hemos utilizado en el circuito y sus valores.

X_U1 $N_0002 $N_0003 $N_0004 $N_0005 $N_0001 UA741

R_R1 $N_0006 $N_0003 150

R_R2 $N_0003 $N_0001 82k

R_R3 0 $N_0002 150

C_C1 $N_0003 $N_0001 100n

V_V2 $N_0006 0 dc 30m ac 30m PULSE -30m 30m 0 0 0 2.5ms 5ms

V_V3 $N_0004 0 dc 12

V_V4 0 $N_0005 dc 12

Múltiplos y submúltiplos

Spice utiliza una forma particular de nombrar múltiplos y submúltiplos. No es necesario indicar las unidades (Ohmio, Faradio...) ni en el diseño esquemático, ni en el Netlist, aunque se pueden añadir a modo de etiqueta, ya que Spice no hace caso a nada que vaya a continuación de los múltiplos y submúltiplos, como por ejemplo 100kOhm equivale a 100k. No hay que dejar espacios.

Mega Meg

kilo k

mili m

micro u

nano n

pico p

Recomendaciones Finales.

Conocer a fondo el lenguaje Spice es muy aconsejable aunque queda fuera de los objetivos de este manual. Recordar ante todo que lo fundamental es saber electrónica y que Spice sólo es una herramienta que nos facilita el trabajo. Simular por simular no es la filosofía con la que el programa fue creado, caer en la tentación de simular hasta un divisor de tensión, o no darse cuenta de que un amplificador no amplifica porque no hemos colocado la red de polarización son errores muy comunes.

Pspice es una versión de evaluación de libre distribución. Microsim, la compañía propietaria recomienda la copia y distribución del mismo. Aunque sólo se pueden colocar 20 componentes aproximadamente, se pueden realizar muchos diseños elementales. En cuanto a los componentes, se pueden encontrar librerías en servidores de FTP, o bien se pueden hacer "a mano" a partir de los catálogos de los fabricantes, aunque esto es poco recomendable. En la versión de evaluación existen componentes de propósito general suficientes para realizar múltiples montajes.

Bibliografía

En estas referencias se puede profundizar en el conocimiento del lenguaje Spice, ecuaciones y modelos de dispositivos y procedimientos de simulación.

P.W.Tuinenga : A Guide to Circuit Simulation ans Analysis using Pspice. Prentice Hall (1988)

M.H.Rashid : Spice for circuits and Electronics Using Pspice. Prentice Hall (1990)

W.Banzhaf Computer-Aided Circuit Analysis using Spice, Prentice Hall (1975)

Antognetti & Massobrio Semiconductor Device Modeling with Spice. McGraw-Hill

E.Muñoz. SPICE. Dpto publicaciones ETSIT Madrid (1983)

P.Fajardo Simulación Analógica de Circuitos con Pspice. ETSTI Madrid (1991)

L.Nagel A Computer Program to Simulate Semiconductor Circuits. Memorándum nº M520, Universuty of California, Berkley 1975. (Creador Spice)