Aus Linux-Magazin 12/2006

Workshop: Schaltungssimulation mit der GPL'd Suite of Electronic Design Automation (Seite 5)

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
Beispielschaltung

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:

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Comments
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben