Altium Spice Simulation - Eigene Modelle laden
In Altium Spice können zwei Dateitypen eingebunden werden um Schaltbilder simulieren zu können: *.mdl und *.ckt. Beides sind ASCII Bibliotheken, die mit einem Texteditor bearbeitet werden können. *.mdl (model definition) Dateien beschreiben die Parameter eines einzelnen Modells, während *.ckt (subcircuit-File) Dateien Funktionen aus Modellgruppen gebildet darstellen. Die Informationen, welche Funktionen mit einem Bauelement bei der Simulation abgearbeitet werden sollen, werden von Altium bei der Simulation in einer Textdatei zusammengefasst. Die einzelnen Modelldaten finden sich in diesem Listing wieder.
Parameter Model
Im Altium Spice Circuit Simulator sind die Spice-Modelle für folgende analogen Komponente-Typen implementiert:
Widerstände, Kondensatoren, Spulen, gekoppelte Spulen, selbständige Spannungs- und Stromquellen, abhängige Quellen, verlustlose und verlustbehaftete Transmissionsleitungen,
und die gebräuchlichsten Halbleiter-Arten Diode, bipolarer Transistor (BJT), J- und MOS-FET.
Die Verhaltensweisen einer weiten Zahl von spezifischen Typen dieser Halbleiter-Arten sind dann in den Modell-Dateien mit der Erweiterung *.mdl enthalten.
Über Capacitator(semiconductor) beispielsweise für einen Kondensator mit Temperatur Koeffizienten.
Die einzelnen unterstützten Variablen im Model File sind im Skript TR0113 Seite 34 beschrieben.
Die zusätzlichen Variablen für PSpice sind dann im gleichen Skript TR0113 ab Seite 36 beschrieben, ebenso wie die Beschreibung zu Komponenten.
Das Pin Mapping bei *.mdl Parameter Modellen geschieht automatisch, wenn bei den Altium Schematic Symbolen für die Pins gleiche Funktionsnamen vergeben wurden:
Diode 1(A) 2(K)
Transistor 1(B) 2(C) 3(E)
Bei Transistoren muss das Model Sub-Kind gewählt werden:
BJT Bipolar Transistor
MosFET Metaloxid FET
JFET Junction FET
IGBT müssen über subcircuit Modelle (*.ckt) erstellt werden. Keine *.mdl Modelle.
Custom Model
Die Beschreibungen komplexerer Bauteile wie OpAmps, Spannungsregulatoren, Timer, auch Schwingquarze usw.,
welche der hierarchischen subcircuit-Syntax von SPICE folgen, erfolgt in in einer subcircuit-Datei mit der Erweiterung .ckt.
Eine Subschaltung besteht aus SPICE-Elementen, die in einer ähnlichen Weise wie die Modelle definiert sind.
Die Größe oder Komplexität einer Subschaltung ist nicht begrenzt und eine Subschaltung kann weitere Subschaltungen aufrufen.
Eine Subschaltung wird meist ebenfalls als 'Modell' benannt, was Verwirrungspotential bei der Abgrenzung zur Bezeichnung des Widerstands-Models "R" hat.
Model Name, File Name und der im Model benannte Model Name müssen bei einer Subschaltung in Altium gleich sein!
Pin Mapping bei *.mdl Parameter Modellen MANUELL vornehmen.
Für Subelemente mit gleicher Funktion (doppel OP, Logikgatter) wird nur ein Modell geladen und die Pins entsprechend mehrfach vergeben. Part1 / Part2 ect.
Die Spannungsversorgungsanschlüsse werden dabei in ein eigenes SubCircuit "Power Element" gezeichnet und bei diesem der Haken bei "Exclude part form simulation" gesetzt.
Dadurch wird die hier angeschlossene Spannung allen Elementen zugeordnet.
SPICE Prefixes
Device Type (SPICE Prefix) Beschreibung:
(A) ZENER SimCode Zener Diode
SIMCODE Digital SimCode Device
(B) NLDS Non-linear Dependent Source
(C) CAP Capacitor
SEMICAP Semiconductor Capacitor
(D) DIODE Diode
(E) VCVS Voltage Controlled Voltage Source
(F) CCCS Current Controlled Current Source
(G) VCCS Voltage Controlled Current Source
(H) CCVS Current Controlled Voltage Source
(I) IPULSE Pulse Current Source
IPWL Piecewise Linear Current Source
ISFFM Single Frequency FM Current Source
ISIN Sinusoidal Current Source
ISRC DC Current Source
(J) NJFET N-channel JFET
PJFET P-channel JFET
(K) MUTUALINDUCTANCE Mutual Inductor Coupling
(L) INDUCTOR Inductor
(M) NEMOS N-channel Enhancement MOSFET
NDMOS N-channel Depletion MOSFET
PDMOS P-channel Depletion MOSFET
PEMOS P-channel Enhancement MOSFET
(O) LTRA Lossy Transmission Line
(Q) PNP Bipolar Junction Transistor
NPN Bipolar Junction Transistor
(R) RES Resistor
POT Variable Resistor or Potentiometer
SEMIRES Semiconductor Resistor
(S) VCSW Voltage Controlled Switch
(T) TRA Lossless Transmission Line
(U) UDRC Uniformly Distributed RC Line (Lossy)
(V) VPULSE Pulse Voltage Source
VPWL Piecewise-linear Voltage Source
VSFFM Single Frequency FM Voltage Source
VSIN Sinusoidal Voltage Source
VSRC DC Voltage Source
(W) CCS Current Controlled Switch
(X) SUBCKT Subcircuit
(Z) PMESFET P-channel MESFET
NMESFET N-channel MESFET
Ein Subcircuit über Ersatzschaltbild
Aus mehreren einzelnen Schaltbildelementen kann schnell ein neues simulationsfähiges Symbol erstellt werden.
Als Beispiel dient einen Spannungsteiler mit zwei 1K Widerständen.
Aus diesem Schaltbild wird die Netzliste erstellt, und aus die Zeilen von *Schematic Netlist in einen Text Editor kopiert:
R1 MID TOP 1K
R2 0 MID 1K
Hier wird die Spice Massenbezeichnung "0" mit allgemeinen Namen ersetzt:
R1 MID TOP 1K
R2 BASE MID 1K
Dann noch die Start und End Zeile ergänzt:
.SUBCKT Spannungsteiler TOP MID BASE
R1 MID TOP 1K
R2 BASE MID 1K
.ENDS
Anschließend kann daraus die neue Komponente POTI mit der Möglichkeit die Schleiferstellung vorzugeben als SubCircuit erstellt werden.
.SUBCKT POTI TOP MID BASE PARAMS: Value=2K Wiper=0.5
R1 MID TOP {(Value - (Value * Wiper))}
R2 BASE MID {(Value * Wiper)}
.ENDS
Datei unter einem Dateinamen *.sub abspeichern.
Die Variablen "Value" und "Wiper" können im Schaltbild sichtbar geschaltet werden, dann sind sie im Schaltbild direkt änderbar.
Die Eingaben im Schaltbild überschreiben dabei die Angaben im Modell.
Zuvor muss aber noch ein Schaltbildsymbol mit dem den Parametern "Wiper" und "Value" erstellt werden.
Die Anschlüsse "TOP", "MID" und "BASE" mit dem SubCircuit verlinken und fertig.
Die Variablen "Value" und "Wiper" können im Schaltbild sichtbar geschaltet werden, dann sind sie im Schaltbild direkt änderbar.
Die Eingaben im Schaltbild überschreiben dabei die Angaben im Modell.