Simulación de circuitos con gEDA y SPICE, parte 4
4.9. Fuentes independientes
Hay dos fuentes independientes: fuentes de tensión y fuentes de
corriente. Para incorporarlos en una red para SPICE, ambios actuan
de la misma manera. Para incluir una fuente independiente en una
red, haga lo siguiente:
- Ponga el símbolo para la fuente en su esquemático. (Hacer
Add -> Component -> spice -> .sym
- Haga doble click en el bloque y agregue/edite los siguiente
atributos:
refdes
|
V? or I?
|
value
|
Una sola línea en formato SPICE describiendo la fuente.
|
4.10. Dependent sources
Hay tres fuentes dependientes:
(Esta sección no está escrita)
4.11. SPICE components
Bloque de modelo Spice
En algunos casos, podrá optar de incluir el modelo SPICE directamente
en su esquemático. Esto se hace cuando cuando hay varios dispositivos
que, con su atributo value llaman al mismo modelo. Depende
de si se trata de modelos de una sola línea o multi-línea, puede entrar
el códiigo de la siguiente manera:
Modelo de una sola línea
- Poner un bloque 'modelo SPICE' en el circuito. (Hacelo con
Add -> Component -> spice -> spice-model-1.sym)
- Hacer doble click sobre el bloque y agregar/editar los
siguientes atributos:
refdes
|
A?
|
model
|
model name (i.e. the model name used in the components
being modeled.)
|
type
|
One of the valid spice component types defined in the
spice spec.
|
value
|
The corresponding one-line spice model
|
Modelo SPICE multi-línea:
- Poner un bloque 'modelo SPICE' en el circuito. (Hacelo con
Add -> Component -> spice -> spice-model-1.sym)
- Hacer doble click sobre el bloque y agregar/editar los
siguientes atributos:
refdes
|
A?
|
model-name
|
Nombre del modelo (i.e. el nombre del modelo utilizado para
los componentes a simular.)
|
file
|
El nombre del archivo que contiene el código SPICE (i.e.
el .MODEL é el .SUBCKT)
|
Bloque de inclusión
- Poner un bloque 'modelo SPICE' en el circuito. (Hacelo con
Add -> Component -> spice -> spice-include-1.sym)
- Hacer doble click sobre el bloque y agregar/editar los
siguientes atributos:
refdes
|
A?
|
file
|
The name of the file to include.
|
Bloque de directivos SPICE
Mediante un 'bloque de directivos SPICE' en su circuito, puede
crear un bloque de código de SPICE en la lista de red. La directiva
puede consistir de sentencias en un archivo, o una sola línea
incluida directamente en el atributo del modelo. El generador de
redes simplemente incuirá literalmente el contenido de esta línea
o del archivo en la lista de red final. Algunos ejemplos:
- Sentencia .TEMP
- Sentencia .IC
- Otras sentencias SPICE para los cuales gschem no dispone
de un símbolo.
Para poner una directiva en su equemático:
- Poner un bloque directivo SPICE en el circuito (hacer
Add -> Component -> spice -> spice-directive-1.sym)
- Doble click en el bloque y agregar/editar los siguientes
atributos:
refdes
|
A?
|
file
|
The name of the file to include.
|
4.12. Handling hierarchical models
En la modelación en SPICE, regularmente aparecen situaciones en las
cuales es deseable de crear una representación esquemática de algún
componente como un .SUBCKT, y luego incluir el modelo en un circuito
de mayor jerarquía. Un ejemplo común es el siguiente: Está por hacer
una simulación de micro-ondas, y desea de incluir un modelo de
capacitor que incluye inductancias y resistencias parásitas, además
de su propia capacidad.
Fabricantes de capacitores generalmente proveen una representación
impresa mostrando la topología de parásitos, y sus valores. En este
caso sería deseable de poder dibujar este circuito en gschem,
generar la lista de red en forma de .SUBCKT, y luego utilizar este
.SUBCKT para modelar los capacitores en el circuito de mayor
jerarquía.
Ya que es un escenario común en simulación SPICE, está soportado en
gnet-spice-sdb ahora (desde la revisión de 20030331). Para
crear un .SUBCKT de menor jerarquía, y luego incluirlo, haga lo
siguiente:
- Dibujar el circuito de menor jerarquía (ej. el capacitor +
parásitos) utilizando gschem.
- En este circuito, poner un bloque 'spice-subcircuit-LL'
(spice-subcircuit-LL-1.sym). Esto alerta al generador de redes
que se trata de un .SUBCKT de menor jerarquía. Edite/qgregue los
siguientes atributos al símbolo:
model-name
|
cap_con_parasitos
|
(Por supuesto, cap_con_parasitos es el ejemplo de arriba. Utilice
su propio nombre en el circuito!) En la generación de la lista,
este símbolo causará la inclusión de .SUBCKT cap_con_parasitos
en la primera línea del archivo de la red.
- En el circuito de menor jerarquía, adjunte un símbolo
spice-subcircuit-IO (spice-subcircuit-IO-1.sym) a cada conexión de
E/S (i.e. cada conexión con el nivel superior). Numera los
refdes de cada símbolo de E/S en el mismo orden que desea
que las conexiones aparezcan en la línea .SUBCKT en el archivo de
salida (i.e. P1 = primero, P2 = segundo, etc.)
- Cuando termina con el esquemático de menor nivel, genere la
lista de red de la forma habitual. Por ejemplo, si el esquemático
se llama cap_con_parasitos.sch, genere la lista de red con:
gnetlist -g spice-sdb -o cap_con_parasitos.cir
cap_con_parasitos.sch. Esto generará una lista de red en un
archivo llamado cap_con_parasitos.cir. Controlarlo
visualmente para asegurar que la generación de red terminó
correctamente.
- Paso siguiente, crear un símbolo para utilizar en el
circuito de mayor jerarquía, y que estará conectado al .SUBCKT.
Note que el símbolo deberá tener un refdes que empieza
con la letra 'X'. Para asegurarse de que sea así:
- Utilice gschem para dibujar el símbolo. Normalmente
dibujo un rectángulo alrededor del símbolo para distinguirlo
de un componente común. Haga las anotaciones deseadas.
- En el símbolo, asegúrese que los pines son enúmerados de la
forma exacta como fueron listados en el .SUBCKT. Esto se hace
editando el símbolo con un editor de texto, y seteando el
atributo pinseq. El generador de redes listará los
pines en este orden.
- Utilizando un editor de texto, asigne un atributo de
dispositivo (device attribute) como 'modelo-capacitor'. NO
asigne al símbolo ninguno de los tipos de dispositivos nativos.
La finalidad es de crear un símbolo cuyo refdes inicia
con 'X', lo que no sucederá si es reconocido como tipo nativo.
- Con un editor de texto, dar un atributo refdes 'X?'
al símbolo.
- Crear el equemático de mayor jerarquía. Ubique su símbolo
reciéntemente creado tantas veces como lo desea, y conéctelo
en la forma usual.
- Para que su símbolo apunte al .SUBCKT de menor jerarquía,
haga doble-click en el símbolo y edite:
file
|
cap_con_parasitos.cir
|
model-name
|
cap_con parasitos
|
además de otros atributos como necesario (ej. refdes).
- Ahora, genere la lista de red de su esquemá;tico de mayor
jerarquía de la forma usual. El contenido del .SUBCKT estará
incluido en la lista de red principal. Controle la lista de
red visualmente con un editor de texto para asegurarse de
que esta correcta. Puntos a prestarle atención:
- Verificar que el orden de los puntos de conexión entre
ambos niveles esté correcto.
- Controlar si el nombre del modelo de mayor jerarquía
(model-name) corresponde al nombre de model (en la línea
de declaración .SUBCKT).
Una vez creado la lista de red, puede simular su creación en cualquier
simulador de SPICE. Algunos que corren bajo Linux están descritos
abajo.
8767
(c) John Coppens ON6JC/LW3HAZ |
correo |