De SPICE
a PSpice
El origen del simulador SPICE puede remontarse a hace más
de treinta años. A mediados de la década de los 60 IBM desarrolló el programa
ECAP, que más tarde serviría como punto de partida para que la Universidad de
Berkeley desarrollara el programa CANCER. Hasta principios los años 70 los
circuitos electrónicos se analizaban casi exclusivamente de forma manual,
mientras que de forma progresiva, la complejidad de éstos iba en aumento. Fue
en ese momento cuando un grupo de la Universidad de Berkeley, tomando como base
el programa CANCER, desarrolló la primera versión de SPICE (Simulation Program
with Integrated Circuits Emphasis). Un simulador de propósito general que
permitía analizar sobre grandes ordenadores y workstations, circuitos
analógicos sin necesidad de montarlos físicamente.
En SPICE el circuito y análisis requerido es descrito en
un fichero de texto mediante un serie de comandos y declaraciones, a este
fichero se le llama fichero del circuito. La sintaxis de las declaraciones
permite dejar parámetros sin especificar con lo que tomarán valores por
defecto. El fichero del circuito es leído por SPICE, éste comprueba que no hay
errores en las conexiones y sintaxis declaradas, y finalmente hará la
simulación.
El éxito alcanzado por el programa, así como por su
utilización generalizada, originó la aparición de numerosas versiones de SPICE.
En 1984 nace de manos de MicroSim Corporation la primera adaptación para
ordenadores personales: PSpice. Desde entonces, PSpice ha ido renovándose hasta
llegar a la versión número 9, de reciente lanzamiento. Esta revisión del
simulador es la primera desde la fusión de MicroSim Corporation y OrCAD.
SPICE está considerado como el estándar en análisis
electrónico. Es referencia y base de numerosos simuladores del mercado.
La primera versión de
PSpice que podía correrse en computadores personales salió al mercado en 1984 y
por lo tanto era una versión diseñada para D.O.S, esto hace que la interface
con el usuario fuera poco amistosa, lo que imponía un grado de complejidad
adicional en el minuto de utilizar el programa. Hoy en día se encuentran
disponibles versiones para Windows haciendo que el esfuerzo se concentre, no en
el “como ingresar los datos”, sino en
el análisis de los datos que la simulación entrega, que es el objetivo
principal de este tipo de programas.
En las versiones
preliminares de PSpice se introdujo el concepto de Netlist, que era la forma en que el usuario definía el circuito. Un
Netlist es un programa que indica que elementos tiene el circuito y como están
interconectados entre sí, posteriormente este programa era procesado por PSpice
para luego entregar los resultados que el usuario requería. La confección de un
Netlist debía ser cuidadosa para que así representara al circuito que realmente
se pretendía simular. La versión de PSpice para Windows de que se dispone en
los laboratorios utiliza este mismo concepto (Netlist), la diferencia es que
éste ya no debe ser generado por el usuario sino que lo hace el programa
automáticamente a partir del dibujo del circuito que el operador ingresa. Por
lo tanto, todos las características de los elementos que antes debían ser
ingresadas a través de un programa ahora pueden ser ingresadas mediante
diferentes ventanas.
Un fenómeno similar
ocurrió con el archivo Output (Salida),
el que antes correspondía a un conjunto de caracteres que indicaban los
resultados de la simulación, hoy la salida puede ser visualizada mediante
gráficos de alta resolución. Sin embargo este concepto sigue siendo útil debido a que es aquí y sólo aquí donde
PSpice indica cuales son los errores de configuración que se pudieren haber
presentado.
Desing Manager
El
conjunto de aplicaciones que componen el simulador está agrupado en un centro
de diseño, Design Manager. De esta forma se proporciona un entorno integrado
para simulación y análisis de circuitos analógicos, digitales y mixtos. En
cierto modo, es realmente un conjunto de programas especializados donde todos
trabajan juntos para crear un entorno de desarrollo EDA (Electronics Design
Automation) potente. Los programas que contiene son:
Con Design Manager resulta fácil
realizar operaciones de gestión de los ficheros utilizados por las distintas
aplicaciones, ya que detecta las relaciones de dependencia entre ellos. Con lo
que no correremos el riesgo de perder un fichero necesario para un determinado
diseño, al cambiarlo de carpeta. Los ficheros están agrupados creando diferentes
entornos de trabajo.
Schematics
Es la aplicación que primero utilizaremos al diseñar
cualquier circuito, ya que es el capturador de esquemas. Con el capturador
introducir y editar el esquema del circuito es una tarea sencilla que usa la
técnica de arrastrar y soltar con el ratón. De esta forma la
posibilidad de hacer conexiones erróneas o dejar nodos flotantes es menor que
si introdujéramos el esquema en modo texto en el fichero del circuito.
Schematics es el encargado en generar el fichero del
circuito, de extensión .CIR, a partir del esquema que hemos introducido y que
será guardado con extensión .SCH. El fichero de extensión .CIR es el que es
legible para el simulador.
Cada uno de los dispositivos que
podemos seleccionar, arrastrar y soltar en Schematics no son más que símbolos
gráficos que nos son útiles a nosotros para representar un esquema eléctrico.
Estos símbolos tienen asociados una serie de atributos, que son los que
realmente definen sus características. Schematics dispone de una herramienta capaz
de editar símbolos, de forma que podemos añadir, quitar o modificar los
atributos de un símbolo o definir nuestra propia librería de símbolos. Algunos
atributos son modificables desde Schematics haciendo doble clic sobre el
símbolo, por ejemplo el valor óhmico de un resistor.
Para colocar un
elemento en el área de trabajo se debe pulsar el icono el cual llama a la
siguiente ventana:
En la ventana anterior se distinguen principalmente dos
áreas, la primera es donde se encuentra el nombre del elemento (ordenados por
orden alfabético) y la segunda el símbolo de dicho elemento, para el caso
particular que se muestra aquí, el elemento es una resistencia, cuyo nombre en
PSpice es R y el símbolo se ve en la
figura. Es importante destacar que los nombres de los elementos no varían de
una versión del programa a otra, por lo tanto se puede recurrir, eventualmente,
a un manual de PSpice par DOS para consultar sobre el nombre de algún elemento.
Para seleccionar un elemento se debe hacer doble click
sobre su nombre, en ese momento se cierra la ventana y se está en condiciones
se localizar el elemento en cualquier parte del área de trabajo. Además es
importante saber que para rotar un elemento se debe presionar CTRL-R.
Una vez que el elemento esta en el lugar y la posición
deseada, de pueden modificar sus características haciendo doble click en él,
así aparecerá una ventana en la cual se muestran los atributos del elemento.
La siguiente es una tabla con el nombre de los elementos
básicos disponibles en PSpice.
C
|
Capacitor. |
E |
Fuente de voltaje controlada por
voltaje. |
F |
Fuente de corriente controlada
por corriente. |
G |
Fuente de corriente controlada
por voltaje. |
H |
Fuente de voltaje controlada por
corriente. |
I |
Fuente de corriente independiente. |
K |
Acoplamiento inductivo
(transformador. |
L |
Inductor. |
R |
Resistencia. |
V |
Fuente de voltaje independiente. |
GND_EARTH |
Tierra. |
La tabla anterior es
útil para ubicar rápidamente el elemento deseado dentro de la lista.
La interconexión de los
elementos se hace presionando el botón . Por lo tanto, para dibujar un conductor
entre dos elementos basta hacer click en el terminal de un elemento y después
hacer click en el terminal del otro.
Finalmente, para que el
circuito quede completamente definido es indispensable establecer cual es el nodo de referencia o nodo cero , esto es, se debe indicar
cual es la tierra del circuito conectado el elemento GND_EARTH a dicho nodo.
En ciertas ocasiones es
necesario escribir valores que presentan muchos ceros, ya sea como decimales o
como potencias de diez, es por eso que
PSpice permite usar las abreviaturas tales como Kilo(k), mili (m), micro (u),
nano(n), que corresponden a 103, 10-3, 10-6 y
10-9 respectivamente. Lo anterior es valido tanto para unidades como
Volts, Amperes, Faradios, Henrios, Ohms.
1.- Resistor:
Una resistor queda
especificado completamente cuando en el campo VALUE se le ingresa el valor de la resistencia. En el ejemplo que a
continuación se muestra, la resistencia se ha definido de 1000[W] o de 1k.
El atributo TOLERANCE no será usado en este curso
por lo tanto, no es necesario especificarlo.
2.- Condensador e Inductor:
Las ventanas del
Condensador y del Inductor son similares, las dos contienen el campo VALUE, en el que se ingresa el valor de
la capacidad y la inductancia respectivamente. Como se puede ver en las
ventanas que se muestran de ejemplo, las dos tienen un campo denominado IC
(Initial Condition), es aquí donde se ingresan las condiciones iniciales de
estos elementos.
3.- Fuentes Controladas.
El símbolo de una fuente controlada se divide en dos
partes, la variable de entrada, y la variable de salida, tal como se muestra en
el esquema que a continuación se presenta.
El caso anterior se trata
de una fuente de voltaje controlada por corriente, así los terminales de
entrada deben ser conectados de tal manera de que por ellos circule la
corriente de control, consecuentemente se obtendrá un voltaje en los terminales
de salida. El único atributo modificable de este elemento es la ganancia (GAIN), que es el factor por el cual se
multiplicará la corriente de control, entonces, si por ejemplo se hace circular
una corriente de 2A y la ganancia es 2,
entonces el voltaje en la salida será de 4V.
La explicación anterior se hace
extensible a todos los otros tipos de fuentes controladas.
4.- Fuentes variables en el tiempo
Aquí se explicarán tres
tipos de fuentes variables con las cuales se pueden construir un grupo de
señales que pueden resultar útiles para el estudio de las respuestas que
presentan los circuitos ante una determinada entrada.
VEXP: Genera
señales de tipo exponencial creciente y decreciente, para ello en la ventana
que permite modificar los atributos de este elemento se le deben entregar los
tiempos de la forma que se ilustra con el siguiente ejemplo.
.
En la figura anterior
podemos ver algunos atributos asociados a un transistor bipolar, los que están
señalados con asterisco sólo podrán ser modificados desde el editor de
símbolos, el resto pueden modificarse desde Schematics.
El atributo más importante es MODEL ya que determina el
modelo eléctrico asociado al símbolo, tanto puede ser un modelo específico de
PSpice (diodo, transistor bipolar, FET, etc. ) como un subcircuito. El valor de
MODEL debe coincidir exactamente con el nombre de la definición .MODEL o
.SUBCKT que está en una librería de modelos. Las librerías de modelos son
ficheros con extensión .LIB.
Otro atributo de importancia es TEMPLATE ya que define la
correspondencia entre los pines del símbolo y los del modelo eléctrico, por
tanto un error en esta correspondencia dará resultados erróneos. En Schematics
User's Guide, que se proporciona en formato PDF con el simulador, puede
encontrarse una lista completa de atributos.
Tipos de análisis y configuración
Schematics permite seleccionar el tipo de análisis que
deseemos del circuito así como las opciones para éste desde la ventana Analysis
Setup.
Barrido en AC y análisis de
ruido. El
barrido en AC es un análisis en frecuencia que calcula la respuesta en pequeña
señal del circuito, linealizado entorno al punto de polarización, en el rango
de frecuencias especificado.
El análisis de ruido calcula las contribuciones de ruido
de cada dispositivo
Cargar y salvar el punto de
polarización. Permiten
restablecer y salvar en un fichero los cálculos del punto de polarización en
sucesivas simulaciones.
Barrido en continua. Hace un análisis en continua
realizando un barrido de la variable especificada, que puede ser una fuente de
tensión o de corriente, el parámetro de un modelo o incluso la temperatura, en
el rango de valores especificado para dicha variable. El análisis puede ser
anidado.
Análisis Monte Carlo y peor
caso. Realizan
análisis de tipo estadístico que actúan sobre las variaciones de los valores de
los componentes conforme a su tolerancia.
Punto de polarización detallado. Al seleccionarlo se indica al
programa que calcule el punto de polarización del circuito y que los valores de
polarización de las fuentes y de los dispositivos sean enviados al fichero de
salida, de extensión .OUT.
Configuración digital. En este apartado se especifican
los estados iniciales de biestables, el tipo de retardo temporal utilizado en
los dispositivos digitales (mínimo, típico o máximo), y los modelos de
adaptación de variables analógicas a digitales. Es decir, podemos seleccionar
el tipo de circuito interface utilizado y así indicar si queremos evitar los
estados intermedios R, F y X, de los dispositivos digitales.
Opciones. Permiten establecer las
opciones, límites y parámetros de control, para diferentes análisis. Hay dos
tipos de opciones: aquellas que especifican un valor numérico, y aquellas que
indican la activación o no de una opción.
Análisis paramétrico. Será útil cuando nos interese
conocer como varía la respuesta de un circuito en función de los valores que,
en forma de incrementos, va tomando algún parámetro de un dispositivo, o el
valor de un componente, o la temperatura, etc.
Análisis de sensibilidad en
Continua. Calcula
la sensibilidad en continua de cada una de las variables de salida que
definamos, respecto de los dispositivos del circuito así como de sus
parámetros. La información resultante de este análisis es recogida en el
fichero .OUT de salida.
Temperatura. Permite ajustar la temperatura a
la que es analizado el circuito. En PSpice la temperatura por defecto es de
27ºC.
Función de transferencia en
pequeña señal. Calcula
y envía al fichero de salida, la ganancia en pequeña señal, la resistencia de
entrada y la resistencia de salida. Si el circuito no es lineal entonces
primero halla el modelo equivalente linealizando el circuito entorno al punto
de polarización.
Análisis transitorio. Proporciona la respuesta del
circuito en función del tiempo, en el intervalo especificado.
Limitaciones. En la versión de evaluación, Schematics presenta las
siguientes restricciones:
PSpice A/D
Constituye
el auténtico simulador y se puede decir que el resto de aplicaciones giran
entorno a él. Permite la simulación de circuitos analógicos, digitales y
mixtos. A partir del fichero del circuito genera los ficheros de salida de
extensión .OUT y el de datos con extensión .DAT, que será utilizado Probe.
Limitaciones. En la versión de evaluación, PSpice A/D presenta las siguientes
restricciones:
Pspice Optimizer
Esta
aplicación calcula el valor unos parámetros del circuito para que éste cumpla
una serie de condiciones. Es decir, que PSpice Optimizer, mediante llamadas a
PSpice A/D, realiza simulaciones de forma iterativa ajustando los valores de
los parámetros hasta que se cumpla la función objetivo definida bajo una serie
de restricciones. Se puede prescindir de restricciones si no es necesario
imponerlas.
Por ejemplo, si partimos de un circuito serie constituido
por un pila de 5 voltios, una resistencia y un diodo, podemos definir como
función objetivo que la corriente sea 1mA con un rango variación de 5 uA. El
parámetro tomado será el valor de la resistencia y la restricción que la
potencia disipada en el resistor sea mayor o igual que 4 mW. Dependiendo de la
restricción impuesta se puede llegar a un valor del parámetro que satisfaga las
condiciones impuestas o no, es decir, puede haber o no haber solución.
Limitaciones. En la versión de evaluación del simulador sólo podemos definir
una función objetivo, un parámetro y una restricción.
Parts
Con la utilidad Parts podemos ampliar nuestra librería de
componentes analógicos sin más que introducir la información que los
fabricantes proporcionan en las data sheets u hojas de datos. Es decir,
Parts convierte automáticamente estos datos en un modelo básico de PSpice
utilizando la declaración .MODEL, o en un subcircuito usando .SUBCKT. Parts
puede proporcionar gráficas de las características del dispositivo a modelar.
Limitaciones. En la versión de evaluación del simulador la herramienta de
modelado de dispositivos está limitada a la extracción de parámetros de diodos.
Probe
Es un analizador de formas de onda de PSpice que permite
visualizar de forma interactiva los resultados de la simulación empleando
gráficos de alta resolución. Probe representa no sólo simples formas de onda
como tensiones y corrientes sino también complejas expresiones aritméticas,
implicando a dichas señales, e incluso la transformada de Fourier. Probe lee
los datos de las señales del fichero .DAT que genera PSpice.
En simulaciones mixtas Probe puede visualizar formas de
onda analógicas y digitales simultáneamente con una base de tiempos común.
Podríamos decir que Probe es un osciloscopio software.
Probe permite la definición de macros y funciones objetivo
(goal functions). Las funciones objetivo calculan un valor simple de una
forma de onda de Probe, tal como el ancho de un impulso, el tiempo de subida de
una señal, el pico máximo, etc. Las funciones objetivo de Probe pueden ser
utilizadas por Optimizer.
Stimulus Editor
El editor de estímulos es una herramienta que nos permite
de forma fácil y sencilla crear estímulos o formas de onda de entrada para
nuestros circuitos. Las formas de onda analógica pueden ser senoidales,
impulsos, exponenciales, FM de frecuencia única y lineal a tramos. Las
digitales pueden ser señales de reloj o cualquier secuencia digital.
Limitaciones.
En su versión
de evaluación sólo se pueden editar señales analógicas senoidales y digitales
de reloj. Con estas limitaciones el editor de estímulos será útil en muy pocos
casos, de hecho no ha sido utilizado en la realización del presente proyecto.
TextEdit
Es un editor de texto con el que podremos introducir los modelos
y subcircuitos proporcionados por los fabricantes de dispositivos o la
bibliografía relacionada con el simulador. Será especialmente útil para modelar
los dispositivos que Parts, por sus limitaciones no nos permite y editar
nuestras propias librerías. Con suficientes conocimientos es posible editar el
fichero del circuito (.CIR) sin necesidad de utilizar Schematics.