Hilfe Konvertieren einer PSPICE MOSFET .LIB in eine LTSPICE .SUB

Ich entwerfe einen Buck-Boost-Regler für einen Kurs in der Schule und möchte den OnSemi ntk3139p PMOS-Transistor verwenden. OnSemi stellt ein paar Spice-Modelle für diesen Teil bereit, und ich komme nicht weiter, wenn ich die Pspice-Datei so umwandele, dass sie in LTspice verwendet werden kann. Mir ist klar, dass ich mir etwas anderes aussuchen könnte, aber ich wollte diese Gelegenheit nutzen, um in einige der wesentlichen Gewürze einzutauchen.

Einige der Referenzen, denen ich für Gewürze gefolgt bin, sind:

Die betreffende Pspice-Datei ist unten aufgeführt:

.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

Mein Crack beim Konvertieren ist:

.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

Ich habe einige der Zeilen neu angeordnet, so dass sie einigen der anderen Subcircuit-LTspice-Dateien ähneln, die ich mir zuerst mit der Netzliste und zweitens mit den Modelldefinitionen angesehen habe, und ich habe die Klammern zu den Parametern der Modelldirektiven hinzugefügt. Die meisten Subcircuit-Dateien sind für mich sinnvoll, aber bei einigen Geräten bin ich mir nicht sicher, wie z FI2. Ich denke, dies ist eine stromabhängige Stromquelle, die hier jedoch möglicherweise nicht richtig verwendet wird. Ich bin mir nicht sicher, wo ich hier falsch liege, da der Fehler, den ich in LTspice bekomme, ist

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

Die Art und Weise, wie ich mein NTK3139P.sub implementiere, ist:

  • Ich speichere die Datei NTK3139P.sub inC:\Program Files (x86)\LTC\LTCspiceIV\lib\sub
  • Öffnen Sie LTspice
  • Neues Symbol erstellen
    • Die Pin-Nummern stimmen mit den Definitionen der Unterschaltungen überein
    • In Attributen: Präfix = X, Wert = ntk3139p
    • Gespeichert, wo es von LTSpice gesehen werden kann
  • Starten Sie LTspice neu
  • Erstellen Sie einen supereinfachen Schaltplan, um ihn mit dem FET, einem Widerstand, einer Spannungsquelle und Masse zu testen
  • Führen Sie eine .tran 1Simulation durch
  • Der oben genannte Fehler tritt auf

Jede Hilfe beim Debuggen und / oder Erklärungen, wo ich falsch gelaufen bin, oder ein freundlicher Hinweis auf allgemeinere Gewürzliteratur wäre willkommen!

Hier ist eine wunderbare Benutzergruppe
Wenn Sie einen PC betreiben, sollte der Pfad nicht sein: C:\Program Files(x86)\LTC\LTCspiceIV\lib\sub
EM Fields danke für diesen Link. Ich habe diese Seite vorher nur beschönigt, weil ich ein Yahoo-Konto brauchte, aber ich habe gerade eins erstellt und bin beigetreten, und jetzt trete ich mich selbst dafür, dass ich gewartet habe
Außerdem bin ich auf Linux und laufe in Wein. Ich habe vergessen, den richtigen Windows-Pfad in meinem Beitrag einzugeben. Ich werde das jetzt ändern, da das irreführend sein könnte. Danke

Antworten (1)

Wenn ich diese PSpice-Datei einfach in einer Datei speichere ntk3139p.libund in LTspice importiere, funktioniert alles einwandfrei:

Geben Sie hier die Bildbeschreibung ein

Der Rds (on) entspricht dem Datenblatt für dieses Teil.

Geben Sie hier die Bildbeschreibung ein

Was Sie beachten müssen, ist, die PMOS-Anweisungszeile in X zu ändern (da es sich um einen Subcircuit handelt) und den Namen mit dem in dieser Bibliothek deklarierten Subckt-Namen abzugleichen . Klicken Sie bei gedrückter Strg-Taste, um auf die Seite mit den erweiterten Eigenschaften für den FET zuzugreifen:

Geben Sie hier die Bildbeschreibung ein

Dies wird unter http://www.linear.com/solutions/1083 ausführlich erklärt


Und wenn Sie dieses Modell tatsächlich in LTspice importieren möchten, damit Sie keine Anweisung verwenden müssen .include, müssen Sie Folgendes tun

  1. Kopieren Sie das oben Genannte ntk3139p.libin LTspiceIV\lib\sub; .libdieses Verzeichnis kann sowohl als auch Dateien enthalten [und tut es auch] .sub.
  2. Erstellen Sie ein ntk3139p.asyin LTspiceIV\lib\sym(oder in einem seiner Unterordner, in diesem Fall wird die Komponente in der entsprechenden Kategorie im Dialogfeld "Komponente auswählen" angezeigt F2). Diese .asyDatei ist zunächst eine Kopie pmos.asyder in diesem Fall mit LTspice gelieferten Datei. Jetzt müssen Sie diese ntk3139p.asyDatei entweder in einem Texteditor oder mit LTspice selbst (über Edit->Attributesoder Ctrl+A) bearbeiten, sodass sie lautet:

Geben Sie hier die Bildbeschreibung ein

UJetzt können Sie die neue Komponente hinzufügen, aber da wir X als Typ verwenden, wird sie automatisch als IC ( ) und nicht wie zuvor als MOSFET bezeichnet . Aber wir brauchen keine .incZeile mehr, damit die Simulation funktioniert:

Geben Sie hier die Bildbeschreibung ein

Ehrlich gesagt ist dieses Verfahren für mich normalerweise den Aufwand nicht wert ... und wenn Sie LTspice neu installieren oder Ihren Schaltplan auf einem anderen Computer laden, müssen Sie alles noch einmal wiederholen, egal, dass im Schaltplan weniger klar wird, welche Komponenten Sie verwenden Benötigte zusätzliche Bibliotheken für. Außerdem können Sie den MOSFET nicht mehr ändern, indem Sie mit der rechten Maustaste darauf klicken und ein neues Modell auswählen. Wenn Sie das mit Ihrer benutzerdefinierten asyDatei versuchen, erhalten Sie:

Geben Sie hier die Bildbeschreibung ein

Was für mich der nervigste Teil ist. Ich empfehle daher nicht, dieses Importverfahren für MOSFETS durchzuführen. Ich denke, es lohnt sich nur für ICs.


Ich weiß ehrlich gesagt nicht genau, was die .subDateien in LTspice enthalten dürfen, aber die Dateien, die mit dem Programm geliefert werden, sind alle Binärdateien, die proprietäre Modelle von LT enthalten, von denen einige auch die Erweiterungen von LT wie steady und so weiter verwenden . Ich glaube nicht, dass das .subvon LTspice verwendete Binärformat irgendwo öffentlich dokumentiert ist.