PSpice

 

 

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.

 

Especificación de los Elementos

 

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.

.

Parámetros

 

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.

Configuración del análisis

 

 

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.