XSpannungsteiler 11 12 14 meinIC
Knoten 1 des Subcircuit verbindet sich mit dem Knoten 11 der aufrufenden Schaltung, Knoten 2 des Subcircuit mit Knoten 12 der Schaltung, Knoten 3 mit Knoten 14.
Ergebnisse retten
Wenn Ngspice später per »-b« im Batchmodus läuft, darf die Eingabedatei das ».SAVE«-Kommando enthalten, das die Ergebnisse (Vektoren) der Simulation in einer Datei speichert. Die Syntax lautet:
.SAVE Vektor1 Vektor2 ...
Die Zeile ».SAVE V(vout) V(vin)« speichert die Spannungen an den Knoten »vout« und »vin«. Den Dateinamen bekommt Ngspice bei seinem Aufruf per »-r« übergeben. Es kann die Ergebnisdatei wieder laden und mit ».PRINT« (als Text) oder ».PLOT« (grafisch) ausgeben. Die Syntax ist für beide identisch:
.PRINT | .PLOT Analysetyp OV1 OV2 OV3 ....
Aus dem Analysetyp kommen die Daten, mögliche Werte sind: »DC«, »AC«, »TRAN«, »NOISE« und »DISTO«. »OVx« behandelt die auszugebenden Größen. So gäbe ».PLOT TRAN V(out) V(vin, vout)« die Spannung am Knoten »vout« und die Spannungsdifferenz »vout-vin« nach der Transientenanalyse grafisch aus.
Eingabedatei erzeugen
Sinnvoller ist es, die Eingabedatei mit dem Tool Gnetlist aus dem Gschem-Schaltplan zu erzeugen. Zunächst sollten Sie den Schaltplan mit
gnetlist -g drc2 opamplifier.sch -o outp.txt
auf Fehler prüfen. Die Ausgabe landet in der Datei »outp.txt«. Finden sich keine Fehler, dürfen Sie die Netzliste mit
gnetlist -g spice-sdb -o opamplifier.cir opamplifier.sch
erzeugen. Der Parameter »-g spice-sdb« veranlasst Gnetlist dazu, die Netzliste »opamplifier.cir« im so genannten erweiterten Spice-Format zu erstellen.
Listing 2 zeigt einen Auszug aus dieser Datei. Zeile 1 ist die Titelzeile. Von Zeile 9 bis Zeile 126 läuft die Schaltungsbeschreibung des LM324 als Subcircuit – eine 1:1-Kopie der Model-Datei. Die eigentliche Beschreibung beginnt ab Zeile 131 mit dem Widerstand R4 zwischen dem Knoten »0« (Masse) und »vout«. Die Zeilen 132 bis 134 beschreiben die drei anderen Widerstände, die Zeilen 136 bis 140 die Kondensatoren und die Spannungsquellen der Schaltung.
|
Listing 2: Netzliste der |
|---|
001 My first circuit
002 * gnetlist -g spice-sdb -o opamplifier.cir opamplifier.sch
003 *******************************************
004 * Spice file generated by gnetlist *
005 * spice-sdb version 12.27.2005 by SDB - *
006 * provides advanced spice netlisting *
007 * capability. Documentation at http://www.brorson.com/gEDA/SPICE/ *
008 *******************************************
009 * Included SPICE model from model/LM324.MOD
[Kopie der LM324-Modeldatei]
127 *$
128 *^^^ End of included SPICE model from model/LM324.MOD ^^^
129 *
130 *=== Begin SPICE netlist of main design ===
131 R4 0 vout 10k
132 R3 vopout vopn 1k
133 R2 0 vopn 1k
134 R1 0 vopp 10k
135 X1 vopp vopn Vcc -Vcc vopout LM324/NS
136 C2 vopout vout 100n
137 Vvcc Vcc 0 DC 5V
138 C1 vin vopp 200n
139 Vvin vin 0 sin 0 2.3 1k
140 Vnvcc -Vcc 0 DC -5V
141 .END
|
Das Einbinden dieses Subcircuit geschieht in Zeile 135. »X1« steht für den Aufruf. Wenn Sie einen zweiten LM324 in der Schaltung hätten, hieße er »X2«. Die in Zeile 135 folgenden Parameter verbinden die in der Schaltung definierten Knoten mit denen des Subcircuit.
Einschwinganalyse
Was nun fehlt, sind die Simulationsbefehle. Primär ist eine Analyse der Knotenspannungen im Zeitbereich interessant, die so genannte Einschwing- oder Transientenanalyse. Die Syntax lautet:





