Ayuda para convertir un PSPICE MOSFET .LIB en un LTSPICE .SUB

Estoy diseñando un regulador buck-boost para un curso en la escuela y me gustaría usar el transistor OnSemi ntk3139p PMOS. OnSemi proporciona algunos modelos de especias para esta parte y me estoy quedando atascado al convertir el archivo Pspice para que se pueda usar en LTspice. Me doy cuenta de que podría elegir otra cosa, pero quería aprovechar esta oportunidad para sumergirme en el meollo de la especia.

Algunas de las referencias que he estado siguiendo para especias son:

El archivo de Pspice en cuestión se enumera a continuación:

.SUBCKT ntk3139p 1 2 3
**************************************
*      Model Generated by MODPEX     *
*Copyright(c) Symmetry Design Systems*
*         All Rights Reserved        *
*    UNPUBLISHED LICENSED SOFTWARE   *
*   Contains Proprietary Information *
*      Which is The Property of      *
*     SYMMETRY OR ITS LICENSORS      *
*Commercial Use or Resale Restricted *
*   by Symmetry License Agreement    *
**************************************
* Model generated on Jan  4, 07
* MODEL FORMAT: PSpice
* Symmetry POWER MOS Model (Version 1.0)
* External Node Designations
* Node 1 -> Drain
* Node 2 -> Gate
* Node 3 -> Source
M1 9 7 8 8 MM L=100u W=100u
* Default values used in MM:
* The voltage-dependent capacitances are
* not included. Other default values are:
*   RS=0 RD=0 LD=0 CBD=0 CBS=0 CGBO=0
.MODEL MM PMOS LEVEL=1 IS=1e-32
+VTO=-1 LAMBDA=0 KP=5.6585
+CGSO=1.09084e-06 CGDO=5.71422e-08
RS 8 3 0.298194
D1 1 3 MD
.MODEL MD D IS=1.38278e-09 RS=0.152961 N=1.5 BV=20
+IBV=0.00025 EG=1.2 XTI=1 TT=2.5e-09
+CJO=2.06195e-11 VJ=0.5 M=0.371211 FC=0.1
RDS 3 1 1.6e+07
RD 9 1 0.0001
RG 2 7 110.624
D2 5 4 MD1
* Default values used in MD1:
*   RS=0 EG=1.11 XTI=3.0 TT=0
*   BV=infinite IBV=1mA
.MODEL MD1 D IS=1e-32 N=50
+CJO=3.80558e-11 VJ=0.507085 M=0.9 FC=1e-08
D3 5 0 MD2
* Default values used in MD2:
*   EG=1.11 XTI=3.0 TT=0 CJO=0
*   BV=infinite IBV=1mA
.MODEL MD2 D IS=1e-10 N=0.4 RS=3e-06
RL 5 10 1
FI2 7 9 VFI2 -1
VFI2 4 0 0
EV16 10 0 9 7 1
CAP 11 10 3.80558e-11
FI1 7 9 VFI1 -1
VFI1 11 6 0
RCAP 6 10 1
D4 6 0 MD3
* Default values used in MD3:
*   EG=1.11 XTI=3.0 TT=0 CJO=0
*   RS=0 BV=infinite IBV=1mA
.MODEL MD3 D IS=1e-10 N=0.4
.ENDS ntk3139p

Mi grieta en la conversión es:

.SUBCKT ntk3139p 1 2 3
**************************************
*      Model Generated by MODPEX     *
*Copyright(c) Symmetry Design Systems*
*         All Rights Reserved        *
*    UNPUBLISHED LICENSED SOFTWARE   *
*   Contains Proprietary Information *
*      Which is The Property of      *
*     SYMMETRY OR ITS LICENSORS      *
*Commercial Use or Resale Restricted *
*   by Symmetry License Agreement    *
**************************************
* External Node Designations
* Node 1 -> Drain
* Node 2 -> Gate
* Node 3 -> Source
M1 9 7 8 8 MM L=100u W=100u
RS 8 3     0.298194
D1 1 3     MD
RDS 3 1    1.6e+07
RD 9 1     0.0001
RG 2 7     110.624
D3 5 0     MD2
RL 5 10    1
FI2 7 9    VFI2 -1
VFI2 4 0 0
EV16 10 0 9 7 1
CAP 11 10  3.80558e-11
FI1 7 9    VFI1 -1
VFI1 11 6 0
RCAP 6 10 1
D4 6 0     MD3
* Model definitions
.MODEL MM PMOS(LEVEL=1 
+ IS=1e-32
+ VTO=-1 
+ LAMBDA=0 
+ KP=5.6585
+ CGSO=1.09084e-06 
+ CGDO=5.71422e-08)
.MODEL MD D (IS=1.38278e-09 
+ RS=0.152961 
+ N=1.5 BV=20
+ IBV=0.00025 
+ EG=1.2 
+ XTI=1 
+ TT=2.5e-09
+ CJO=2.06195e-11 
+ VJ=0.5 
+ M=0.371211 
+ FC=0.1)
.MODEL MD1 D (IS=1e-32 N=50
+ CJO=3.80558e-11 VJ=0.507085 M=0.9 FC=1e-08)
.MODEL MD2 D (IS=1e-10 N=0.4 RS=3e-06)
.MODEL MD3 D (IS=1e-10 N=0.4)
.ENDS

