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

4

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

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

El archivo Pspice en cuestión se encuentra 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 crack al convertirlo 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 del subcircuito LTspice que he estado viendo primero con la lista de redes y luego con las definiciones del modelo, y he agregado el paréntesis a los parámetros de las directivas del modelo. La mayoría del archivo de subcircuito tiene sentido para mí, pero algunos de los dispositivos de los que no estoy seguro, como FI2 . Creo que esta es una fuente de corriente dependiente actual pero puede que no se use correctamente aquí. No estoy seguro de dónde me voy mal aquí, ya que el error que obtengo 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 en C:\Program Files (x86)\LTC\LTCspiceIV\lib\sub
  • Abrir LTspice
  • Crear nuevo símbolo
    • Los números de pines se correlacionan con las definiciones de subcircuito
    • En atributos: Prefijo = X, Valor = ntk3139p
    • Guardado donde LTSpice lo puede ver
  • Reiniciar LTspice
  • Cree un esquema super simple para probarlo con el FET, una resistencia, una fuente de voltaje y tierra
  • Ejecutar una simulación de .tran 1
  • Se produce el error mencionado anteriormente

Cualquier ayuda para la depuración de esto y / o explicaciones de dónde me equivoqué o un comentario amistoso a un poco de literatura de especias más general se apreciaría.

    
pregunta Jesse

1 respuesta

2

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

ElRds(activado)seveenlíneaconla hoja de datos para esa parte.

LoquedebetenerencuentaescambiarlalíneadeladeclaracióndePMOSaX(porqueesunsubcircuito)yhacercoincidirelnombreconelnombredesubcktdeclaradoenquelib.PresionelateclaCtrlyhagaclicparaaccederalapáginadepropiedadesavanzadasparaelFET:

Estoseexplicaendetalleen enlace

Y si realmente desea importar ese modelo a LTspice para no tener que usar una declaración .include , lo que necesitas hacer es

  1. Copie el ntk3139p.lib mencionado anteriormente en LTspiceIV\lib\sub ; este directorio puede [y contiene] los archivos .lib y .sub .
  2. Cree un ntk3139p.asy en LTspiceIV\lib\sym (o en una de sus subcarpetas, en cuyo caso el componente se mostrará en la categoría correspondiente en el cuadro de diálogo del componente F2 select). Este archivo .asy es inicialmente una copia de pmos.asy que viene con LTspice en este caso. Ahora necesita editar este archivo ntk3139p.asy en un editor de texto o usando LTspice (a través de Edit->Attributes o Ctrl+A ) para que se lea:

Ahorapuedeagregarelnuevocomponente,perocomoestamosusandoXcomotipo,seetiquetaráautomáticamentecomounIC(U)enlugardeMOSFETcomoantes.Peroyanonecesitamosunalínea.incparaquefuncionelasimulación:

Honestamente,esteprocedimientonosueleserunamolestiaparamí...ysireinstalaLTspiceocargasuesquemaenunamáquinadiferente,tienequehacerlotododenuevo,noimportaqueseamenosclaroenelesquemaparaquécomponentesnecesitas[ed]bibliotecasextra.Además,yanopuedecambiarelMOSFEThaciendoclicderechoenélyseleccionandounnuevomodelo.Silointentascontuarchivoasypersonalizado,obtendrás:

Loqueparamíeslapartemásmolesta.AsíquenorecomiendohaceresteprocedimientodeimportaciónparaMOSFETS;Creoquesolovalelapenalamolestiadeloscircuitosintegrados.

Honestamente,noséexactamentequécontenidosestánrestringidosparacontenerlosarchivos.subenLTspice,perolosquevienenconelprogramasontodoslosarchivosbinariosquecontienenmodelospropietariosdeLT,algunosdeloscualestambiénutilizanlasextensionesdeLTcomo estable y así sucesivamente. No creo que el formato binario .sub que usa LTspice esté documentado públicamente en ninguna parte.

    
respondido por el Fizz

Lea otras preguntas en las etiquetas