He reorganizado algunas de las líneas para que se parezcan a algunos de los otros archivos LTspice de subcircuitos que he estado mirando con la lista de conexiones primero y las definiciones del modelo en segundo lugar y he agregado el paréntesis a los parámetros de las directivas del modelo. La mayor parte del archivo de subcircuito tiene sentido para mí, pero no estoy seguro de algunos de los dispositivos, como FI2. Creo que esta es una fuente de corriente dependiente de la corriente, pero es posible que no se use correctamente aquí. No estoy seguro de dónde me estoy equivocando aquí, ya que el error que recibo en LTspice es

Fatal Error: Unknown subcircuit called in:
  xu1 n002 n001 0 ntk3139p.sub ntk3139p

La forma en que implemento mi NTK3139P.sub es:

  • Guardo el archivo NTK3139P.sub enC:\Program Files (x86)\LTC\LTCspiceIV\lib\sub
  • Abrir LTspice
  • Crear nuevo símbolo
    • Los números de pines se relacionan con las definiciones de subcircuitos
    • En atributos: Prefijo = X, Valor = ntk3139p
    • Guardado donde puede ser visto por LTSpice
  • Reiniciar LTspice
  • Cree un esquema súper simple para probarlo con el FET, una resistencia, una fuente de voltaje y tierra
  • Ejecutar una .tran 1simulación
  • El error antes mencionado ocurre

¡Se agradecería cualquier ayuda para depurar esto y / o explicaciones de dónde me equivoqué o un punto amistoso a alguna literatura de especias más general!

Aquí hay un maravilloso grupo de usuarios.
Si está ejecutando una PC, la ruta no debería ser: C:\Program Files(x86)\LTC\LTCspiceIV\lib\sub
EM Fields gracias por ese enlace. Acabo de pasar por alto ese sitio antes debido a la necesidad de una cuenta de Yahoo, pero acabo de crear una y me uní y ahora me estoy pateando por esperar.
Además, estoy en Linux y ejecuto Wine. Olvidé escribir la ruta correcta de Windows en mi publicación. Voy a cambiar eso ahora, ya que eso podría ser engañoso. Gracias

Respuestas (1)

Si simplemente guardo ese archivo PSpice en un ntk3139p.libarchivo y lo importo en LTspice, todo funciona bien:

ingrese la descripción de la imagen aquí

El Rds(on) se ve en línea con la hoja de datos de esa parte.

ingrese la descripción de la imagen aquí

Lo que debe tener en cuenta es cambiar la línea de declaración de PMOS a X (porque es un subcircuito) y hacer coincidir el nombre con el nombre de subckt declarado en esa biblioteca. Ctrl-clic para acceder a la página de propiedades avanzadas para el FET:

ingrese la descripción de la imagen aquí

Esto se explica en detalle en http://www.linear.com/solutions/1083


Y si realmente desea importar ese modelo a LTspice para que no tenga que usar una .includedeclaración, lo que debe hacer es

  1. Copie lo mencionado anteriormente ntk3139p.liben LTspiceIV\lib\sub; este directorio puede [y contiene] archivos .liby .sub.
  2. Cree un ntk3139p.asyin LTspiceIV\lib\sym(o en una de sus subcarpetas, en cuyo caso el componente aparecerá en la categoría correspondiente en el F2cuadro de diálogo de selección de componente). Este .asyarchivo es inicialmente una copia del pmos.asyque viene con LTspice en este caso. Ahora debe editar este ntk3139p.asyarchivo en un editor de texto o usando LTspice (a través Edit->Attributesde o Ctrl+A) para que se lea:

ingrese la descripción de la imagen aquí

Ahora puede agregar el nuevo componente, pero dado que estamos usando X como tipo, automáticamente se etiqueta como IC ( U) en lugar de MOSFET como antes. Pero ya no necesitamos una .inclínea para que funcione la simulación:

ingrese la descripción de la imagen aquí

Honestamente, este procedimiento generalmente no vale la pena para mí ... y si reinstala LTspice o carga su esquema en una máquina diferente, debe hacerlo todo de nuevo, no importa que se vuelva menos claro en el esquema qué componentes necesita. necesita [ed] bibliotecas adicionales para. Además, ya no puede cambiar el MOSFET haciendo clic derecho sobre él y eligiendo un nuevo modelo. Si intenta eso con su asyarchivo personalizado, obtiene:

ingrese la descripción de la imagen aquí

Que para mí es la parte más molesta. Por lo tanto, no recomiendo realizar este procedimiento de importación para MOSFETS; Creo que solo vale la pena la molestia de los circuitos integrados.


Honestamente, no sé exactamente qué .subarchivos están restringidos a contener en LTspice, pero los que vienen con el programa son todos archivos binarios que contienen los modelos patentados de LT, algunos de los cuales también utilizan las extensiones de LT como constante , etc. No creo que el .subformato binario que usa LTspice esté documentado públicamente en ninguna parte.